Tag Configuration object draft

Aleksander Machniak machniak at kolabsys.com
Thu May 8 13:54:50 CEST 2014

On 05/08/2014 12:52 PM, Thomas Brüderli wrote:
> If Cyrus will support section 4.8. "ANNOTATION Criterion in SEARCH" of
> the RFC, yes.
> But I'd still suggest to use a fall-back with
> <message-id>;<message-date> just in case some clients do things that
> would destroy the message annotation. Think of a Thunderbird extension
> that removes attachments and therefor appends a new message in IMAP.

The idea was to not use fallbacks, but after more thinking... We
shouldn't get rid of fallbacks. So, we can use IMAP UID URI proposed by
you. If we assume that "move message after it was already tagged" is
more rare than common operation, the folder/UID prefix match should be
very fast and fallback searches will be rare.

Now I'm thinking what date format and which date (Date header or
internal date) we should use to make searching faster (end as unique as
possible). According to RFC3501 I think the best might be to use date
from Date: header as is. On the other hand Date: header might not exist.

Also, for above question, it might be important to decide how to handle
cases when we go with fallback search, but Message-Id header does not exist:
- skip that message, don't search by other criterias?
- search by date?

I think we should do fallback searches only if Message-Id exists. In
other rare cases we just loose tag assignment.

BTW, it might be worth implementing kolab module for cyrus that adds
Message-Id header to a received message without that information (to
minimize the lost tag assignment issue).

Aleksander Machniak
Web Developer, Kolab Systems AG
PGP:19359DC1 - http://www.kolabsys.com - http://alec.pl

More information about the format mailing list