Hi all,
As internet is not always available in extremely remote areas, we had to
think about how to run the entire process of using ODK without any internet
connection, from creating a form to analyzing results. This means create
the form in XLS format, convert it to xml, put it on device, collect data,
and export results into .csv. Yaw Anokwa helped me figure out how to do
this, here is his answer :
"Nafundi's XLSForm Offline will let you design forms and convert them to
XML without Internet. From there you need to get them to the phone's
/sdcard/odk) /forms/ folder so ODK Collect can see the forms. I use adb (
https://lifehacker.com/the-easiest-way-to-install-androids-adb-and-fastboot-to-1586992378)
for that. We've set a recommended price for XLSForm Offline that allows
Nafundi to sustainably support it.
Submissions are stored on the device as long as you don't explicitly delete
them and you can store a ton of records without running out of space. You
can wait until you get to connection to send them to some server and export
to CSV that way. If that's acceptable, that's what I'd recommend.
If that's not acceptable, you have two options. You should try these before
you get into the field to see what works best for you.
The first option is to use ODK Briefcase (
https://opendatakit.org/use/briefcase) which can pull data from the /odk
folder and convert it to CSV. The first caveat here is that you need
someway to mount the Android device as a USB driver or an on-device way
like https://play.google.com/store/apps/details?id=nextapp.fx to zip up and
transfer the /odk folder to your desktop. The second caveat is that
Briefcase pulls all forms, even the incomplete ones.
The second option is to use the ODK Aggregate VM (
https://gumroad.com/l/odk-aggregate-vm) because it's a server that runs on
your local computer. The caveat here is that both the VM and the devices
have to be on the same network (usually WiFi) and that can be tricky to do."
For me using both XLSForm offline/ODK briefcase works well and seems the
easiest. To resume the steps you need to follow to use ODK completely
offline:
- Create the form in Excel : see guidance at http://xlsform.org
- Use XLSForm offline to convert the form to xml:
https://gumroad.com/l/xlsform-offline - Connect the device as USB driver to computer and put the xml form
into the ODK>Forms folder (might need an app for that, see above. For mac
users try Android File Transfer) - Collect data, completed forms are stored into the ODK>instances
folder of your device, in xml format - Use ODK Briefcase to pull out/export results into a .csv file:
https://opendatakit.org/use/briefcase - Import the .csv into excel for analyses.
This is great for trainings and rare cases where internet cant be available
at all, however deploying the form online before collecting data is easier
and we will try to do that as much as possible for actual data collection
on big projects.
I would like to thank again Yaw for his help. Hope this post will be useful
for others.
Best
Diane