[ODK-X] How to manage the versioning of the forms with ODK-X Sync Endpoint


To prepare an engine, we plan to use several forms with ODK2 (work mostly done) with the data sent to our ODK2 Sync Endpoint instance. Then, we will extract the data to feed an other database.
We will probably have to manage several versions of the forms (corrections, improvements). How to manage that with the ODK2 Sync Endpoint without removing the content of the Sync Endpoint database ?
(make a new form with a new name each time ?)



Hi @karim_bernardet!

You should create a new form with a new name each time; the tools do not allow for changing the underlying database/tables structure mid-fielding. You can use pre-loading to re-load the data you already collected into the new form, though, which can achieve a similar updating effect.

Hey @elmps2018, and is there a way to create a new form then upload to the server without resetting the app server?

1 Like

Like for instance I have 5 forms in the server, so I add an extra form and push to the server . Is there a way i can upload these forms without resetting the app server

1 Like

@James_Nyanga You might be able to add a form using Suitcase to push the files, but I would not be 100% sure how it would work out (you can try and see, but I would not suggest trying and seeing on a server with forms that are actively fielding!)

Thanks, how about if i add a new variable to an existing form on the server and push, is there a better way to do it apart from resetting the server then push?

The workflow is really not meant to allow for changes in forms during fielding, because you can end up with all sorts of data problems. You can download the data from the server, preload it to make sure it all works, and reset the server so the existing data goes back up.