Third party app odk v1 integration

Approximately two years ago, I created some third party apps that reached into the /sdard odk dir and uploaded the instances.db file to a server for processing.

We parsed the instances.db info (based on survey name), to see what surveys had been completed or still unfinalized remaining on the tablet. This was a way of sorts to keep tabs on tracking interviews, and what tablet had what surveys outstanding.

We used the encryption option to send surveys to Aggregate server of course, due to sensitivity of the data collected. I never processed the xml forms data, just the instances.db metadata is all we are after.

My question is this: After being away from programming apps to integrate with ODK for the past two years, and in light of 'Scoped Storage' changes, is there a way for a third party app to still access instances.db? Or, in more general terms, how are third party apps integrating with ODK these days?

And finally, perhaps it is time to move on to ODK-X? Is ODK v1 still anticipated to be supported for the next few years? Our project will span the coming few years, so I'm concerned that ODK v1 might be deprecated in favor or ODK-X.

Thanks in advance!

It's accessing the XML files that is no longer possible. ODK Collect still exports a ContentProvider that makes instances database queries possible though you won't be able to directly access the database file. There is no explicit documentation about using Collect's content providers but there are Android docs and InstanceProviderAPI should give you the values you need to build queries.

Note that one of the big upcoming improvements to Collect is support for multiple projects. We're not exactly sure how that will interact with the ContentProviders that are exported. It may be that they're only available for the first project created and I encourage you to check in on the documentation once that becomes available.

There are no plans to stop supporting ODK. If you have programming experience and are looking to build complex information management systems, you should check out ODK-X. It's now a completely separate project with a different team.

A post was split to a new topic: ContentProviders with multiple projects