[Chandler-dev] Network operations for a "subscribe"

Brian Moseley bcm at osafoundation.org
Tue Dec 5 13:35:58 PST 2006


On 12/5/06, Morgen Sagen <morgen at osafoundation.org> wrote:
> One problem with
> this code is that Cosmo currently responds to a GET on a CalDAV
> calendar with an icalendar file of all the contained events, and thus
> if Chandler follows this algorithm it won't be able to subscribe to a
> Cosmo collection in CalDAV mode (Chandler would simply treat the
> collection as a monolithic ical file).

in 0.6, cosmo will have separate urls for webcal and dav:

* GET on the webcal url will get you a monolithic icalendar resource,
but PROPFIND will get you a 405.

* GET on the dav url will get you a html directory listing (including
alt links to the collection via webcal, ui, morse code, atom), and
PROPFIND will get you a 207.

note that caldav provides a very specific mechanism to determine if a
resource is a calendar collection: PROPFIND the url and look at the
DAV:resourcetype property to see if it contains the
<CALDAV:collection/> element.

> I've left out the logic for determining whether the user has write-
> permission, but I believe I read that we can do some sort of ticket
> discovery to ask Cosmo what the permissions are for a given ticket.
> Is that true?

yes. you can PROPFIND the collection for the ticket:ticketdiscovery
property. if you're passing a ticket as the credential for the
PROPFIND, the only ticketinfo that will be included in the
ticketdiscovery property will be that of the ticket credential you
provided.

> So really, if there is no
> ticket involved, I will have to perform the same trick I am currently
> doing which is to MKCOL a temporary subcollection to verify write-
> permission at the time of initial subscribe.  Does that work for non-
> Cosmo CalDAV servers?

it's not guaranteed to. calendar collections are not required to
support subcollections.


More information about the chandler-dev mailing list