When CommcareODK users are storing incomplete forms on their devices and update to a newer version of the application a situation can arise where the data stored on the device becomes out of sync with the model being used by the phone.
For example, the old version of the form might have a multi-select with options Boston, New York, and Washington. User 1 fills out this form and selects "Washington" as the answer, but then exits the form and saves it as incomplete.
Later, a new version of the application is deployed and starred on HQ where the option Washington is removed and changed to Philadelphia. User 1's device then updates to this new version, either through an auto-update or a manual update.
Now when User 1 tries to open the incomplete form CommCare will attempt to load the finished values into its current model; however, "Washington" is no longer a valid answer to the question. This causes the device to crash.
The solution in this situation is:
- Temporarily unstar the new version on HQ
- Star the most recent version that still has the old "correct" model (in our example, still has Boston, New York, and Washington as answers to the multi-select)
- On the device, click "Update Commcare" in the settings menu
- This should update the device to the older version of your application
- Now you can complete the forms on the device and submit them to the server
- Once all the incomplete forms are submitted, you can re-star the newest build and update to this one again
Users should be encouraged not to keep forms Incomplete for long periods of time. If they need to return to the form to complete it at a later date,you should add a separate form for the follow-up visit.