Aggregate SharePoint Event/Items into your Calendar view using Calendar Overlay

One of the most common features I have seen in common use for SharePoint (prior to 2010) in Intranet environments for Team site is Calendar’s. Not only the Calendar list type, but also the ability to add a Calendar view to any list that has the desired columns to construct a Calendar – such as Start, End, Title etc. While this was all great for a single site/calendar, the problem of having to track numerous calendar’s remained. With introduction of Outlook 2007 bi-directional integration with SharePoint, and particularly the ability of Outlook to overlay calendar helped bridge the gap. Now one could connect to number of team sites, and setup Calendar overlays in Outlook using varying colours, to easily identify event source and yet benefit from the plotting of events on single Calendar view. This was all good, but each user in your Enterprise was supposed to setup in a “pull” fashion. This is good for flexibility, not so good when you need to “push” consistency and productivity (re-use).

So, what was missing on SharePoint is the ability to have server-side overlay’s that everyone can see – in a single place, aggregating multiple sources. Until SharePoint 2010 arrived!

Calendars Overlay in SharePoint 2010

There are Calendar lists and Calendar views. View can be created for almost all lists, as far as you have desired column’s in a list like Start, End, Title etc. to be able to describe and plot an item in a Calendar format.

In SharePoint 2010, create a new Calendar list. Go to Calendar ribbon tab, and click Calendar Overlay.

Calendar List Ribbon

You get the screen with list of existing Overlay’s associated with current Calendar (list – in our case). Click on “New Calendar”…

image

Notice the breadcrumb! You are adding Overlay to existing list (Team Calendar – in our case). You have choice of “pulling” Calendar info from an existing Calendar (list/view) in SharePoint or even from Exchange!

Set standard info like a name, description and decide the colour you want for the items in aggregated Calendar overlay. Select the source site/list/view, anywhere in farm.

image

When you select Exchange as source of Calendar, you get option to add OWA and Exchange Web Service url. I will cover details of connecting with Exchange in another post, and focus on Overlay’s with SharePoint for this one.

image

Once you have added a new Calendar overlay to existing Calendar veiw, you get something like below for Day view, Week view, and Month view respectively Notice the Overlay colours:

image

image

image

Now, if you decide to connect this Calendar to Outlook to sync the items, it will only sync items from main view, and not from Overlay source. So such Overlay of calendar’s is server-side aggregation only. That increases my curiosity, so I try adding the Calendar list view as a web-part on a new page.

As you see, this instance of view didn’t include item from source that we had added to default Calendar view. This is – probably – due to the fact that this is a new web-part view for the page. If you want to add overlay to this one, you have to redo that from Ribbon. This also means, subject to purpose and context you get the flexibility to decide what overlay is suited. Also you can only add 10 Overlay’s to an existing view instance.

image

Conclusion

Calendar Overlay is clearly a very useful feature that fills a gap of not being able to aggregate information from multiple sources into a Calendar view within context of current items. Source of items can be existing SharePoint calendar views on any site, or even Exchange (via OWA/Exchange web services). List type for source doesn’t matter, it just need a Calendar view type available. You can have 10 overlays. Overlays are for the specific view only, and are server-side only – which means they do not get synced in Outlook. While you can drag-drop current list items, you cannot edit overlay items as they are read-only within scope of current Calendar view. You can of course click on source Overlay item to edit at the source.

image

I’d like to hear, how you think Overlay’s will help you in your case, or how you are already using them...

Enjoy SharePoint!

--Sharad

16 Comments

  • Thanks for the post, I can't wait to see how you can use Exchange calendars to do overlays.

  • Hi Diego,

    I published guidance on hooking up Exchange calendar as well:
    http://weblogs.asp.net/sharadkumar/archive/2010/03/29/aggregate-sharepoint-event-items-with-exchange-appointments-into-your-calendar-view-using-calendar-overlay.aspx

    Thanks for reading.
    --Sharad

  • Hi sharad,
    i need some help regarding sharepoint calendar ajax events, it seems that when we navigate between months in calendar it calls some ajax web services to load data. i need to populate data when user navigates between months, how can i trap this ajax calls and put my code between them.

  • We have two urls for different zones with extended site. In that case calendar overlay gives error for another zone as it always needs full url.
    e.g. if I am giving url for one zone : private.mysharepoint.com/sites/events it starts showing error when same site is accessed in another zone extranet.mysharepoint.com. How to resolve this ?
    Is there any way to give relative url only ?

  • Is there a way to overlay a specific public Exchange calendar? For example a resource calendar?

  • Sharad,

    Thanks for a very nice post.

    I was interested to know how do we achive calender overlays using CAML/ Calender List definition or SharePoint Object Modal.

    Regards,
    Sudhir

  • I can't get the overlayed events to appear in the Events web part.

  • Sharad,
    Great information, but can i do this with Outlook2010 calendars? and how?

    Zina

  • How you do it programatically

  • is there a way to achieve this programmatically? or in a declarative way in a calendar list definition (schema.xml)?

  • Hi Sharad,

    Thanks for the insights!

    I'm wondering: is it also possible to display SP Calendar VIEWS (for custom list items) in Outlook?

    I know that I can connect a "proper" SP Calendar LIST to show in Outlook, but Calendar VIEWS (that nonetheless have a title, start date and end date etc.) cannot be connected to Outlook, right?
    Or can they?

    I'm curious to read your insights on this issue.

    Cheers,

    Waldemar

  • HI

    I have setup a leave request form that through a workflow it will go and update the calendar item list.
    My objective was to create a leave calendar for my team, and i wanted to color code by the username, the way i have achived that was by creating a number of view allocating a color to each and setting up filters by username, using calendar overlay it works fine when you are in calendar overlay over view, but if i go back to the page of the main calendar i no longer have the color coded by resource it all appears as the default color of the default calendar.


    How can i keep the overlay active on the main view?

  • Hi, thanks for sharing. Is it possible to view the calendar by Year, instead of just month, day or week? Thanks in advance.

  • Is it possible to integrate individual outlook calendars in different domains but in the same company company

  • It's fantastic that you are getting ideas from this paragraph as well as from our discussion made at this place.

  • Nice Post!!
    Thanks

Comments have been disabled for this content.