I'm using ODK Collect (version 1.29.5) together with Kobotoolbox. I have a form with a pulldata csv attached (which works when filling in a form).
However, when I do a "Get Blank Form", I always have the message "This is an update to a form you have" for this particular form. Even when no changes were made.
When I do a "get selected" it gives me a message that the form was successfully downloaded. When I go back to "Get Blank Form", it still shows "This is an update ..."
I have heard from some enumerators that the form sometimes has disappeared from the "Fill Blank Form". Then a "Get Blank Form" needs to be done to make it appear again.
When I have a form where I do not use the pulldata functionality, I don't have this issue.
Again, when I fill in the form, the pulldata functionality works as expected.
I have downgraded ODK Collect to v1.28.4 (using the old storage structure on the phone: the odk-folder in root), unfortunately the issue still persists.
is the issue only about the message that should not be visible and you can confirm that you have the newest form version downloaded or maybe you are trying to download the newest version but it doesn't work?
Hi @Grzesiek2010 . The issue is that apparently the app thinks there is a new version; which is not the case. We had on the enumerator phones the "automatic download" enabled, which caused some problems in the background. We've now disabled that function. But that is more a work-around.
To test the situation I've done the following:
upload formfile (for the pulldata)
deploy the form again
Download form on the ODK collect app with Get Blank Form
Test if the form works (including the pulldata feature) > works
Go to Get Blank Form >> "This is an update to the form you have"
So, the download of the form worked. I did not change the form since then; but I do get the update message.
Hi @Grzesiek2010 . Sorry for not responding sooner, was occupied with other work.... I have installed the same form on two different Kobo Toolbox instances, with the same issue. How can I best DM you regarding access to the project?
As a result if you open the list of forms in Collect:
We download the list of available forms from the server.
We take the first form and check if it is already downloaded (in your case it is).
We check the xml form itself (comparing md5 hasesh) to check if something changed and display a message if needed (in this case it is not needed).
We check media files because maybe one of them is updated. To do that we try to find media files on the device that were saved for a form with id ah35oLbJmTDXusDZUyeuGN and version null (because it is not specified as I said above)
We can't find any media files for that pair of values because as I said above your form has its version and media files are on the device but for id ah35oLbJmTDXusDZUyeuGN and version vi28muQVoL2YRpBmr5wP4J (not for null). For ODK Collect it means there are no media files already downloaded so we display a message that it is an updated version of the form.
Thank you for the clear explanation.
Let me try to repeat to check if I understood it correctly:
The check for a new version of a form is done by checking the value in the element.
The check for a new version of the media files is done by checking the value in the element.
Since the version-element is left empty, there will always be a difference in the version; and therefore Collect assumes this is a newer version.
Am I correct in assuming the version check on media files has been added since version 1.28 of the Collect app?
I will contact the Kobo dev team about this hope they are able to fix this on their end....
Yes I think you understand correctly.
The reason why it wasn't a problem in 1.27 is that probably in the past we would ignore the version number and compare forms using only form id what was bad because you can have multiple (downloaded) forms with the same id but different versions. But in your case where you have just one form it worked.
Please contact Kobo and let us know if they fix the issue.