[Kolab-devel] Completing ActiveSync integration in Kolab, and a request for input on IMAP annotatemore extensions

Bernhard Herzog bh at intevation.de
Wed Mar 17 12:43:42 CET 2010


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.kolab.org/pipermail/devel/attachments/20100317/f8f2656c/attachment.sig>


More information about the devel mailing list