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 ProviderAnonymous
February 22, 2007
Good catalogue of the Gucci leather handbags: http://atk.jp/voqnAnonymous
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. EricAnonymous
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. EricAnonymous
April 08, 2008
Many of you have been using the Custom Calendar Provider samples created by Stephen Toub and I: StephenAnonymous
March 14, 2009
Back in May , I wrote an article for the Office Developer Center on MSDN on an idea I had for creatingAnonymous
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.