13 Feb 2012 01:45
ANNOTATE-EXPERIMENT-1
Timo Sirainen <tss <at> iki.fi>
2012-02-13 00:45:32 GMT
2012-02-13 00:45:32 GMT
I was thinking about finally implementing METADATA + per-mail annotations to Dovecot so I read through the RFCs. There are mainly two things I'd do differently in ANNOTATE-EXPERIMENT-2: 1. METADATA has case-insensitive entry names, ANNOTATE has case-sensitive. Probably better to keep them case-insensitive in both. 2. SORT (ANNOTATION) - is this really worth the trouble? There's really no good way for servers to implement this in an efficient way. It would pretty much require building and maintaining an index for every single annotation entry name. And other things I wondered about: - If APPEND has annotations, and annotation limits are reached, the whole APPEND fails with TOOBIG/TOOMANY error? I guess it has to, although that's a bit annoying. - ANNOTATE doesn't specify what happens if STORE can change only some of the entries. Should it rollback the changes to all the previous entries as well? Including changes to previous messages if multiple messages were specified? Would have been simpler if both METADATA and ANNOTATE supported changing only one annotation at a time. - TOOBIG/TOOMANY doesn't map very nicely if I want to have global "max. annotation size" and "max. annotation count". Perhaps a global max. count shouldn't exist, since the number of mails/mailboxes could be limited instead, but a global size similar to mail quota should exist. I guess when that global size is reached it just fails with TOOBIG until some annotations are deleted.
RSS Feed