Downloading XLSForm from Central

I have a suggestion of a simple feature that appears to be forgotten, is it possible to include xlsform download? xlsform download will be helpful for teams to collaborate and update the project form even in the absence of a team member who uploaded the form. For now I can only see the form download is only possible in xform and xml format which may not be useful for non-tech savvy to use for form version upgrade.


In Central it is possible to download the survey form file as XLSForm (.xlsx)


Ohoo thanks @danbjoseph for the quick response. I think I am using the lower version of odk central.



Hi @danbjoseph, it is not always possible to download the XLS version => at least it seems it is not possible when the project is encrypted, even for versions published by the user who is requesting the download
Here is an example (ODK Central server v1.4.0)

Hi @Thalie!

I believe the XLSForm download is only available on forms which have been uploaded initially as XLSForm. I'm unsure about whether encryption plays a role in that but your example indicates it is.

The reason for that is that ODK Central uses XForms internally.
Uploaded XLSForms are converted into XForms through pyxform but still retained for later download of the form definition.
Uploaded XForms are used as is. No XLSForm is generated from them.

However, if you have uploaded an XForm which has been created in ODK Build, from where you can export the form to an XLSForm. This export is provided by build2xlsform.
Note the exported XLSForm won't have any non-supported XForms features (such as short labels), and some features are not yet converted (help welcome). A full round-trip XForm > build2xlsform > XLSForm > Central > pyxform > XForm will therefore likely lose some form features.

1 Like

There are times when ODK Central itself will set the version string, generating its own XForm. This happens when publishing a Draft Form whose version string conflicts with another version. It also happens when using Project Managed Encryption. This process can lead to Central not saving the XLSForm. However, in Central v1.3, we made a change so that the XLSForm is saved when a Draft is published even when Central sets the version string.

We still need to do something similar for Forms that use Managed Encryption. I think I'm seeing that when Managed Encryption is in use, the XLSForm is never saved, not just when encryption is first enabled for the Project. There's an issue filed for this on GitHub, and I've updated that issue and added a link to this discussion.