[Cosmo] Re: indexing all components in a calendar resource?

Lisa Dusseault lisa at osafoundation.org
Tue Feb 14 09:26:32 PST 2006


Cyrus, I still don't understand how VERSION would even get uploaded  
to a VCALENDAR component in a CalDAV server.  Are you saying that a  
client would PUT a VCALENDAR component resource to be a child of a  
calendar collection?

Lisa

On Feb 14, 2006, at 6:38 AM, Cyrus Daboo wrote:

> Hi Brian,
>
> --On February 13, 2006 8:14:19 PM -0800 Brian Moseley  
> <bcm at osafoundation.org> wrote:
>
>>> I myself am confused how you'd query VCALENDAR properties with
>>> CalDAV.  A client can't store a whole VCALENDAR as a single CalDAV
>>> resource, that would be against several of the rules of CalDAV.
>>> Instead, since dealing with entire calendars isn't part of CalDAV  
>>> but
>>> instead a non-standard way of handling what Apple's iCal does, I
>>> would say that a server would explode out the events into individual
>>> resources and throw away whatever information was leftover that
>>> wasn't needed for interpreting those events.
>>
>> even within a single caldav resource, it seems to me that the only
>> interesting data are the event components themselves (and later
>> freebusys, todos and journals), not the properties of the wrapping
>> vcalendar or any of the supporting vtimezones. sure those things are
>> potentially needed by the server to process the event (expanding time
>> ranges is a good example), but i don't see why any client would ever
>> need to query against any of that data.
>
> It is hard to see a use case for those. However, lets say the  
> VERSION gets bumped at some point in the future - a client may well  
> want to exclude components of an older/newer type. As to VTIMEZONE  
> - at some point people may want to use a CalDAV server as a  
> VTIMEZONE store for standardized timezones in which case a query on  
> the timezone name (at a minimum) would be required. But of course  
> there is no immediate need to do that right now.
>
>>> Are we missing some implication of REPORTs?
>>
>> i wonder if the specification isn't just too loose in regard to what
>> components within a resource can be queried against. but maybe i just
>> haven't considered a valid use case ;)
>>
>> anyway, we can drastically cut down the amount of data we have to
>> store and index if we are able to limit queries to just the
>> "important" components.
>
> The next CalDAV draft will allow servers to reject queries against  
> non-standard components and properties etc (i.e. X- ones). So you  
> can certainly choose not to index those and instead return the  
> relevant error precondition code (Lisa, Bernard and I were  
> discussing that just yesterday). You do still need to handle non- 
> standard items in the returned calendar-data though, so you can't  
> simply discard those.
>
> As to indexing all the rest - well you do have to allow queries  
> against anything, so one way or another you have to do that, but  
> whether that is done by indexing everything, or only select  
> components/properties is really up to you. If a client really does  
> want to query some 'obscure' property (e.g. PRODID) I don't see why  
> the server has to be as fast on that as all the rest. Note that  
> many servers use a database backend rather than straight indexing,  
> and often they choose to only have separate columns for select  
> properties, putting all the rest in a 'catch-all'. So with those,  
> queries against select properties will be fast, against others will  
> be slow.
>
> -- 
> Cyrus Daboo
>
> _______________________________________________
> Cosmo mailing list
> Cosmo at osafoundation.org
> http://lists.osafoundation.org/mailman/listinfo/cosmo




More information about the Cosmo mailing list