We have been successfully using Brian Suda's xhtml2vcal.xsl (available from http://suda.co.uk/projects/X2V/) to transform some hCalendar embedded in an Atom 1.0 newsfeed to iCalendar format. It is used as part of a local application for generating newsfeeds called OXITEMS. After switching from Outlook 2003 to Outlook 2007, a colleague is reporting a problem with the iCalendar that OXITEMS is generating.

It appears that if the iCalendar provides an X-WR-CALNAME property, Outlook 2007 will not import the event(s) into your main Outlook Calendar but it will create a new calendar with a name that is the value of the X-WR-CALNAME property.

Currently, xhtml2vcal.xsl always generates an X-WR-CALNAME property and gives it the value of the title element of the input document (using an empty string if there is no title element in the input).

We often provide web pages listing events with iCalendar buttons for each event. The aim is to make it easy for a user to import details of an event into whatever calendaring system they are using. It would be silly if the user got a new calendar every time they clicked on an iCalendar button. The OXITEMS system also has the ability to send out a message with an iCalendar attachment whenever an event item is added to a newsfeed. Again it would be silly if the recipient of this message got a new calendar created if they opened the attachment.

Here's an analysis of what happens for various calendar clients.

If the X-WR-CALNAME property is present, Outlook 2007 behaves as follows:
(a) If you open an iCalendar file, Outlook 2007 will create a new calendar. If you open it again, it will create another new calendar (with the same name). (b) If, in Outlook 2007, you explicitly import an iCalendar file, it will ask you whether you want to create a new calendar or import the event(s) into your calendar. If you choose the later, it assumes you only have one calendar even though Outlook 2007 allows you to create as many calendars as you wish. If instead you choose "new calendar", it will create a new calendar. If you repeat the import it will create another new calendar with the same name.

If the X-WR-CALNAME property is absent, Outlook 2007 will import the event(s) into your main Outlook Calendar.

Google Calendar, Outlook 2003 and WebCalendar ignore the contents of the
X-WR-CALNAME property if it is present. If you have more than one calendar, Google Calendar allows you to select the calendar you want to import into.

With Apple iCal, you get the same behaviour no matter whether there is an X-WR-CALNAME property or not. iCal asks you whether you want to import the event(s) into a new calendar or into an existing calendar and if the latter it asks which one. This happens both when you double-click an iCalendar file and also when you explicitly import the file.

I'm trying to work out what to do:
(a) continue as now (always providing an X-WR-CALNAME property) making it
    an inconvenience for Outlook 2007 users;
(b) always omit the X-WR-CALNAME property which, for Outlook 2007, would
    mean that all the events would go into your main calendar which may
    be not what you want;
(c) include the X-WR-CALNAME property only if there is more than one
    event in the calendar.

Barry Cornelius            Computing Services, University of Oxford
13 Banbury Road, Oxford, OX2 6NN, UK [EMAIL PROTECTED] Phone:01865 273267 or +441865 273267
http://www.barrycornelius.com        Reception:273200    Fax:273275

microformats-discuss mailing list

Reply via email to