# How to scope all variables in Manipulate (to upload Demonstration)? [duplicate]

I'm using the Manipulate structure of the simplified form below in order to make Wolfram Demonstration.

Manipulate[
b = a;
b
,
{a, 0, 1},
Dynamic[b],
TrackedSymbols :> True]


Problem: I get an error message while trying to upload it and suspect that the problem is of the following type (see Author Guidelines - Troubleshooting):

If controls update other panels, there are likely non-localized variables. Try Module.

It means that I cannot set Thumbnail and Screenshots independently - a control of any panel updates all the other Dynamic[b] parts. Need some help.

Addenum: Answer. If you use Wolfram Demonstrations, it is recommended to aviod such Dynamicconstructions. Possible workaround is to use None construct. Note that you should edit AutorunSequencing if you want Autorun in your Demonstration.

Manipulate[b = a;
b,
{a, 0, 1},
{b, None},
Dynamic[b],
AutorunSequencing -> {1},
TrackedSymbols :> True]


There is also possible issue with None in more general case.

## marked as duplicate by Kuba♦, m_goldberg, Karsten 7., C. E., dr.blochwaveOct 3 '15 at 9:52

• @Kuba, when you upload a demonstration, you have to fill the sample (i.e. copy Manupulate structure four times). Each copy should be independent. But it does not, if one uses Dynamic in the code. – garej Oct 2 '15 at 13:18
• oh I see, try Manipulate[b = a; b, {a, 0, 1}, {b, None}, Dynamic[b], TrackedSymbols :> True], only variables that are controlled are scoped. – Kuba Oct 2 '15 at 13:23
• Manipulate generates DynamicModule but it scopes only those variables which are given in controllers part of manipulate, {var, *spec*}, so None is just a trick to make it visible for this procedure but to not create any controllers – Kuba Oct 2 '15 at 14:30