Note: This was originally posted by an inactive account. Content was preserved by moving under an admin account.
Originally posted by: Tim MeagherHi,
You need to have a parameter with that runtime property name defined on the node where you are using the "property" function.
You can, however, have the value of the parameter come from a graph level, or composite level parameter.
Essentially, all the normal rules parameter inheritance and composition and textual substitution apply when accessing the property values.
However, in order to access the value for a parameter with a corresponding runtime property name, the runtime property name must be defined on the node where you are using the "property" function, or on a node that it inherits from - not from a graph level parameter or from a composite node that contains your node.
For instance, consider the case where you want to access the value for a parameter MyParam on a node "N".
You would declare the parameter "MyParam" on the node itself, and then could give it a runtime property name of "prop.myParam".
Then, within the node code, you can access the parameter value using:
property("prop.myParam")
However, you don't need to set the actual value of MyParam on that node.
You could declare a graph-level parameter "MyParam", and have its value set to "ParamValue".
Then, in node "N", property("prop.myParam") would evaluate to "ParamValue".
Similarly, you could declare a graph-level parameter "MyGraphParam" and have its value set to "ParamValue".
Then in node "N", you could set the value of MyParam to {{^MyGraphParam^}} - and on node "N", property("prop.myParam") would still evaluate to "ParamValue".
Hope this helps,
Tim.