Recurring events may have different structure in SugarCRM and Exchange, so proper synchronization requires smart handling.
We recommend to maintain recurring events in SugarCRM. CRM Meetings and Calls are better shaped for group usage within the organization and well aligned with CRM-based Marketing and Sales process. However, if primary source is Outlook and Exchange then this document describes some concepts that should help to set up recurring appointment synchronization.
The difficulty with synchronization of recurring appointments lays within its internal storage structure. The structure has difference in Exchange/Outlook and in SugarCRM that needs to be properly understood to cover recurring events.
Fig 1 Recurring Appointment in Exchange/Outlook
Exchange recurring appointment is a single entry that may handle endless chain of events (aka occurrences). For example you may specify daily meeting with no termination date. This gives us 365 meetings a year, 3650 for ten years. However all are stored in one entry so no additional space is occupied.
As for SugarCRM, when dealing with recurring appointments we have to specify a termination date or max number of entries. The reason is simple: in SugarCRM each occurrence is stored separately so we need to know how many occurrences in advance:
Fig 2 Recurring meeting in SugarCRM
Of course, we may assume that Exchange events with unlimited recurrence count have some limit (for example, 1000). But even with that assumption 1000 entries is a significant load for SugarCRM database. Also event may be modified so that all occurrences needs to be updated. So an approach where recurring event is replicated with “big” number of items in CRM appears to be non-effective.
Fig 3 Many to one relationship for occurring meetings makes synchronization more tricky
So we have that Outlook appointment is more flexible than SugarCRM one. This makes an approach for synchronization different depending on the direction.
AESync uses ‘Calendar View’ approach to pick up appointments belonging to specific date range. The range is set as “n days from today”.
With this approach only occurrences that are to happen within n-days calendar period get synced to SugarCRM. Others are ignored.
Suppose that we have a recurring weekly appointment created 3 years ago in Outlook and have recurring synchronization set to 30 days.
In this case AESync will catch next 4 occurrences (1 per week).
Fig 4 Sync window for Exchange Occurrences
A week after it will sync one more appointment, because it will appear in 30 days interval.
To enable synchronization of recurring items from Exchange one needs to set an option in the Monitor:
The same applies to Calls synchronization:
If recurring event is created in CRM then no special actions are required. An event will appear in Outlook as a set of recurrences. The only difference with ‘normal’ recurring event is that all recurrences from Sugar will show up as distinct separate events.
Both Exchange and SugarCRM have own features to handle recurring events. However if the whole organization is going to use Recurring events then it is recommended to handle them all in CRM and only have a copy in Exchange.