- Home
- Documentation
- Collecting data
- Using ODK Collect
Collecting data
Using ODK Collect
Connecting ODK Collect to Joripo with a device key's QR code or with an email and password, and what ODK Collect cannot do here.
Joripo documentation · https://joripo.com/docs/collecting-data/odk-collect
Joripo implements the OpenRosa protocol ODK Collect speaks (the form list, form downloads with their media, and submissions), so ODK Collect works against a Joripo server unmodified. There are two ways to connect it.
With a device key
- On Collect, an owner or manager chooses New device. The key comes with its own QR code.
- In ODK Collect, choose Add project › Configure with QR code and scan it.
- Get Blank Form in ODK Collect then lists the forms the key may fill.
Treat the QR code like a password: anyone who scans it can submit as that device. Forms on a key limits it to some of the workspace's forms. Revoke stops it at once and keeps everything it already sent. A key belongs to one workspace and to no person, and it never expires; each one shows its age on Collect, so old ones can be revoked.
A device key carries the server's address. If that address changes (a quick tunnel restarted under a new one), the keys made before point at the old address: make new ones and scan again.
With an email and password
If an owner turns it on (Configure › Server settings › Access, ODK Collect sign-in with email and password), ODK Collect can be set up without a QR code. In ODK Collect's server settings enter:
- Server URL: the address shown in that panel. It is
https://<host>/s/<server name>, or your server name's own address where the server gives each organisation one; - Username: the person's Joripo email address;
- Password: their Joripo password.
The form list then holds the forms of every workspace that person collects in. Add /w/<workspace id> to the server URL to keep a phone to one workspace (the panel shows it). If one form ID is deployed in two of those workspaces, the plain URL lists and receives the oldest one; use the workspace's own address for the other.
This works:
- only over https: the password travels with every request, so plain http is refused (except from the server's own machine to
localhost, for an emulator); - only for owners, managers and data collectors: a reviewer does not collect;
- with the same lockout as the sign-in page for wrong passwords;
- never for a suspended organisation, and only into the workspaces the person collects in.
Only the Basic method of HTTP sign-in is offered. Digest would need the server to keep the password, or a weak hash of it, and Joripo keeps only strong hashes.
What ODK Collect cannot do here
ODK Collect runs the standard XForm Joripo compiles, with its own engine. It cannot open a form that uses a function only Joripo's runtime implements, does not give calculated defaults, evaluates calculate_here when its group becomes relevant, cannot run field plug-ins, has no case list screen, and lists every matching row for search(). See Compatibility with SurveyCTO and ODK.
Submissions from ODK Collect are stored, checked and exported exactly like any other.