docs icon indicating copy to clipboard operation
docs copied to clipboard

Describe how to configure devices with a Central QR code and other settings

Open lognaturel opened this issue 5 years ago • 4 comments

Scan the Central QR code into Collect, then update settings as needed, then use that device's QR code to configure others.

This works if the App User is role-based only (as opposed to representing a specific person).

From support I have given:

  • Reset Collect completely from Admin Settings > Reset application…
  • Scan in the App User QR code to add configuration to
  • Configure the device exactly as desired

You can then configure all other devices that need the same App User credentials by scanning the code directly from the phone or if you need to share the QR code in some other way (print it, put it on a slide, etc), from Admin Settings > Configure via QR code, use the Share button at the top right to share the resulting QR code image. I typically send the code to my computer and use an image editor to add the project name and App User name to the image.

I typically don’t set an admin password unless the field staff is really untrustworthy or curious and liable to get confused.

lognaturel avatar Oct 08 '20 16:10 lognaturel

I think a question I asked on Slack prompted the creation of this issue. If you're curious...

A project manager approached me because a donor is requesting photo verification of all WASH infrastructure (rain water harvesting systems, latrines, etc.) as part of a project’s final evaluation. The WASH infrastructure is spread out across large number of small, hard to reach islands where there is often no phone signal or internet. Common ways that people who will be doing the surveys share photos are over Facebook, FB Messenger and occasionally email. Technical capacity is low and they'd rather not ask the people to install/setup anything new. What I ended up responding:

Hi, I spent some time looking into this. There are three pieces of information that we need to transfer and keep grouped together. An image, GPS coordinates, and (probably) a brief text description.
TLDR: Can we use we use Facebook to send those 3 things? Probably not.

/ / / / / / not interested in specifically why? skip this section to the end / / / / / /

There are 2 versions of the Facebook chat app. “Messenger” and “Lite” (and also 2 versions of the FB app). Graphical user interface, text, application, chat or text message

The Lite version is for low/limited/expensive bandwidth and has limited features. You can only message your location (share a location pin) when using the fully featured Messenger. I would guess that Volunteers may be using Lite and so unable to send a pinned location via Facebook chat. But could we send a picture that has GPS data in it? No. If you send a picture saved to a phone with GPS coordinates in the EXIF metadata over Facebook chat, the data is not retained. Even if that data was transferred, the native camera app and phone system settings will vary depending on Android version and phone model, and would make it difficult to write up a tutorial for making sure the phone saves GPS data to images taken. What about uploading the images to Facebook as a post (perhaps to a private group)? No, again it doesn’t seem that GPS coordinates in EXIF data are retained, and it doesn’t seem like the “check in” option or other feature can be used to send specific coordinates.

But what if all the Volunteers are using the fully featured Messenger? There are additional issues as well. If you queue up messages in a chat app when you are without internet connectivity, the app will try to send everything as soon as there is data service through network or Wi-Fi. The order in which the recipient will see message items will be based on how quickly they uploaded and not based on the order that the sender first created them. This usually results in text messages coming through first followed by images in an order based on file size not on when they were sent. Also, images don’t retain a timestamp for when the image was taken. Just when the image was successfully uploaded to Facebook by the sender. A possible work around would be to take each picture twice once with the Volunteer’s hand showing some number of fingers and once without and then sending the text description with that number at the start of the message. That links two of the pieces of information but I cannot think of a way to tie the shared location into the set. If each volunteer is only surveying a single WASH project, or will have Internet access in between each of their surveys, then the issue of items arriving out of order might not be an issue. But my operating assumption is that they might be conducting multiple surveys in a day and have no Internet connection during the entire session.

/ / / / / / / / / / / /

The most reliable solution would be to ask volunteers to install ODK Collect. They can then configure the app for data collection quickly and easily by clicking a menu button in the top right and then selecting “Configure via QR code” and selecting a QR code file on their phone that we message them. We can have the configuration be set to automatically fetch the survey form they need to fill out from the server said all they have to from that point forward is complete the survey for every WASH point the are assigned. Collect is compatible with a wide range of Android devices including older ones. I can detail out the ODK process but let me know if that will be acceptable workflow.

danbjoseph avatar Oct 08 '20 16:10 danbjoseph

Thanks, @danbjoseph, all that makes a lot of sense. I think you would also want to configure auto-send and possibly auto-delete (depending on whether the images are sensitive and on whether you want folks to be able to see submitted records). @seadowg and I were recently talking about putting together a few common "configuration profiles" for different scenarios as part of docs.

I think this also clearly points to a need for another feature which we've discussed -- a special extension registered with Collect such that when a file with that extension is tapped it opens Collect, prompts for confirmation, and then loads the settings it represents.

And you could also consider an Enketo public link. You would have to modify the URL that Central currently gives you as discussed on the forum. And you'd have to get the link in a retrievable place like as a desktop shortcut.

lognaturel avatar Oct 08 '20 21:10 lognaturel

How do i hardcode server url in the App

simpesa avatar Oct 25 '20 14:10 simpesa

Hi @simpesa, for questions about ODK please read the docs at https://docs.getodk.org/ and you can also ask questions on the community forum at https://forum.getodk.org/

danbjoseph avatar Oct 26 '20 00:10 danbjoseph