arnaudq's blog

Sunday Nov 19, 2006

Calendar URLs

Playing with a few CalDAV clients makes you realize that there is no "standard" way to configure them. This is best illustrated by the existence of an how to use clients with the server page on the Apple Calendar Server project site. No such page would exist for an IMAP Server site...

Depending on both the client and server capabilities, several URLs can come into play to define the target calendar(s):

  • The Mac OS X 10.5 version of iCal wants the URL corresponding to the "prinicpal URI of the user you wish to authenticate as".
  • Mozilla Lightning is expecting a Calendar collection URL.
  • Mulberry should be configured with a URL corresponding to "the root of the server or the root of the calendars on the server".
  • Configuring Chandler is still a mystery to me. It asks for the root of your WebDAV "home page" and let you create new Calendar Collections from there but I have not found a way to make it take into account existing collections.

End users are quite likely to get confused. Hence client applications might need to become tolerant, accepting different URLs and helping end user discover what is available on the server.

The CalDAV specification itself defines the calendar-home-set property on WebDAV principal resources. This property can either point directly at a calendar collection or at an ordinary collection that has child or descendant calendar collections owned by the principal.

Given the WebDAV principal resource URI of a user (the same URL that defines a user in ACLs, e.g. http://cal.sun.com/acl/users/arnaud.quillaud@sun.com or http://pim.sun.com/u/AFS67S3F ), a client application can do a PROPFIND on this principal resource to retrieve the calendar-home-set URL of the user. From there the client still need to discover calendar collections under this calendar-home-set. (for example by issuing an OPTION on the calendar-home-set followed by a list of PROPFIND on the WebDAV resourcetype property with various Depth headers if the calendar-home-set is not a calendar collection).

Given a calendar collection URL, a client application can retrieve the principal resource URI of the owner (for example, by issuing a DAV:principal-match REPORT filtered on owner and returning the owner property) and go back to the discovery method described above. 

Note:

  • It is not clear whether the calendar-home-set property can be multivalued.
  • There is no guarantee that all calendars owned by a given principal will be under the calendar-home-set if present.

The scheduling extensions to CalDAV will add 2 properties to the WebDAV principal resource:

  • schedule-inbox-URL (collection where received invitations are stored),
  • schedule-outbox-URL (collection where sent invitations are stored).


 

Comments:

Thread discussing the ability to guess the home-set simply based on the authenticated user: http://www.nabble.com/Find-my-principal-resource-tf3150478.html

Posted by Arnaud Quillaud on July 30, 2007 at 02:25 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed

Calendar

Feeds

Search

Links

Navigation

Referrers