I am working with survey tools and currently have a questionnaire developed in CommCare (XForm/XML format/.JSON). I would like to migrate this form to KoBoToolbox, which uses the XLSForm (Excel) format.
What is the simplest and most efficient way to convert or transfer the questionnaire between these two formats? Are there any recommended tools, scripts, or workflows to automate this process while preserving question types, labels, and choice lists? (Currently using python script to convert in .json format)
Any guidance, best practices, or tools you’ve used for similar migrations would be very helpful.
In theory, it is not 100% possible to directly translate any XForm into a XLSForm [that is to say, there a instances where a hand-written XForm cannot be directly translated but would require some additional manual renaming and restructuring]. However, in almost all cases a direct conversion should be possible, although I’m not aware of any tools that I can reliable recommend for this purpose. Typically you go the other way - XLSForm to XForm - which is precisely what pyxform does wonderfully.
Depending on how large your form is, it is not too hard to do the mapping manually, once you understand the XForm syntax. Otherwise, you could try throwing it at an AI, but YMMV… you Should carefully check the resulting XLS is in fact precisely correct before deploying it to collect serious data. For example, you could put an AI’s XLSForm back thru pyxform and then compare the resulting XForms are near identical.
This is an interesting question. Whenever data structures and question types differ between platforms, preserving everything during migration can be more challenging than the actual conversion itself. I’d be interested to hear how others have handled choice lists, validations, and complex logic when moving forms between these systems.
I used python script to migrate questionnaire. I am planning to host an online tool soon that will enable batch conversion of CommCare forms to KoboToolbox, which may help others facing similar migration challenges.
I am facing the following challenges while migrating forms from CommCare to KoboToolbox:
Labels are not being converted into Notes – I am unable to get the CommCare labels converted into Note fields in KoboToolbox.
Lookup Table Questions are being converted into Text fields – Questions that use lookup tables in CommCare are being imported as plain text questions in KoboToolbox, resulting in the loss of lookup functionality.
Could you please advise on how these issues can be resolved?
I understand that a direct XForm-to-XLSForm conversion is not always guaranteed due to structural differences and that some manual renaming or restructuring may be required in certain cases. My forms are fairly large, so I was hoping for a more automated approach, but I appreciate the clarification that most forms can generally be converted with some manual effort.
I used python script to migrate it is fairly migrating the form.
I completely agree that preserving the original form behavior is often more challenging than the conversion itself. In my current migration from CommCare to KoboToolbox, I have already encountered a few issues where labels are being converted to text instead of notes, and lookup table questions are losing their functionality and being imported as plain text fields.
I would also be interested in learning how others have managed the migration of complex elements such as choice lists, cascading selects, lookup tables, validations, skip logic, calculations, and case management-related features. Any best practices, tools, or lessons learned from previous migrations would be greatly appreciated.
Thank you for raising these important considerations.