The most awaited functionality in v2025.2 will be editing finalized or sent submissions that are still on device. We have started this implementation and will share a beta as soon as it's ready to try! For now, read on for a few other nice improvements we'd love your feedback on.
Why we do betas
ODK Collect betas are an opportunity to get community feedback on upcoming releases. If you have an ongoing data collection campaign, we recommend quickly verifying your form on a test device. We will keep sharing new betas as we respond to your feedback and will let you know when the beta is a release candidate.
Joining the beta program
To join the beta program, find ODK Collect in the Play Store on your device (not in the web browser) and scroll all the way down. Please don't join the beta with a device or account actively used for data collection! In particular, note that joining the beta is account-based. If you use the same Google account across multiple devices, do not join the beta with that account.
Leaving the beta program
You can leave the beta program from the bottom of the Play Store listing at any time. Once you leave, you will get the next production update when it is released. If you need to go back to the previous production release, uninstall and reinstall the app. Please make sure to back up or submit any important data.
What to check in this release
Edit finalized or sent forms. Starting in beta 2, you can try the basic edit functionality using a form like client_editable.xml (846 Bytes). See comments below for more details.
Configuration from MDM. You can now use Mobile Device Management software to configure Collect. When you go to the application configuration section of your software, you should see a "Settings JSON" field. Specify settings JSON as described in the documentation. TinyMDM is shown in the screen capture above and in the last Insiders call.
Android 15 support. We had to make a number of user interface updates to satisfy new Android requirements. Please let us know if anything looks wrong, especially if you use Android 15.
Selected form language remembered after form update. Previously, the form language was reset after each update.
Entities deleted from server are also deleted in Collect when using Central v2025.1.0 (coming soon). Please let us know if you experience any unexpected behavior with Entities.
Additional testing
You can find a full list of changes in the release notes:
We’ve released a new beta with functionality that allows edits to finalized or sent submissions on the device Edits on device are off by default and configurable in form design.
We still have a lot of work to do! Here are some additions we have planned before release:
Change the end of form message to indicate that the submission will still be editable
Only allow edits to the last edit in a chain
Identify related edits in the form listings
Show a helpful error message when the submission is edited on the server and an attempt to edit in Collect is made
Better handle the case where drafts are disabled in settings
You can now try out the basic functionality by modifying the form XML. You can use client_editable.xml (846 Bytes) or you can edit any existing form and add <submission odk:client-editable="true"/> directly inside the model block. To get form XML for any existing form, you can use the "Form definition" dropdown in Central. Download and open the simple example linked above to see the full structure.
This should now let you edit submissions of that form only and see the edits tracked in Central.
This functionality will soon be available from the XLSForm settings sheet. Read more in the spec design thread.
On the next Insiders call, May 7th, we will demo how it works, discuss how it might fit into different workflows, and answer Insiders' questions.
Good progress there. I am eager to try this new feature. Just a confirmation, at this stage, when a sent or finalized form is edited, does it load with the latest form definition or just the previous one which was used during the data entry? I am eager to know how the saved forms with previous versions also behave when edited.
That's a great question and an important thing for us to make explicit! It uses the form definition that was used during data entry. We are planning to eventually add a separate feature which makes it possible to, when a filled form is open for editing, switch to the latest form definition. That would apply to both drafts and finalized/sent form edits.
There's a related question about what happens when a form definition first allowed edits and then is changed to no longer allow them. I believe that currently existing submissions on device could still be edited but new ones could not. I think the likely expected/desired behavior would be that submissions for that form can no longer be edited. We'll make sure to explore that case in detail and bring our conclusions back out for discussion.