OpenRosa spec proposal: add matchExactly attribute to form list response

Thanks for the thoughtful feedback, @Xiphware and @seadowg! I can't say I disagree with y'all.

The primary motivation here is giving project managers more control over what enumerators experience without needing to have physical access to the devices. One piece of feedback we routinely get is that forms that need to be filled out often change within a training period or across campaigns and that having clients be out of sync with what the project manager has set up is confusing at best and leads to incorrect data at worst (more in the user-facing feature description). Paging @Ukang_a_Dickson @Tino_Kreutzer @tomsmyth to see if users of alternate servers provide feedback on this pain point as well.

Again, the idea behind letting the server dictate this is that it gives the project manager more control from the server interface that they're already familiar with.

If a project manager needs to manually change client settings, project setup becomes a lot more time-consuming and error-prone. The eventual goal is "a single button push that will sync forms, submissions, and settings" (from What's coming in Central) but there are a few challenges with getting there:

  • there is no specification that unifies client settings. That is, Collect and Enketo have their own configurable options but there has been no effort to match their naming or behavior
  • different data collection campaigns may require different settings. Doing this right may require some kind of project sandbox concept on the client side. That is, something like clients being able to switch between different groupings of forms and settings

The idea with something like this matchExactly proposal is that it's a step to giving project managers more control that is straightforward for any client and server to implement.

That said, Collect can be configured via a QR code and in fact Central currently must be configured that way because of the way auth works. Another option could potentially be to introduce a client-side setting like @Xiphware and @seadowg have described and to include the setting in the configuration QR code.

If you have other ideas for satisfying the need of project managers to set exactly what forms are available on clients that have offline form lists, please share.