[prev in list] [next in list] [prev in thread] [next in thread]
List: kolab-devel
Subject: Re: [Kolab-devel] CalDAV Collections vs. IMAP Folders
From: Thomas_Brüderli <bruederli () kolabsys ! com>
Date: 2013-06-19 8:45:23
Message-ID: 51C16FA3.2070709 () kolabsys ! com
[Download RAW message or body]
Jeroen van Meeuwen wrote:
> On Thursday, April 04, 2013 04:05:14 PM Thomas Br=FCderli wrote:
>> That's fine for the web client (actually we have that already) but it's
>> not that simple for DAV clients which don't support hierarchical lists
>> of collections. Example: two calendar folders in my personal namespace
>> are Calendar/Home/Personal and Calendar/Work/Personal which would both
>> translate into "Personal". That will make them indistinguishable in a
>> DAV client. On the other hand, if we represent the full path in the
>> display name, what should if I rename "Calendar/Home/Personal" to "My
>> Home Calendar"? The new name cannot properly be translated into an IMAP
>> folder hierarchy anymore. Of course we can just rename the folder to
>> that name and having it placed on top level of my personal namespace in
>> IMAP. Thus we're back at the question, when to use (and change) the real
>> IMAP name and when the displayname metadata.
>>
> =
> This is a very difficult question, as;
> =
> Indeed stripping the hierarchy from the folder name (which makes the fold=
er =
> names in the CalDAV client most appealing) could spawn the need to "displ=
ay" =
> the folder different from its folder "base name" - such as would be the c=
ase =
> when IMAP holds Calendar/Work/Personal and Calendar/Home/Personal, though=
the =
> wrong example, both would be "Personal" in the CalDAV client, and therefo=
re a =
> user must be tempted to display a different text. To argue this point I w=
ould =
> move to refer to Calendar/Work/Holidays and Calendar/Family/Holidays, for =
> example.
> =
> Should the IMAP hierarchy be preserved, in the display of said folders to=
the =
> CalDAV client, surely a user too would be tempted to do away with the rat=
her =
> redundant "Calendar" in such name, as well as may not want/understand (an=
d for =
> right reasons) why all these slashes (hierarchy seperators) are in there =
-> =
> user edits display name.
> =
> That said, it is very tempting to chose to only ever set the /displayname=
in =
> METADATA should it change.
That's certainly what I'd do for CalDAV.
> =
> Now, however, we do away with folder hierarchy altogether - if the other =
> clients are expected to use the display name as well, we render any hiera=
rchy =
> effectively flat.
> =
> So, we may have to consider making it a preference for those clients capa=
ble =
> of making the distinction, of using the /displayname (flat), expose the =
> hierarchy yet use the /displayname (replacing the folder "basename", if y=
ou =
> will), or only use the folder hierarchy and ignore the /displayname.
All right, that could work. But as usual, defaults matter :-)
> =
> In this light, we may also consider simply asserting that there is little=
(to =
> no) purpose in maintaining the concept of calendar folder hierarchies as =
soon =
> as one of the protocols used includes CalDAV, and therefore do away with =
the =
> concept altogether for the sake of following the least common denominator =
> between all clients.
Fair enough. But I assume some Kontact users will object here.
> I suppose it is only fair to, in such circumstances, =
> create all new calendar folders to whichever current calendar folder exis=
ts in =
> one's personal namespace (default to event.default, of course), as to pre=
serve =
> the ability to set different quota and later on, recursive expiry.
> =
>>> The CalDAV UID required could indeed go to /vendor/kolab/dav-uid (/shar=
ed
>>> only, I reckon).
>> Preferably shared but for existing folders, I suppose the UID is
>> generated on the first access through DAV. If one uses a CalDAV client
>> to access a shared folder with read-only permission, the only option to
>> save the UID would be /private/vendor/kolab/dav-uid.
> =
> Unless the UID communicated to/from a CalDAV client needs to be of a rath=
er =
> specific format (length?), perhaps the UID communicated for read-only fol=
ders =
> when a client first hooks up to the CalDAV service best be =
> /shared/vendor/cmu/cyrus-imapd/uniqueid (admittedly rendering the CalDAV =
> protocol access unavailable for Cyrus IMAP 2.4, while I can only retrieve=
the =
> uniqueid metadata value using Cyrus IMAP 2.5).
I suggest a simple escalation scenario which uses the
/shared/vendor/cmu/cyrus-imapd/uniqueid value if it exists and
alternatively generates and stores the UID in
/(shared|private)/vendor/kolab/dav-uid.
~Thomas
_______________________________________________
Kolab-devel mailing list
Kolab-devel@kolab.org
https://www.intevation.de/mailman/listinfo/kolab-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic