Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where is the official documentation for programming an Outlook "internet calendar subscription"?

Are there any official sources for programming an Outlook "internet calendar subscription ", described in the link as

An Internet Calendar Subscription is a calendar that you download and view in Outlook. However, unlike a Calendar Snapshot, Internet Calendar Subscriptions are updated automatically.

I'm using ASP.NET MVC and the DDay.iCal library. I have been unsuccessful creating such a calendar. I need answers to specific questions. I'm tired of guessing. And I won't accept random code, links to out-of-date codeproject articles, or anything else non-authoritative.

The only concrete information I have is that the URL must

  • begin with webcal://
  • end with a .ics filename

I have to generate a unique and up-to-date calendar per user, preferably every time Outlook polls the address. I want to avoid hooking the calendar updates into the CRUD parts of the site. So, I need to know some specifics about what Outlook accepts.

  • Can I use a controller/action that returns a FileResult (or derivative: stream, content, path) to dynamically generate the calendar when Outlook hits the address?

  • Can I "fake" the ICS file/filename part of the URL by decorating the action, like [ActionName("iCalFeed.ics")]?

  • Can I use an ActionLink to create the webcal link for the action, like <%= Html.ActionLink("Connect to Outlook", "iCalFeed.ics", "Schedule", "webcal", null, null, null, null) %>?

I've tried some of these things in an ad-hoc fashion and Outlook loves to pop up and handle webcal links, but it shows nothing and displays no error messages. Is there somewhere to dig for Outlook web calendar import errors?

If no to the above questions, is there another way to serve fresh contents every time Outlook polls the address? I'd rather not update the calender in sync with the CRUD operations on the site. That seems more complicated than is necessary.

Either way, I also need to know what parts of the iCalendar specification Outlook requires to have a properly updating "subscription". I imported a valid ICS file as a regular "snapshot" with as little as a start/end date, summary, and location. But, apparently, there are some tricky parts of the spec, like

  • Do I have to set the METHOD (RFC2445 4.7.2 Method)? I can't even find a decent description of this property or the values it accepts (is it client specific?).

  • Do I have to keep track of event UIDs and change their disposition based on my system's CRUD operations? Or is adding/removing/updating the events from the calendar on subsequent polling good enough for Outlook to figure it out? If I have to keep track, now I have to add a whole layer of persistence and state-awareness to my application.

  • If I'm keeping track, I've noticed in other SO questions that Outlook is real picky about the ORGANIZER property... does it have to be an email address or not? A mailto: link or just an address?

I'm at the end of my rope. I'm willing to read documentation if it answers questions about actually building a website that generates proper calendar subscriptions. I haven't found anything on MSDN except this strange conversion "algorithm". And, as far as I can tell, it's useless.


To be clear, I can generate a basic ICS file for any user and launch it in Outlook manually. I cannot get any of my webcal links to work, at all.
Do these other calendar RFCs come into play: [iTIP](https://www.rfc-editor.org/rfc/rfc2446) and [iMIP](https://www.rfc-editor.org/rfc/rfc2447)?
like image 263
Anthony Mastrean Avatar asked Sep 16 '13 19:09

Anthony Mastrean


People also ask

What are Internet calendar subscriptions in Outlook?

To stay informed with the happenings of your community group or sport club, you can subscribe to an internet calendar in Outlook. This will allow you to keep up with the schedule, but also any changes that happen to the calendar. Simply importing calendar entries will not accomplish the task.

Can I delete Internet Calendar Subscriptions PST?

Remove the subscription to the Internet Calendar on the Internet Calendars Tab. rename the PST file associated with it on the data files tab, remove any other attempts so this is one to one. Start then Run -> Outlook.exe /cleansharing - Removes all Subscriptions even the ones you can't seem to delete.

How do I unsubscribe from the Internet calendar in Outlook?

Click Settings, then click the Calendars tab. Find the calendar subscription you wish to remove and click 'Unsubscribe'. Outlook: In Calendar, under 'My Calendars', right-click the name of the calendar that you want to delete. Click 'Delete Calendar'.

How does the Internet calendar subscription work?

Each player can subscribe to the published calendar and then see any updates that you make to the calendar. Other people might choose to view the Internet Calendar subscription in a web browser, Outlook, or another application.

How to add an Internet calendar in Outlook 2016?

You try to add an Internet calendar in Microsoft Outlook 2016, Outlook 2019, or Outlook for Office 365 by following these steps: Switch to the calendar module. In the Manage Calendars group on the toolbar, select Open Calendar. Select the From Internet option. Provide the path of your Internet calendar file. Select OK.

Why don't I have to configure client-side Internet calendar options for Outlook?

Because no subscription information is handled or controlled by the Outlook desktop application, you don't have to configure any client-side Internet calendar options for the calendar that's added through OWA. Microsoft provides third-party contact information to help you find technical support.

What are Internet calendars?

Internet Calendars are calendars that you publish to an Internet site, where others can view it or subscribe to it. Internet Calendars use the iCalendar format and the .ics file name extension. You can share one-time static calendars, known as Calendar Snapshots, in an email message.


1 Answers

Do I have to set the METHOD (RFC2445 4.7.2 Method)? I can't even find a decent description of this property or the values it accepts (is it client specific?).

For the methods, see the WebDav and CalDav specs.

Calendaring Extensions to WebDAV (CalDAV

This document defines extensions to the Web Distributed Authoring and Versioning (WebDAV) protocol to specify a standard way of accessing, managing, and sharing calendaring and scheduling information based on the iCalendar format. This document defines the "calendar-access" feature of CalDAV.


METHOD (RFC2445 4.7.2 Method)?

RFC 2445 was obsoleted by RFC 5545 so you might be interested in differences between 5545 and 2445 so that you can try to fit into the intersection of the two.


I'm at the end of my rope. I'm willing to read documentation if it answers questions about actually building a website that generates proper calendar subscriptions.

All of these standards are maintained by CalConnect which has discussion lists that you might find of use.

Sorry I can't be of more use, since I have very little personal practical experience with Outlook, but there are a lot of people involved with CalConnect who know all the interop minutiae.

like image 181
Mike Samuel Avatar answered Sep 22 '22 01:09

Mike Samuel