Enketo webform not working for migrated ODK forms

Hi All,

To test an upgrade path for a server actively utilized in production, I duplicated/cloned (using Azure Tools) the production server into a testing environment with a new URL. I then initiated the upgrade to the latest version of ODK Central, which concluded successfully. Most of the features are functioning correctly; however, there is one exception: Enketo webforms for the pre-existing webforms are not working as expected.

For the migrated forms, the Enketo webform does not work. This is only for the migrated forms, as when I upload a new form to the server, I can create an Enketo link for the new form, and it works as expected. When we try to open an Enketo link for a form that was migrated, we get this error:
This form does not exist or you no longer have access to it. Please check the URL for any missing characters.
If the form existed previously, it may have been archived, disabled or deleted. If this is unexpected, please contact the person who asked you to fill the form.
(Attempted to access form with ID: )

For the migrated forms, I then attempted to upload a new version of the existing form. This means taking the existing form definition as created in .xls, updating the version number to indicate that the form was updated, and then uploading the new file to the server. The server accepts the new form definition, but the Enketo link still does not work.

I would greatly appreciate any assistance with this matter.

Sewa

Screenshot 2023-09-13 at 6.30.28 AM

1 Like

Hi,

I had the same issue when I was testing updating central. @Sadiq_Khoja said that this is due to Enketo maintaining full URL of the server and since your running Central on a different domain name than what you have in the production.

The soultion is to update the forms links:

docker compose exec -it enketo_redis_main bash
redis-cli
hset id:[EnketoID] openRosaServer https://[newdomain]/v1/projects/[projectId]

You can find the Enketo ID on any form by linking "New" button on submissions page, in the URL you will see this ID on your production version.

As I said this is not my solution, I was stuck as well but @Sadiq_Khoja might be able to provide more support.

Cheers,

Stu

1 Like

Hi @delalom,

Welcome to the ODK Community, please introduce yourself at Introduce yourself here! - #1431 by Nicolas_Spoto when you get a chance.

The issue you are facing is most likely due to difference in domain name of the production server and your testing server.

You can try above commands if you want. In my opinion it's not necessary, you can take the backup of your production server and run the migration.

Please let me know if you have any further questions.

Thanks,

Sadiq

1 Like