Synchronization process flow
The service application performs both synchronization in and out.
Synchronization out
During synchronization out, the application connects to SyteLine via IDO Web Service and reads from the user calendar and Service calendar. The Sync Process Background Task then connects to the Exchange server via EWS and performs these tasks:
- Identifies new user and Service calendar items from SyteLine and adds them to Exchange.
The Exchange Object ID and Change Keys for the newly created object are then stored in SyteLine against each calendar item. A SyteLine record without an Exchange Object ID and Change Key is considered a new item.
- Identifies modified items and updates the Exchange object using the Exchange Object ID. The SyteLine Client Key is used to identify modified records.
- Identifies deleted items and deletes them from Exchange using the
Exchange Object ID. Private calendar events are not deleted from Exchange.
A separate delete log is maintained to store deleted records from the user and Service calendars. Records without an Exchange Object ID are not moved into the delete log, when deleted from the source table.
Synchronization in
During synchronization in, the application reads the Exchange change log and performs these tasks based on the event:
- If the event is Delete, then the application deletes the SyteLine record for the corresponding Exchange Object ID.
- If the event is Create, then the record is added to the SyteLine calendar. The Exchange Object ID and Change Key are added to the record. If a matching record already exists, an update is performed.
- If the event is Update, then the SyteLine record is updated, when the Change Key is different from the Exchange Change Key.