Archibus OnSite
Offline Support: Syncing and Data Conflict Resolution
This topic has the following sections:
Syncing
While offline, technicians edit their work requests with details about the job; the data is saved locally on their device. Once the technician enters an area where they can access the Internet, OnSite automatically syncs behind the scene.
OnSite alerts the technician that they are back online and syncing is in process.
While syncing is in process, technicians can continue using the app without interruption, browsing and editing work requests as needed. If they open an unsynced work request, they see the unsynced data. If they attempt to edit an unsynced work request, they receive a message instructing them to wait.
The app sends the work request changes to the server:
-
wr details (status, eq assignment etc)
-
worklogs
-
comments
-
photos
-
checklists (status, answers, follow-up comments, followup photos)
-
new work requests created while offline (from the Create Request or Checklist follow-up actions)
Once all data is uploaded and conflicts are resolved, OnSite
-
refreshes the current page
-
refreshes the list of downloaded work requests
-
resets the timer for the data refresh
-
updates the “Last downloaded time” message
-
removes any work requests with Completed status from the device
Data Conflicts
With other online users able to update data while a technician is offline, there is potential for data conflicts.
Conflicts happen when for the same record:
-
There is a change between the originally downloaded record and the server-side record for the same table primary keys.
AND
-
There is a change between the originally downloaded record and the saved offline record.
For example, suppose a maintenance manager reviews Web Central's Maintenance Console and adds to the text in the Description of this request while the technician is working on this request offline. When the technician goes to a location with Internet access, the data syncs behind the scenes and the sync process notes the discrepancy for the Description field.
Suppose that "source of truth" per-site settings (made with the Manage Configurations for OnSite task) dictate that the technician's locally stored data takes priority over server data for active work requests assigned to a technician. With this setting, OnSite discards the manager's change and retains the original Description value. The manager, knowing that the technician might have been offline during this change to the server, can later review this work request and check the value of Description and update it then.
Since not all data discrepancies should be handled the same way, the offline support options of the Manage Configurations for OnSite task provide flexibility in setting when device data or server data prevails.
The technician does not have to worry about these data discrepancies. When conflicts happen, OnSite automatically uploads or discards mobile data based on the "source of truth" settings.
Specific Sync Behavior
OnSite automatically handles some server changes and informs the technician of these changes. The "source of truth" settings, described above, do not apply to these situations; the server data prevails.
Status is Changed to Stopped, Canceled, or Completed
If someone else changes the Status field of a work request to Stopped, Canceled, or Completed syncing automatically removes the work request from the user's device and presents a message that another person changed the status of the work request.
"Assigned To" is Changed
Similarly, if a manager assigns a work request to someone else, the manager's value prevails and OnSite informs the technician during sync. The request is removed from the technician's device.
With these messages, the technician will not be surprised that the work request is no longer downloaded to their device.
Equipment Code is Changed
OnSite also informs the technician if an equipment item has been changed on the server. The work request is uploaded without the equipment value stored on the device.
Sync Errors
Internet Connection
Due to an Internet connection error, power outage, or unavailable server, the syncing process might be interrupted. The current and remaining records needing to be uploaded will be queued up to sync later when the connection is back.
Server Error
Sometimes there is a problem with the data and the server returns an error during the sync. In this case, the server writes the error to the mobile_log
table.
The OnSite user receives notification and can check the error and then opt to abandon their changes or try again.
The technician can get information about the error using the More Details button. They will see the error information that the server wrote to the mobile_log table.
The default action is to try later, in which case the data is kept locally on the device to try later. When the user opens the request that caused the error, they will receive a reminder that the request is presenting unsynced data and that they can correct the data error if possible.
Sometimes technicians need to abandon their changes for a particular work request. For example, if a manager is updating a work request from Web Central at the same time of the sync is uploading this request, the record will be locked and retrying will not help. The technician needs to abandon the changes in order for the sync to continue to the next record.
Logging
All server errors, including sync errors, are logged to the mobile_logs
table. See View Mobile Log.