On Feb 13, 2006, at 3:42 PM, Grant Baillie wrote:


On Feb 13, 2006, at 2:45 , Brian Moseley wrote:

On 2/13/06, Jeffrey Harris <[EMAIL PROTECTED]> wrote:

This suggests to me that this requirement is asking Cosmo to give us two read-only tickets, one for calendar data, one for freebusy, but only one read-write ticket that applies to both of these. I don't know if Cosmo
supports that (Brian?).

it depends on how freebusy data is stored. if it's a separate resource
inside a caldav calendar collection, then it could be ticketed
separately of the enclosing calendar collection. if you're planning to
use the caldav freebusy report, then there's no "sub-resource" to
ticket independently of the calendar collection.

to be honest, i haven't read the freebusy section of the caldav spec
in enough detail to understand if it expects clients to stick
VFREEBUSY components into calendar collections, expects servers to
calculate freebusy time by examining all the events in the calendar,
or allows some combination of both, so i can't speak with much
authority yet on how cosmo will eventually implement freebusy support.

My understanding is that both should be supported. i.e. clients can query for all VFREEBUSY components inside a calendar, or (via a free-busy-query REPORT) could get free-busy info for the calendar (i.e. VEVENT & VFREEBUSY combined). It had been my intention to use the REPORT to support FB, though I hadn't thought about the privacy aspect Jeffrey brought up.

This is all correct and one further thing: it will work easier if the client uploads VEVENTs for most of its data, and lets the server calculate busy time from those. Then for events that the client doesn't want to upload, or time that the user simply wants to block out (e.g. noon to 1 for lunch daily), the client should upload VFREEBUSY components only for those. This avoids duplicating free- busy time in both VEVENTs and VFREEBUSY components, avoids errors synchronizing between two different busy-time stores, and is more efficient...


The CalDAV approach to access control for free-busy is to have a separate privilege (read-free-busy) that can be used to restrict access to FB & not the individual events. That doesn't work so well with tickets; one way to make this work would be to replace the "readonly" ticket element with <privileges>. (Though, besides read, read-free-busy & write, I'm not sure whether any other ACL privileges are worth supported).

Tickets can be defined for any privilege according to the proposed wire syntax. A request for a read-free-busy ticket would have a body something like this. The server can choose to allow it or not, of course.

   <D:ticketinfo xmlns:D="DAV:" >
<D:privilege><C:read-free-busy xmlns:C="urn:ietf:params:xml:ns:caldav"/></D:privilege>
     <D:timeout>Second-3600</D:timeout>
   </D:ticketinfo>

lisa

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design

Reply via email to