Before we go any further to the details of this article, ask yourself how many different accounts (actually Calendars) do you use in your day to day life including both personal as well as professional activities? Research has shown that on an average, a person working with a small to medium size team (2 – 10 person) ends up at least 5 places to looks for the various events happening which might impact his or her work. And the strange part is that many of those events are announced on various different platforms including plain emails, meeting requests, team calendars etc. SharePoint provides a neat way to handle all these events in one place i.e. SharePoint Calendar. In this article, we will learn more about SharePoint Calendars, Overlays and usage of Exchange as well as Google Calendars within SharePoint.
SharePoint Calendar is a great feature for teams and/or individuals who use SharePoint as a collaboration platform. It provides these teams a great tool to have one single place to check and mark the events which are important for the people involved in this group. It could be used for a recurring Team Meeting event, an announcement of a public holiday or even as a reminder to team members for a deadline.
Adding a Calendar in SharePoint is as simple as adding a new App as shown in the figure below:
Once created, the calendar provides you with a default monthly view to see all the events which have been registered. For example, the calendar below shows an event called “Monday Rocks” (Really, shouldn’t Friday rocks? ☺. This is just one example, where your team can make use built-in and out-of-the-box SharePoint calendar feature to have a transparent collaboration.
Adding an event to a SharePoint calendar is not any different from adding a new list item. Btw, did you know that everything in SharePoint is essentially a List and just displayed with different views?
For those of you, who are interested in checking the different views (including list view) of calendar can use the “Current View” as “All Events”.
In a section above we created the event explicitly within our SharePoint Calendar. However, another nice feature SharePoint provides you is to create an overlay of other calendars from another site within the same site collection, Exchange Calendar etc.
Let’s see how to use Calendar Overlay feature to connect to an Existing Exchange Calendar.
To start with, use the Calendar Overlay option from the Calendar tab.
The next dialog asks you to select the “Type of Calendar” and the choices are SharePoint and Exchange. For this example, let’s select Exchange which asks you to provide the Outlook Web Access (OWA) URL as well Exchange Web Service (EWS) URL. Refer to the Outlook Web Access for more details here and follow here to know how to determine EWS.
And there you see the Exchange calendar synced to your SharePoint calendar. You can see the Green “My Exchange Calendar” Overlay which shows a meeting on Monday.
It’s important to keep it mind that to make the Exchange synchronization work with SharePoint, you need to have the proper user profiles set-up within SharePoint with the corresponding mapping of email addresses which are present in Exchange.
Calendars Overlay with Google Calendar
So far we saw how to make use of the standard, out-of-the box features of Calendar to sync from a SharePoint List or that even from an Exchange Calendar. But hey, we were talking about connectivity between Microsoft eco-system which is usually the case present.
What about if you want to include the events from your Google Calendar or for the sake of discussion even from a Facebook Event list or any sort of custom list you have.
Let’s start with a bad news that SharePoint does not support any custom integration to custom calendars.
However, the good news is that there are multiple ways to achieve that.
One way to synchronize your Google events to SharePoint is actually follow a middle path and without any custom code written.
The trick (or call it a hack) is to sync your Google Calendar with your Outlook/Exchange Calendar. Once this is done, you can always follow the approach to add Exchange Overlay to a SharePoint Calendar as demonstrated before in the article.
To learn more about Google sync to your Outlook Calendar, refer to this link.
I would not call this approach the better solution but of course it’s one of the approaches which would be preferred by developer community against the Information Worker community. Typical, custom vs. out-of-the-box feature mind-set☺.
Starting SharePoint 2013, the preferred way of writing any custom code in SharePoint is not to have a Full Trust solution but make use CSOM (Client-Side Object Model). Also remember, there is no Full Trust solution in Office 365. You can make use of the SharePoint CSOM and integrate the Google Calendar by following the steps as given below. In the scope of the article, we will not write code but only the structural way to perform this action which essentially can be written in any programming language:
- Read the Google Calendar Programmatically.
- Create list item based on previous step in SharePoint Calendar List (remember, SharePoint Calendar is nothing but list).
- Schedule the script/program based on previous steps in Task Scheduler.
You can use a third-party solution. This approach has many advantages: you save your time and get many features of professionally designed software. As for SharePoint calendar, a third-party web part is capable of aggregating various calendars from many data sources, not only Exchange and Google Calendar, but many more. For example, Virto SharePoint Calendar
allows users to use as data source any SharePoint list, SQL table, XML file, SharePoint list web service, Sales force calendar and SharePoint lists from other farm.
The one and only disadvantage of this approach is the cost. Choosing software purchasing, make sure it has all necessary features and it worth its price. So you shall decide if you will spend money or spend your time and customize your SharePoint Calendar by yourself.
Hopefully, the article gives an in-depth understanding about SharePoint Calendars, Calendar Overlays and multiple approaches on how to aggregate various calendars from different data sources into one SharePoint Calendar.