Case Studies

exchange-sharepoint-calendar-sync

Office 365 Exchange and SharePoint Calendar Synchronization

Posted in Application Development, Digital Workplace Solutions, Office 365, PC Application Development, SharePoint

Summary

DMC implemented an Office 365 Exchange and SharePoint calendar synchronization solution for a Chicago-based law firm.  This solution originally synchronized a centralized docketing calendar in Exchange 2010 with a SharePoint 2010 calendar on the firm's SharePoint homepage. When DMC migrated their Exchange and SharePoint platforms to Office 365, this module was upgraded to work with Exchange Online and SharePoint Online. 

sharepoint-exchange-calendar-sync

Multiple items are synced on a given day.

Solution

DMC's client uses SharePoint for matter management, utilizing both top-level client sites and sub-sites for specific matters. Additionally, a Common Calendar was created in Exchange to track all docketed appointments across all firm matters. This calendar was accessible in Outlook, but the client wanted the ability to view the docketing calendar from SharePoint as well. DMC was asked to implement a solution to synchronize docketed appointments with a centralized calendar in SharePoint. In addition, each docketed appointment needed to be pushed to individual matter site calendars so documents, contacts, and appointments for each matter could be viewed in one place. 

Unfortunately, out-of-the-box SharePoint does not provide a way to view shared or public folder calendars in Exchange. DMC developed an automatic process to set up synchronization between the Outlook Common Calendar and the SharePoint homepage's Common Calendar. This was accomplished using a windows service that was set up to run on the SharePoint server at regular 15-minute intervals.

One key challenge that DMC had to address was the custom docketing appointment form that had been implemented on Exchange. This posed an issue when working with those items programmatically, as it was not as simple as copying the appointment object between systems. DMC created a custom appointment parsing algorithm in order to extract the necessary data out of those custom appointments and create a SharePoint appointment containing all of this information.

Beyond the custom forms in the Exchange appointments, the synchronization process also had to address the fact that the appointment objects within SharePoint and Exchange do not have a clear 1-to-1 mapping; copying the object directly was out of the question. The sync had to read all of the information on the Exchange appointment and create a corresponding SharePoint appointment object from scratch. This was particularly tricky when dealing with recurring appointments, as the way that Exchange handles the list of recurrences and any modifications (like changes to a single recurrence item) is very different than SharePoint. That said, DMC was able to solve this issue by coding a mapping between the two specifications.

Once the two-way sync was set up between Exchange and SharePoint, a process was built to push appointments from the central docketing calendar in SharePoint to the individual matter sites. Since the appointments were all within SharePoint, DMC was able to use the client object model to copy the objects to the corresponding matter sites using the Matter Number (in the appointment's category field) as the means to identify which matter site each appointment was supposed to be added to.

Learn more about DMC's Exchange and SharePoint Calendar Synchronization services.

Customer Benefits

  • Automated synchronization process ensures all employees are aware of the firm's docketing calendar
  • Improved docketing archival capabilities
  • Simplified appointment tracking and updates
  • Streamlined access to the docketing calendar for employees working remotely
  • Mobile device access to the docketing calendar while "on-the-go"

Technologies

  • Office 365 Exchange MAPI
  • Office 365 SharePoint Object Model
  • C#
  • Outlook Web Connector
  • SharePoint 2010 and 2013 Server Object Models