[GroupDAV] Evolution Connector; Calendar Selection
Helge Hess
groupdav@opengroupware.org
Sat, 6 Jan 2007 21:13:39 +0100
On Jan 3, 2007, at 04:55, Shreyas Srinivasan wrote:
> Good question, I see no way in the groupdav protocol to list all the
> possible callendars which are accesible to some one. Is there anyway
> to know this?
No. A WebDAV collection can be arbitarily deep and distributed, so it
doesn't make a lot of sense to list "all" possible calendars. (it can
be tens of thousands for calendar providers like Yahoo).
How calendar selection works depends on the client, in Evolution 1.4
you could browse a hierarchy of typed folders, just like in Outlook.
So in those cases you just browse the WebDAV hierarchy 1:1 until you
find the folder you want.
Anyways, since Evo 2.0 or so the hierarchy isn't exposed anymore, but
just a flat collection of typed folders. The latter is also true for
Kontact.
My proposal (for those "flat" clients) is that the GroupDAV
configuration panel of a plugin includes a treeview which can browse
a WebDAV server (using PROPFIND depth:1) and allows the user to
select which folders should be displayed.
Another option is to (re)enhance Evolution to show a treeview. AFAIK
this is what is done by the Exchange connector. The latter should be
a good source for how to deal with the issue since Exchange also
contains arbitary hierarchies of folders.
Chris wrote:
> You could try doing a PROPFIND with a depth of 'infinite' to search
> the entire tree, and look at the results for objects that are
> tagged as vevent-collection.
Please *never* do depth infinite searches. Those searches are highly
inefficient for plenty of servers.
> I don't know if oGo or Citadel support infinite depth queries though.
I don't think that OGo supports it currently, not perfectly sure. But
as mentioned I'm not very motivated to add it because its inherently
wrong.
> Or you could recursively look down through the tree with depth 1
> propfinds until you find the collections.
Yes. Though you should only do that on-demand, that is if the user
actually expands a node in a treeview. Never traverse a full
hierarchy automagically, it can actually have unlimited depth! (the
[virtual] collection resources exposed by a server can very well be
cyclic).
> GroupDAV collections (vevent-collection, vtodo-collection, vcard-
> collection) should not be nested (from my interpretation of the
> spec), so once you find one, you should not need to continue
> searching within that collection for other collections.
Thats correct for CalDAV, but NOT for GroupDAV. GroupDAV collections
can be arbitarily nested, the scope of the dataset is focused on just
that folder (just like in Outlook/Exchange).
I can't follow why this is forbidden by CalDAV.
Thanks a lot,
Helge
--
Helge Hess
http://docs.opengroupware.org/Members/helge/