Compatibility for Form Renderer 3.4. and later
Form renderer v3.4 keeps full backwards compatibility for forms that were made using Studio v3.3 or lower.
Since v3.4 introduced a new way of composing logical expressions, forms built with it (or any later version) will work in a limited scope with form renderer versions lower than 3.4:
1. Cases compatibility
Only the first and last case in a single expression are going to be used: The last case is going to always run if the first case is negative, even if it has a condition.
Example:
An expression
When | If | Then |
---|---|---|
Default events | Field 1 is not empty | Field 2 show |
Field 1 is hidden | Field 2 hide | |
Field 1 contains Test | Field 3 set Field 1 |
will translate to a pre 3.4 dependency of:
When |
---|
Field 1 is not empty |
Then |
---|
Field 2 Show |
Otherwise |
---|
Field 3 set Field 1 |
The dependency is going to run on the pre 3.4 version however, the behavior of these two can be radically different in such cases.
2. Events compatibility
Default events will always be used, meaning the interactions will always run on form load and when any case field changes regardless of custom events being used.
Example
In 3.4 and later this dependency will run only when field 2 value changes.
When | If | Then |
---|---|---|
Field 2 value changes | Field 1 is not empty and Field 2 is not empty | Field 3 set Field 1 + Field 2 |
however, it will translate to a dependency which will run
- when a form is loaded
- when either of the fields in the when clause changes
When |
---|
Field 1 is not empty and Field 2 is not empty |
Then |
---|
Field 3 set Field 1 + Field 2 |
Keeping both case and events compatibility in mind it is possible to ensure consistency if older form renderer is used, however we advise upgrading to the newest version of form renderer as soon as possible to take advantage of the newest features.