When I set up a value in PARAMS as an input to accept a parameter when opening a view, It disappears when I save and close the designer and re-open it. Only if I set it to persistent will it stay.
This sounds like expected functionality, when a property is not Persistent then it will not appear in the designer until a binding or some external force acts on the property. It’s explained a bit better in the manual https://docs.inductiveautomation.com/display/DOC80/Perspective+Component+Properties
By default params should be persistent which should prevent this from happening.
How do I make the values of the param not persistent while keeping the param persistent?
There’s a bit of confusion here as to what you’re asking, so I’m going to attempt to answer your question and if you find this isn’t enough you might need to provide some more clarification on what you are trying to do and how the current param is failing to meet your needs.
Declared/defined/configured parameters must always have a value. This value can be whatever you want, including
null or an empty string, but they have to have some sort of value which is considered a default or fallback value.
When your View is constructed in a session, if these params are not provided by whatever mechanism is constructing the View, then these default values will be used. If the mechanism provides param values for your params, then the default values will not be used, and the supplied values will be used instead.
So you are not able to make a param value “non-persistent” because a “rule” of Perspective (and I think Vision as well) is that every property must have a value, even if that value is
null, but you are able to override the param value with whatever mechanism you’re using to display the View (Embedded View, Flex Repeater, View Canvas, View Navigation) by supplying param values.
If you’re asking why toggling the “Persistent” checkbox is resulting in your params disappearing, then you must understand that making some property non-persistent is essentially a way of telling the Designer “I need this property for now, but when I save the project do NOT save this property”.
So Properties which are NOT Persistent are NOT saved when you save the project, and so will disappear once the View in question is closed.
Please do not confuse Designer property “Persistence”, with property value retention.
In the designer I have put in values to some of my params to use for testing purposes but I do not want those values that I plug in there to be saved. I would like to set the default to x and then be able to use y in the designer for testing and then have it return to the default once I leave the designer, and not have y ever saved in the project.
Essentially I keep forgetting to return those params to the default value and it is irritating.
Ah, I see. There is no way to tell the Designer that you do not want changes to values saved. As you’ve specified that the changes you are making are for testing, then you should be using a session to test different values, not the Designer. Changes made in the Designer - whether to properties or resources - are an all-or-nothing collection when it comes to saving; your options are either to save everything you have done or revert any changes you have made since the last save.
I understand. Sometimes it’s just quicker/easier to punch a value in for testing. Although that doesn’t hold if you forget about it.
FYI, the manual you linked to and the designer pop-up explain that values only are affected by the persistent preference
Persistent : States that the value set on the property should be saved, and loaded when the view first opens. This effectively allows you to determine the initial value on a property when the view opens. While the property is enabled by default, bindings on a property will always execute after the view opens, potentially overriding the persistent value. When persistence is turned off on a property, a Persistent icon is displayed in the Property Editor.
The value of this property will not be saved with the view