Click here to Skip to main content
14,449,574 members

How to aggregate various Calendars from different data sources into a single SharePoint Calendar?

Rate this:
4.97 (57 votes)
Please Sign up or sign in to vote.
4.97 (57 votes)
1 Sep 2015CPOL
Article explains about SharePoint Calendars, Overlays and usage of multiple calendars within SharePoint.

Introduction

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 Calendars

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:

Image 1

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.

Image 2

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?

Image 3

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”.

Image 4

Calendars Overlay

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.

Image 5

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. 
 

Image 6

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.

Image 7

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.

Approach 1:

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

Approach 2:

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.

Approach 3:

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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Imran Abdul Ghani
Software Developer (Senior) Emaratech
United Arab Emirates United Arab Emirates
Imran Abdul Ghani has more than 10 years of experience in designing/developing enterprise level applications. He is Microsoft Certified Solution Developer for .NET(MCSD.NET) since 2005. You can reach his blogging at WCF Tutorials, Web Development, SharePoint for Dummies.

Comments and Discussions

 
PraiseThanks Pin
m-mousavi14-Sep-17 21:59
Memberm-mousavi14-Sep-17 21:59 
GeneralMy vote of 4 Pin
mini.mi9-Sep-15 20:08
professionalmini.mi9-Sep-15 20:08 
QuestionNice one. Pin
Member 119288263-Sep-15 9:20
MemberMember 119288263-Sep-15 9:20 
GeneralThanks Pin
CodeProject_fan2-Sep-15 6:54
MemberCodeProject_fan2-Sep-15 6:54 
GeneralMy vote of 5 Pin
CodeProject_fan2-Sep-15 6:53
MemberCodeProject_fan2-Sep-15 6:53 
Question5+ Pin
Oleg Zhuk2-Sep-15 3:19
MemberOleg Zhuk2-Sep-15 3:19 
GeneralReally helpful Pin
ujin4151-Sep-15 6:12
Memberujin4151-Sep-15 6:12 
QuestionThanks for sharing Pin
Nikolay Volosatov1-Sep-15 6:07
MemberNikolay Volosatov1-Sep-15 6:07 
QuestionThanks Pin
Member 119253961-Sep-15 6:02
MemberMember 119253961-Sep-15 6:02 
AnswerRe: Thanks Pin
aarif moh shaikh1-Sep-15 20:20
professionalaarif moh shaikh1-Sep-15 20:20 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Article
Posted 1 Sep 2015

Stats

31.2K views
57 bookmarked