Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

When CommcareODK CommCare Android 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 an older incomplete form on the device becomes out of sync with the model being used by the phoneAndroid device is no longer compatible with the updated version of the form in the application.

For example, the old version of the form might have a multi-select with options Boston, New York, and Washington. User 1 fills out multiple choice question with choices: "Boston", "New York", and "Washington". The mobile user opens 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 . The option "Washington" is removed and changed to "Philadelphia". User 1The mobile user's device then updates to this new version, either through an auto-update or a manual update.

Now when User 1 the mobile user tries to open the incomplete form, CommCare will attempt to load the finished values into its current model; "Washington" as the answer, however, "Washington" is no longer a valid answer to the question. This causes the device to crash.

The solution in this situation is:

  1. Temporarily unstar the new version on HQ
  2. 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)Find an older version of the application in the release manager which is compatible with their older form
  3. "Revert" to that and make a new version. Now the latest version will be compatible with the older form
  4. Temporarily "star" that version
  5. On the device, click "Update Commcare" in the settings menuThis should update the device to the older version of your application.
  6. Now you can complete Complete the incomplete forms on the device and submit them to the server
  7. Once all the incompatible incomplete forms are submitted, revert to the version that should be the latest currently deployed version.
  8. you can re-star the newest build and update to this one again.

Note that this will cause all of your phones with remote update enabled to update. 

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.