Duplicate form definition in ODK Central

1. What is the issue? Please be detailed.

2. What steps can we take to reproduce this issue?

3. What have you tried to fix the issue?

4. Upload any test forms, screenshots, or logs below.

Just wondering if it were possible to easily duplicate (and then modify) a form definition in ODK Central? For example, a complex form is designed for one project. Another project needs something very similar but wants to add/remove/update a few fields. How simple is it to copy a form from one project to another?

This is certainly possible! You can download the XLSForm file and then edit it in a spreadsheet software such as Excel. XSLForm is a well documented standard for authoring forms. If copy/ pasting question rows between different forms you'll need to make sure the column order is the same. If you're only modifying option lists or making other minor changes, you may be able to update the form version without deploying a whole new one. See the docs on updating forms to a new version for more info.

Screen Shot 2022-04-29 at 10.54.03 AM

1 Like

Thank you! Is that a recent addition? My self-hosted version (v1.3.3) does not offer the XLSForm option:


  • Did you upload an XForm or XLSForm? Uploaded XForms are used as is. No XLSForm is generated from them.
  • Are you using managed encryption? When Managed Encryption is in use, the XLSForm is never saved, not just when encryption is first enabled for the Project. There is an issue on Github about this and it was mentioned in Downloading XLSForm from Central - #6 by Matthew_White

My guess is that @trialsize uploaded an XLSForm update, didn't increment the version number, and manually entered a version number when Central warned about this. When you respond to that warning, Central doesn't update the XLSForm because it's not so easy to update Excel spreadsheets, it only updates the XForm.

1 Like

Interesting, I don't recall anyone receiving a warning, and there are only two forms loaded for testing. I think @danbjoseph is correct and the XForm was initially loaded. Good to know about all these though - thank you for the quick responses!

1 Like