If you are adding fields to your survey or changing the data type of a field (e.g., from string to number, from select-one to select-many), you cannot just 'update the form' -- the structure of the collected data has changed. You must use a new form_id. The software detects that there was a change and rejects the attempted change. This is because the database tables have been created for the original form, and it would require changing those data tables to support the new form, and, it is unclear whether this is your intention or an accident or error on your part.
Also, if you have changed one field so dramatically, this often means that during data analysis, you need to interpret the answers to your survey differently, so we keep them separately.
When you change forms like this, we want it to be very clear that you need to explicitly merge the data sets in whatever way is makes sense for your data.
If you do need to combine two or more forms into a single data set, one way to do this is to publish the forms into Fusion Tables then create a VIEW in fusion tables that combines the data from the two forms into one consolidated data set.
If, however, you have a form, and you are just adding alternate translations, correcting typos, updating images, or rewording questions, you can update that form by adding a version attribute to the XML by specifying a value in the version column on the settings sheet in the XLS file.
The version value is recommended to be of this format:
where VV is a version number 01-99.
ODK Aggregate will compare version strings and only allow you to update a form if the update has a version string that is lexically greater than the previous version (the version string is a string, not a number).
On Mon, Apr 28, 2014 at 3:10 AM, Bunhann Thou bun...@gmail.com wrote:
Dear ODK Developer,
Currently, I'm looking to find the way to update the ODK form in ODK Aggregate and ODK Collect without add more form to ODK Aggregate. I mean, It just update the old form and keep all data in the server. I don't want to have new form in server or ODK collect.
Would you mind to give some idea for me?
You received this message because you are subscribed to the Google Groups "ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firstname.lastname@example.org.
For more options, visit https://groups.google.com/d/optout.
University of Washington
When a form's version is incremented in Aggregate as you describe, is there some way for Collect to automatically detect that the form has been updated?
For example, when the Collect user next lists the forms available on the server it would identify those forms which it has previously downloaded but which are now superseded as they have been updated on the server.