Friday, January 15, 2010

Calendar Overlay Web Part

My latest SharePoint calendar customization was inspired by the Outlook calendar overlay feature and the Google calendar. My goal was to create a similar user experience on a SharePoint web page.

The calendar overlay web part gives users an efficient and easy to read way to view items on separate SharePoint calendars simultaneously.

image

Dynamic Refresh

By leveraging the ASP.NET AJAX UpdatePanel built into the ASP.NET 3.5 framework I am able to dynamically show and hide calendar items without a page refresh or post back.

The calendar overlay web part color codes each calendar’s events so it is easy to tell which calendar an item belongs too. The calendar has also been customized to show all calendar entries automatically, removing the need for the Expand All and Collapse All buttons.

Print View

A print icon is also built into the calendar to let the users easily print the customized calendar. This allows the users to print just the calendar section of the page and just the items from the calendars that they have selected.

Item Details

You can view an item's details by clicking on the item, from here you can view or modify the item just as you would from the standard SharePoint calendar.

Using AJAX with SharePoint

In order for the calendar to refresh dynamically without posting back to the server, the .Net 3.5 Framework must be registered in SharePoint’s web.config. There are good instructions for modifying the web.config at the link below. Please remember to make a backup of the web.config file before you make any changes. Also, saving changes to the web.config will automatically reset IIS on the server.

http://www.zimmergren.net/archive/2008/09/22/how-to-get-up-and-running-with-net-3-5-in-your-sharepoint-environment.aspx

3 comments:

Anonymous said...

where can we try this webpart ?

Rob Wilson, SharePoint MCTS, MCT said...

Send us an email via the contact us link and we'll fix you up. Thanks for reading!

Laura said...

How many calendars can it show at one time? I'm looking for a webpart that can do more than 10.