Tangerine-Community / Tangerine

Digitize your offline data collection. Create your Forms online with Tangerine Editor, conduct them offline with the Tangerine Android App. All results you collect can be exported as a CSV file, easy for processing in a spreadsheet. Tangerine has been used in over 1 million assessments and surveys in over 60 countries and in 100 languages.
http://www.tangerinecentral.org/
GNU General Public License v3.0
48 stars 30 forks source link

Device administrator can configure devices to Sync and Update at the same time #3647

Open esurface opened 7 months ago

esurface commented 7 months ago

Issue

Feedback says that some users are confused that Sync and Update are separate processes. Users do not remember to update and fall behind on form changes. Is it possible to do both at the same time?

Desired Functionality

Sync+Update runs at sequentially so that all users are up to date upon syncing. This will take place when the user clicks the 'Sync' button. After sync, the app will automatically check for an update. If none is available, it will go back to normal operation (no log-in required). Otherwise it will download and run the update.

This setting will be enabled through a app-config setting with an override on the client.

Communication

  1. Device admins need to be aware that deploying many releases will 'spam' the users so they should be strategic about when/how to release. They should be encouraged to use the 'Test Channel' for releases before deploying to production.

Questions/Thoughts

  1. What will the experience be if this is 'on' when the tablet is set up for continuous syncing?
  2. What do we need to consider in terms of data usage?
  3. Should we consolidate this into a single button? When you click the update button, you get a pop up asking you to sync first. Probably not, since it is sometimes helpful to run updates without sync (for debugging sync issues).
  4. Need to consider the UI/UX experience for users in both sync-protocols
  5. Need to test failure of sync and/or update
  6. How will this impact users of kiosk mode?
  7. What should the default configuration be?

Task List

[ ] Develop workflow from Sync through Update completion [ ] Add backend configuration to turn on or off? [ ] Add server-side app config (where?) [ ] Add client-side app config override

esurface commented 6 months ago

Working on this in branch 3647-device-sync-then-update

esurface commented 6 months ago

Test Matrix: