Synchronization steps: Difference between revisions

Jump to navigation Jump to search
Line 214: Line 214:
'''Full synchronization''' fetches all records that match the [[Sync Filter]].
'''Full synchronization''' fetches all records that match the [[Sync Filter]].


'''Incremental synchronization''' fetches all records changed since the last synchronization. Additionally, it performs a cleanup: records that do not match Sync Filter are deleted.
'''Incremental synchronization''' fetches all records changed since the last synchronization.  
 
In both cases, the synchronization performs a cleanup as the last step: records that do not match Sync Filter are deleted.  


For more information about the differences between full and incremental sync, see [[Synchronization#Types_of_synchronization|Types of synchronization]]. For information about how to force full sync for an entity, see [[App_projects#Managing_entities|Managing entities]].
For more information about the differences between full and incremental sync, see [[Synchronization#Types_of_synchronization|Types of synchronization]]. For information about how to force full sync for an entity, see [[App_projects#Managing_entities|Managing entities]].


=== Example: Why is this needed? ===
=== When to use Always Full Sync for an entity? ===
 
Let's say we have a sync filter that only downloads active contacts. If a contact is deactivated on the server, then this record no longer matches the sync filter.
 
A naive implementation of the incremental sync that would download only changed records that match the sync filter would miss this change, i.e., the record would remain on the client. Therefore, Resco Mobile CRM performs incremental sync in two steps:
1. Download all changes.
2. Delete records that do not match the sync filter.
 
This is a safe algorithm. However, in some cases, it can be inefficient because of increased traffic (we may download records that are deleted in the cleanup phase).
 
Therefore, when your incremental sync downloads too many records that are deleted in the cleanup, consider enforcing full sync for this entity.
 
=== Example ===


Download all accounts except inactive:
Download all accounts except inactive:

Navigation menu