[Kolab-devel] CalDAV Collections vs. IMAP Folders

Thomas Brüderli bruederli at kolabsys.com
Thu Mar 28 11:45:29 CET 2013


Georg C. F. Greve wrote:
> On 2013-03-28 09:49, Thomas Brüderli wrote:
>> Oh, wait a minute: Jeroen suggested to use /private/comment. Is there 
>> a
>> /shared/comment, too? According to RFC 5464 there is.
> 
> Yes. Jeroen also wants to use it shared & private.
> 
> 
>> If this annotation contains the display name for a folder, it should be
>> readable for other users you share a folder with. I suggest to write the
>> display name to /shared/comment for folders in personal namespace and 
>> to /private/comment for others.
> 
> That's a good start.
> 
> You also want to defined behaviour for shared folders, though.
> 
> So the logic would likely be based upon admin rights for the folder. 
> The only question is: If it is a folder that is not in your personal 
> name space, and you have admin rights to it, do you write shared or 
> private, or do you perhaps even give users an option for either?

I'd only use shared annotations for personal folders. That's what we
currently do for color values stored in annotations.
> 
>> This becomes essential if you create folders via CalDAV clients that 
>> will use random UIDs for new folder names. Sharing a folder named
>> '1A66C52089EF530F5C20174853981687-8C02E7EEB49870A2' doesn't make sense 
>> to anybody if one does not see it with the annotated display name.
> 
> So how do you plan to address this situation? We need such folders to 
> end up sensibly in the folder structure, as well.

Unfortunately I don't have a solution for that.
> 
> Do we need an annotation for the UID?

That was proposal 2) in my initial post but the discussion then more moved
towards using the real IMAP folder name as UID and save the display name
separately. Whatever option we choose, there's no perfect solution but we
should not introduce two annotations for both UID and display name. IMO one
of them should be directly derived from the real IMAP folder name.

To summarize the situation again:

* Using UID annotations is safe for *DAV clients because references to a
folder remain valid even if it was renamed. The disadvantage is that URIs
to specific calendar folders, as for example Thunderbird requires them to
be entered manually, will not be human-readable because they use the UID.

* Using the real IMAP folder path as UID works fine for existing folders
and generates nice URIs but causes trouble in *DAV clients once they are
renamed/moved. Furthermore, new folders created by *DAV clients will have
an ugly non-human-readable name but we don't a possibility to change the
UID a *DAV client suggests.

I still tend to use UID annotations and accepting the fact of having
complicated URIs for client configuration.

>>>> Should we even consider to create a KEP for this? Reading through the
>>>> discussion in this thread this shall become the generic display name for
>>>> all clients and not only for *DAV. Otherwise different clients show
>>>> different names for the same folder and I don't think this is 
>>>> desirable.
>>> Agreed.
>> That will be your job then?
> 
> Ehrm, no. :)
> 
> Whoever works on this part of Kolab, or finds a volunteer. :)

I never wrote a KEP but I can give it a try once we come to an agreement here.

~Thomas




More information about the devel mailing list