Determine elapsed time since last sync and warn if over threshold

What high-level problem are you trying to solve?
Prevent/warn of out of date form definitions being used due to not manually syncing or being online when automatic sync is attempted.

Even with reminders to sync before starting, I have had enumerators power up devices while out of connectivity and commence work, submitting duplicate / incorrect records, either due to forgetfulness or assuming someone else did it.

Any ideas on how ODK could help you solve it?
While an offline device can't know if the definition is the latest version, the form screen does show the 'Added on' datetime value, but it doesn't change to last 'attempted' sync, only updating with a change received.
Is there another 'last sync' datetime value for the form somewhere that could be accessed by the form, so that a warning note or unpassable question could be made revelant if now()-'last sync' is over x hours/days? This would then force the user to sync before continuing.

3 Likes

Excellent suggestion.
For me this could be something as small as 'Last form sync 2 hrs ago' just under the 'Start new form' title in the forms list.

1 Like

Definitely need this one!