iFormBuilder Announcements
Table of Contents
- Overview of Logic Engine Changes (Mobile Clients)
- What changes were implemented that affected previous behavior?
- Why did we make these changes?
- What problematic behavior did we introduce?
- What are we doing about it?
- Why are we reverting these changes?
- When is this happening?
- What if I have a White Label?
Overview of Logic Engine Changes (Mobile Clients)
Over the past few months, we have made some changes to the way the app behaves in an effort to create a better experience and more predictability when using forms. In that effort, we affected form behavior and are reverting the code back within the core of the app to behave consistently as it did before. Below are the details of what changes were made and will now be reverted.
What changes were implemented that affected previous behavior?
- iOS 8.35: Added the ability to clear the following elements using JavaScript. (Pick List, Select, AssignTo, Date, Date-Time, Time, Image, Drawing, Smart Table Search text fields)
- iOS 8.33: Smart Table Search: If an incorrect selection is made, the populated lookup fields will be emptied.
- Android 8.11: Added the ability to clear the following elements using JavaScript. (Pick List, Select, AssignTo, Date, Date-Time, Time, Image, Drawing, Smart Table Search text fields)
- Android 8.10: Fixed an issue where deselecting an option in a Pick List, Select, Assign-To and Smart Table, wasn't retained when saving a record.
- Android 8.7: Smart Table Search: If an incorrect selection is made, the populated lookup fields will now be emptied.
Why did we make these changes?
Previously, data was not cleared consistently even though it may have appeared to be cleared visually on the device resulting in possible incorrect data.
What problematic behavior did we introduce?
Below is one scenario where this behavior can occur (video included). PLEASE NOTE: This is not the only scenario in which you could have seen this behavior. Depending on the set-up of your forms, you could be affected if using -1 or nulling out elements.
Scenario 1: Users utilize {-1} in the Dynamic Value of Pick List or Select elements and have some condition value dependent on another field.
For example, a Pick List element with a Dynamic Value of -1 and a Condition Value of element=="yes".
- The user opens up the form and selects an option for the Pick List element.
- The user saves the form as a draft. (PLEASE NOTE: If the record is never in a saved state, this scenario will not occur.)
- In this example, the user changes text_element to “no”. (PLEASE NOTE: Any change to the condition value will cause the JavaScript to re-execute.)
- The element will hide and visually appear to clear out the data selected in the picklist element, but data is retained when submitted to the server.
Introduced Behavior (post Android 8.7 and iOS 8.33): When the condition value is changed, the JavaScript is re-executed and the element is hidden (or vice versa) and the value previously entered is NOT retained.
Behavior after reverting changes (Android 8.12 and iOS 8.36): When the condition value is changed, the JavaScript is re-executed and the element is hidden (or vice versa) but the value previously entered IS retained and submitted to the server.
This can also occur under the following scenarios based upon your form setup:
- Opening a Draft Record
- Opening an Assigned Record
- Upon Javascript execution where elements contain -1 or null in the Dynamic Value
What are we doing about it?
We will be reverting these changes so forms will behave as they did before these updates.
Why are we reverting these changes?
The changes we made, although improvements when building new forms, resulted in behavior that wasn’t consistent with what users expected in previously built forms. Going forward, when deploying new updates, we will strive to not change any existing form behavior.
When is this happening?
This will be happening in the first week of November 2019. Please follow the iOS and Android Release Notes to stay up to date with when these updates will be available.
What if I have a White Label?
For those with White Labels, we will be sending builds out to you in the next few days (week of November 4, 2019).
Comments
0 comments
Please sign in to leave a comment.