Sync workload with mobile android devices

With a mobile andoid device, you have the ability to download your personal workload to your cellphone or your tablet, work on assessments, save content without connectivity to the internet, add images directly using the camera of your device and upload everything next time, you get connected.

Synchronization cycle for users workload

The usual way will be tapping the cloud icon of the android client to start a new sync process:

Processed actions:
  1. Upload user's assessments and data (if any available on the device) to the server.
  2. Empty the local database of the device (if any locally stored content exists and upload was successful).
  3. Download user's assessments and data, having scheduled dates within next 2 weeks.
Do I have to pay attention on any particular requirements?

Sync process doesn't run automatically. It has to be triggered by the user. After it has been startet, you have to wait until it finishes. You can't stop it while running. In case you know what you are doing, you can try to kill the process by disrupting connectivity. But usually, especially if you consider best practises below, there is no need to do so.

Steps one and two run automatically and can't be affected by any user action. If you don't want to upload any of the assessments, saved on your device for some reason, you can delete it beforehand. But make sure, that you really don't need data any more!

Upload needs a matching checklist on server side. If it can't be found (e.g. deleted in the meantime), data will be backed up to the servers file system.

If the assessment isn't fully completed and has a matching date planned, it will be downloaded with step 3. again. In order to prevent, you can either delete the scheduled date for this assessment on server side or add "!cnx" (cancelled) to the field "top" of the schedule informations.

Completed (nothing left blank) and closed audits get not synchronized any more. These should be finished online where necessary. Everything else remains in the Up- and Download cycle as long as the scheduled date is in the future. Assessments with past plan-dates will be uploaded but not downloaded any more.

Assessments QR-Code

Another way to sync just one specific assessment is using the QR-Code from the system. Tap the list icon on the start screen and then the QR-Scanner icon on the top right corner and scan the QR-Code:

Processed actions:

The related assessment and data is selected on server-side. If the user, this assessment is assigned to, matches the login-user of the app and it is NOT already available locally, it will be downloaded. If it already exists on the device, nothing happens. Download is skipped in order to prevent accidental loss of data by overwriting it with older informations.

 

How can I delete a specific checklist from android?

 Just open the checklist to be removed and tap on the dustbin-icon on the top right corner:

What happens with data available on both, client and server?

  • Existing data / answers for specific data on the server will NOT be deleted, if same question is empty on client side.
  • Filtered informations might be hidden, but not deleted, if the filter is switched by the client to a different selection.
  • Existing data / answers for specific data on the server will always be overwritten with any content, coming from client side!
  • Empty questions on server side will be filled successively with content from clients for each sync process.
  • Empty questions on client side will be filled successively with content from server as well. But facing the direction of the cycle, client data is always prioritized.

Best practise for sync.

  • Sync every time you added some new informations and have connectivity to the web.
  • Don't work on a specific checklist from both sides (server and client) at the same time!
  • If you finished your work on the client and some empty fields remain empty, don't fill them with rubbish just to get rid of the checklist (this might overwrite useful content on server side). Rather delete plan dates not needed or add "!cnx" in order to exclude assessments from sync and delete it on your client afterwards.

Is there a solution to recover data from clients?

As long as you are able to access files on your device, search after folder ./Internal storage/android/data/de.auditbus.client/files and you should find folders named with the assessment id's. These folders can be used to recover results with the state of last synchronisation. But usually, this state should be available on server anyway.

There is no chance to recover data from the app's database without physical access to the device.

There is also no versioning. If you change informations, prior data is overwritten and can't be recovered, except for images, which you should still find in your gallery.