Welcome to MSDN Blogs Sign in | Join | Help

Custom Calendar Providers for Outlook 2003

I have been playing around with this concept for quite a while and finally decided to put it down in an article on MSDN:
Custom Calendar Providers for Outlook 2003

Outlook 2003 has really cool integration with SharePoint in that it can consume SharePoint event lists and contact lists, bringing them into Outlook as calendars and contact folders.  Outlook is able to do this using the Lists Web service exposed by WSS.  Wouldn't it be cool if you could write your own “Lists“ service that served up your own “event“ data for Outlook to consume?

That's exactly what this article show you how to do.  In fact, the code download associated with this article (available at http://www.microsoft.com/downloads/details.aspx?FamilyId=180A1C22-D160-4C4B-9C1B-3C52CCB23CA5&displaylang=en) already implements just such a service with a pluggable architecture so that all you have to do is implement your own CalendarProvider-derived class, implement the GetEvents method, and be off and running!  The code download includes a few sample providers, including ones for consuming RSS feeds (so you can view an RSS feed as a calendar), one for consuming posts to an NNTP newsgroup (so you can view newsgroup postings on a calendar), one for System Restore Points, one for event logs, and one for MSN Messenger chat history.

Here's an example of a calendar displaying an RSS feed:

Let me know what you think!

-Steve

Published Saturday, May 22, 2004 5:38 PM by toub
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Sunday, May 23, 2004 6:01 PM by Stephen Toub

# Media Center and Outlook

Sunday, May 23, 2004 6:04 PM by Stephen Toub

# Media Center and Outlook

Sunday, May 23, 2004 6:51 PM by Laurent Kempé

# re: Custom Calendar Providers for Outlook 2003

Great!!! But why not making the same for Rss and Newsgroup in the email part of Outlook?
Sunday, May 23, 2004 7:04 PM by Stephen Toub

# re: Custom Calendar Providers for Outlook 2003

Laurent, check out Newsgator. That's exactly what it does. You set up subscriptions for RSS feeds, and it brings all of the items from those feeds into mail folders in Outlook. Hope that helps.
Monday, May 31, 2004 3:13 AM by Laurent Kempé

# re: Custom Calendar Providers for Outlook 2003

I know Newsgator and I already installed it, but I would like to know how to do it, cause I don't like all there implementation.
Monday, May 31, 2004 12:01 PM by Stephen Toub

# re: Custom Calendar Providers for Outlook 2003

I've never looked at the MSIL for Newsgator (though you could if you were really interested; be aware they might have obfuscated it), but I'd guess that it downloads each feed using System.Net.HttpWebRequest, parses each response using XmlDocument or XmlReader, and pulls out each of the RSS items in the feed. It probably then determines whether it has seen that item before, maybe from the publish date in the RSS item, maybe through some other mechanism, and if it determines that it has not seen the item, it posts the item to the specified folder in Outlook. It might use Extended MAPI to do this, since no security warning dialog is displayed by Outlook, maybe the .NET-based Redemption library. Or it might just use the Outlook interop libraries, which I mention at the beginning of my article.
Wednesday, December 22, 2004 3:02 PM by Stephen Toub

# OutlookContactProvider

Thursday, August 10, 2006 11:15 AM by Better Living through Software » Blog Archive » Why RDF?

# Better Living through Software » Blog Archive » Why RDF?

Tuesday, November 21, 2006 11:33 AM by Stephen Toub

# Update to Outlook Calendar Provider framework for Outlook 2007

I've received several emails from folks who have been successfully using my Outlook Calendar Provider

Thursday, February 22, 2007 1:12 PM by Bobi

# Nice site!

Good catalogue of the Gucci leather handbags: http://atk.jp/voqn

Monday, May 14, 2007 5:44 PM by eric

# re: Custom Calendar Providers for Outlook 2003

Stephen,

was the project ever extended to allow for write the data back through the webservice for storage? I think you mentioned it as a potential feature in your initial article, or this is not possible by design (i.e. the emulation of sharepoint webservices)?

thanks for any feedback.

Eric

Monday, May 14, 2007 11:59 PM by toub

# re: Custom Calendar Providers for Outlook 2003

Eric, thanks for the interest.  While supporting this scenario with SharePoint 2007 and Outlook 2007 is possible, I haven't had the time to work on updating it as such.

Tuesday, May 15, 2007 10:42 AM by eric

# re: Custom Calendar Providers for Outlook 2003

thanks for the reply Stephen.

any chance you can get me a summary of the steps that are required? I might attempt it myself if feasible, but a bit guidance would save me lots of digging time.

thanks!

Tuesday, May 15, 2007 11:10 AM by toub

# re: Custom Calendar Providers for Outlook 2003

It's not a trivial amount of work. You'd need to update all of the classes and interfaces to support writing in addition to reading; you'd need to update the Web service to ensure that it still completely mimicks the Web service provided by SharePoint; you'd need to analyze the typical traffic in a sync between Outlook and SharePoint to ensure that your Web service is sending and processing data correctly; and so forth.

Wednesday, May 16, 2007 9:00 AM by eric

# re: Custom Calendar Providers for Outlook 2003

Thanks for the feedback again. I'll keep it in mind: I might give it a shot when I find some time.

Eric

Tuesday, April 08, 2008 2:13 PM by Wiz/dumb

# STSSync for the Masses: Toub's Revenge

Many of you have been using the Custom Calendar Provider samples created by Stephen Toub and I: Stephen

Sunday, March 15, 2009 2:03 AM by Stephen Toub

# OutlookContactProvider

Back in May , I wrote an article for the Office Developer Center on MSDN on an idea I had for creating

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker