[uf-discuss] the role of the X-WR-CALNAME property of iCalendar

Barry Cornelius barry.cornelius at oucs.ox.ac.uk
Wed Jan 9 02:58:56 PST 2008

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 
barry.cornelius at oucs.ox.ac.uk  Phone:01865 273267 or +441865 273267
http://www.barrycornelius.com        Reception:273200    Fax:273275

More information about the microformats-discuss mailing list