[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kolab-devel
Subject:    Re: [Kolab-devel] Completing ActiveSync integration in Kolab,
From:       Bernhard Herzog <bh () intevation ! de>
Date:       2010-03-17 11:43:42
Message-ID: 201003171243.43053.bh () intevation ! de
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


On 17.03.2010, Georg C. F. Greve wrote:

> So we plan to introduce a
>
> 	/vendor/kolab/activesync
>
> which defaults to YES, if not set, and which is a string of the format
>
>                 <BOOL>[;<SERIAL NO>:<BOOL>[;<SERIAL NO>:<BOOL>[...]]]
>
>         with <BOOL> = 1 or 0 (for yes or no)
>         and <SERIAL NO> = serial number of the phone
>
> to allow a per-device setting of synchronisation preferences.
>
> In order to make these preferences per-user, this annotation needs to be
> per- user-writeable, including for
>
> 	(a) shared folders where user has at least (but maybe only) read access
>         (b) other user's folders to which the user has read access (or
> more)
>
> The IMAP annotatemore extension allows for namespaces, see
>
> 	http://tools.ietf.org/html/draft-daboo-imap-annotatemore-17#section-3.2
> 
> so this would be defined as a private (and thus living in the user specific
> namespace) annotation that should be set by each user for any folder where
> they have read access (or more).
>
> This should work according to specification, but the question is whether it
> is currently implemented in Cyrus, and how.

IIRC Cyrus IMAPd actually implements an older version of that draft, 
draft-daboo-imap-annotatemore-05, which is somewhat different.

In the older draft, setting a private annotation would be e.g.

x SETANNOTATION "INBOX/Kalender" "/vendor/kolab/activesync" ("value.priv" "1")

A public annotation would use "value.shared". Reading would be

x GETANNOTATION "INBOX/Kalender" "/vendor/kolab/activesync" "value.priv"

Private annotations seem to work at least for folders owned by the user and 
the "/vendor/kolab/folder-type" annotation (just tested that a little).

The newer drafts and the actual RFC that came out of it (rfc5464) make 
private, i.e. per user, annotations optional, though.  Kolab could make them 
mandatory for the activesync support, of course, but it could make it more 
difficult to switch from cyrus to some other imap server, like dovecot.
Publich annotations/metadata are easier to implement than private ones.


Regards

  Bernhard

-- 
Bernhard Herzog  |  ++49-541-335 08 30  |  http://www.intevation.de/
Intevation GmbH, Neuer Graben 17, 49074 Osnabrück | AG Osnabrück, HR B 18998
Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner

["signature.asc" (application/pgp-signature)]

_______________________________________________
Kolab-devel mailing list
Kolab-devel@kolab.org
https://kolab.org/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