[GroupDAV] multiget

Chris Bryant groupdav@opengroupware.org
Wed, 17 Oct 2007 10:03:45 -0400


Helge,

I think a multiget capability would be good to add, but we should keep it 
optional.  If it fails, the client can revert back to individual GETs.

I like the idea of using the "CALDAV: calendar-multiget" and "CARDAV: 
addressbook-multiget" requests like you suggested below.  I agree that we 
should keep it simple and support only the 'getetag' and 
'calendar-data/addressbook-data' properties.  Clients should not be allowed 
to specify which attributes within the calendar-data/addressbook-data should 
be returned.  I'm not a fan of caldav/cardav, but I would think implementing 
this one report should be simple to implement in most GroupDAV servers and 
clients.

GroupDAV doesn't currently include anything for handling Notes or Journals. 
If we add either of those (which would be nice if you are really working on 
an Outlook GroupDAV message store, since Outlook has Notes), would we be 
able to extend this to those?  It would actually be nice if we had something 
more generic, like "GROUPDAV: multiget" that could work for any type of 
object...

Chris


----- Original Message ----- 
From: "Helge Hess" <helge.hess@opengroupware.org>
To: <groupdav@opengroupware.org>
Sent: Tuesday, October 16, 2007 9:59 PM
Subject: [GroupDAV] multiget


> Hi,
>
> I'm still working on that GroupDAV(/CalDAV) Outlook message store 
> provider and I wonder what we should do about multiget.
> The OGo connector currently uses a dirty and quite specific hack to  do 
> this (special /Folder/_range_ID_ID_ID_ID collection URL).
>
>
> By 'multiget' I mean retrieving multiple resources with a single HTTP 
> request. Currently when syncing a new folder which contains 1000  items 
> with GroupDAV a client needs to issue 1000 individual GET  requests, which 
> of course isn't exactly perfect (though with proper  caching its usually 
> just a one-time issue - for the initial sync].
>
> So, do we want to add multiget to GroupDAV?
> If so, how do we want to add multiget?
>
>
> Part of the problem is that there seems to be no "standard" HTTP way  to 
> get multiple resources in one step. CalDAV defines an own multiget  REPORT 
> for this, but this only works on iCalendar entities.
>
>
> I tend to suggest that we should add an OPTIONAL multiget (if the  call to 
> multiget fails 501, individual GETs are to be issued by the  client).
>
>
> Further I think that we should probably specify a single, specific 
> CalDAV:multiget REPORT, probably this one (CalDAV 7.9.1.):
> ---snip---
>    <?xml version="1.0" encoding="utf-8" ?>
>    <C:calendar-multiget xmlns:D="DAV:"
>                         xmlns:C="urn:ietf:params:xml:ns:caldav">
>      <D:prop>
>        <D:getetag/>
>        <C:calendar-data/>
>      </D:prop>
>      <D:href>/bernard/work/abcd1.ics</D:href>
>      <D:href>/bernard/work/mtg1.ics</D:href>
>    </C:calendar-multiget>
> ---snap---
> Same thing for vCards as the CARDDAV:multiget.
>
> We would leave out arbitary property combinations (either WebDAV or 
> Versit) and only use "hardcoded" report (eg etag+caldata).
> If a collection contains vCard *and* iCal entities, the client would  need 
> to send two REPORTs (and retrieve other stuff via GET).
>
>
> Another option would be to specify a special POST URL for a  collection, 
> eg: '/Calendar/groupdav-multiget'. The thing I dislike  about it is that 
> this sits "on top" of HTTP (and mixes with the  collections namespace).
> But the obvious advantage is that its rather trivial to implement in  the 
> server (eg using a Perl script in Apache). And even for clients  its easy 
> to detect whether such a URL exists or not (404).
>
>
> What do you think?
>
> Thanks,
>   Helge
> -- 
> Helge Hess
> http://www.helgehess.eu/
>
> -- 
> GroupDAV
> groupdav@opengroupware.org
> http://mail.opengroupware.org/mailman/listinfo/groupdav
>
>
>
>