Aggregate 2.0.2 possibly 2.0.3 not supporting form versions (which work in 1.7.X)

Take any ODK Form. Set a Version string like "20190506". Upload the form to Aggregate. Edit the form/form.xml and increment the version number say "20190507". Try and upload the form. Aggregate fails with the message "Form Already Exists for this Namespace/Id attribute". Carry out the exact same procedure with Aggregate 1.7.X and it works correctly (as documented)

Tested on AWS using Tomcat 8 and Aggregate 2.0.2 (FAILED). Tested on same machine with 1.7.0 (SUCCEEDED). I have not tested on 2.0.3 yet but given the release notes suspect that the error will be present there too.

@lowly,

ODK forms have a version ID and form ID, would you be confusing the two? Two forms can't have the same form ID.

Paul

Hi Paul,

I am not trying to upload two forms with the same form id. I am actually trying to update an already existing form (see
https://docs.opendatakit.org/form-update/#making-changes-to-existing-form )

My understanding is that when updating a form, you use the same filename, same form_id but different versions. This is what is working in 1.7.X but not in 2.0.2.

So here in my test case I am using the same xml file, just editing the version number to see if Aggregate will accept the updated file

Thanks for reporting this, @lowly. I'm investigating it.

Hi @lowly!

I can't reproduce this issue. Here are the two forms I've uploaded (it's the same form, with two different versions):

I've used the sandbox to test this, which is running v2.0.2. You can remove the "Simple form" form and try it yourself.

I think what's wrong is that your versions are not following the correct pattern of "yyyymmddrr" (year, month, day, two digit revision). It must have 10 digits in total and you could even use "0000000001" if you want (the date parts aren't parsed).

The documentation says "upto 10 digits" and only requires that they be numerically increasing. Would you mind trying the specific example dates I used so that we can see if it's a problem at my end or if it really is that only 10 digits can be used in which case the documentation should be updated.

I just tried simple_form with 8 digit numbers and they worked correctly. I will go back and try this with my test form to see if there is any difference

1 Like