Re: External packages, Manipulate, and MathPlayer
- To: mathgroup at smc.vnet.net
- Subject: [mg92340] Re: External packages, Manipulate, and MathPlayer
- From: Jeff Bryant <jmbryant12 at comcast.net>
- Date: Sat, 27 Sep 2008 22:23:44 -0400 (EDT)
- References: <g9qipl$4hv$1@smc.vnet.net> <200809060606.CAA19715@smc.vnet.net> <FC0D8812-2AB3-473D-A606-49DAAC521720@lemma.ca> <200809240732.DAA13678@smc.vnet.net> <gbjm9m$39p$1@smc.vnet.net>
Yes, but you shouldn't use both SaveDefinitions and Initialization, the reasons are subtle. The reason is that SaveDefinitions "slurps" in all necessary definitions and stores the results in the output via the Initialization option (unformat the output to see this). This means, with packages, you manage to get things like *`Private`* which don't play nice with the security system on the upload server which doesn't trust such things. Also SaveDefinitions may not be able to slurp in all necessary definitions if the package uses things like ReadProtect, etc. By using the Initialization option only, you are only storing the Needs/Get input command and not the results and so there is no problem with hidden contexts and the security system. These package loading commands get loaded at run time and aren't pre-evaluated. In short, when using standard add-on packages, manually populate the Initialization option and avoid SaveDefinitions. -Jeff Bryant Wolfram Research, Inc. Mitch Murphy wrote: > for future reference to others, here's the punchline: you need to load > standard packages using the Initialization option of Manipulate. > > Manipulate[ > Regress[Table[{x, 2 + b x + Random[]}, {x, 100}], {1, x}, x], > {b, 1, 9, .1}, SaveDefinitions -> True, > Initialization :> Needs@"LinearRegression`" > ] > > note that only standard packages (BarCharts, LinearRegression, ...) > are available for nbp files intended for the mathematica player. > > also, the option is given using ":>", not "->". > > cheers, > Mitch > > > On Sep 24, 2008, at 03:32, Jeff Bryant wrote: > >> The following should be useful. Near the end, there is an advanced >> section that deals with this topic. >> >> http://library.wolfram.com/infocenter/Conferences/7138/ >> >> Hope this helps. >> -Jeff Bryant >> Wolfram Research, Inc. >> >> Mitch Murphy wrote: >>> On Sep 06, 2008, at 02:06, Jeff Bryant wrote: >>> >>>> I'm not sure from your message exactly what form your authoring >>>> notebook is in, but some elements of your message seem suspect. >>>> >>>> 1) Packages require special attention in Demonstrations. >>>> >>> please provide details. i couldn't find documentation for this >>> topic on >>> wolfram website. >>> >>> >>> >>>> 2) All code, except that which ships with Mathematica, must reside >>>> in >>>> the author notebook itself. You can't use Get or Needs on a third >>>> party >>>> package (the user may not have this package). >>>> >>> >>> that's a reasonable restriction, but we should be able to use >>> standard >>> packages somewhat transparently. >>> >>> right now, i'm trying to figure out how to use the LinearRegression >>> package with an nbp file. >>> >>> cheers, >>> Mitch >>> >>> > >
- References:
- Re: External packages, Manipulate, and MathPlayer
- From: Jeff Bryant <jmbryant12@comcast.net>
- Re: Re: External packages, Manipulate, and MathPlayer
- From: Jeff Bryant <jmbryant12@comcast.net>
- Re: External packages, Manipulate, and MathPlayer