Delen via


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 https://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

Comments

  • Anonymous
    May 23, 2004
    Great!!! But why not making the same for Rss and Newsgroup in the email part of Outlook?

  • Anonymous
    May 23, 2004
    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.

  • Anonymous
    May 30, 2004
    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.

  • Anonymous
    May 31, 2004
    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.

  • Anonymous
    August 10, 2006
    PingBack from http://www.netcrucible.com/blog/2004/05/22/why-rdf/

  • Anonymous
    November 21, 2006
    I've received several emails from folks who have been successfully using my Outlook Calendar Provider

  • Anonymous
    February 22, 2007
    Good catalogue of the Gucci leather handbags: http://atk.jp/voqn

  • Anonymous
    May 14, 2007
    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

  • Anonymous
    May 14, 2007
    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.

  • Anonymous
    May 15, 2007
    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!

  • Anonymous
    May 15, 2007
    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.

  • Anonymous
    May 16, 2007
    Thanks for the feedback again. I'll keep it in mind: I might give it a shot when I find some time. Eric

  • Anonymous
    April 08, 2008
    Many of you have been using the Custom Calendar Provider samples created by Stephen Toub and I: Stephen

  • Anonymous
    March 14, 2009
    Back in May , I wrote an article for the Office Developer Center on MSDN on an idea I had for creating

  • Anonymous
    August 01, 2009
    Toub, Great article. Thank you very much for sharing. Eric/Toub - Were you able to get the write back to service working? Will this design support it or there are other things we can try out? Also is it possible for the list service to publish events specific for the user requesting it. Outlook may need to prompt for username/password for this to work? how to make that happen? Thanks again for the article.

  • Anonymous
    October 24, 2009
    I no this isa bit of the subject... But I am looking for a wat to take automaticly transform an email to an RSS feed. I want to use this to publish a blob an intranet site (WSS).  My hope is to provide a somewhat secure and easy means for mobile managers.