[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sup-devel] Storing message tags and other Sup info as headers in Maildir



Hi Sean,

I was expecting somebody else to reply in this but since I'm not
seeing anyone doing so, I'll give it a shot. I only recently
discovered sup, and I'm not a Ruby programmer, however I got quite a
bunch of experience with Python (now the rest of the mailing list can
proceed flaming me). The following post is purely speculative.

Shortly put, I don't expect to see any change on this matter, at least
in the near future. There is and has been a tool, sup-sync-back which
should reflect the changes back to mbox/maildir but the way it works
is far from ideal, I guess. Anyway..

Let's get one thing straight first, sup doesn't really use specific
status flags/tags or such for mails. Instead, every piece of
information is in the labels. A couple of labels are predefined:
Attachment, Deleted, Draft, Inbox, Killed, Sent, Spam, Starred and
Unread. Technically, a message that is archived is simply lacking the
label "Inbox". Rest of the labels are user-defined.

Standard maildir format already provides following flags by default:
(S)een, (T)rashed, (D)raft. In addition flags that sup doesn't need;
Passed, Replied and Flagged.

Dovecot (an IMAP server) provides user defined flags for maildirs. The
flags are lowercase letters ranging a-z (up to 26 different), and
seems like it works OK with the maildir. (
http://wiki.dovecot.org/MailboxFormat/Maildir ). This could be one
nice option if a limit of some 20 user tags aren't too few.

Example maildir mail flags:
:2,Sacd

S - standard maildir flag: Seen, MUA would label as "Read"
a - custom flag - MUA would label as "Archived"
b - custom flag - MUA would label as "Starred"
d - custom flag - User would label as "Work"

This is of course kinda opposite to sup's current situation where
messages are defined as Unread or Inbox, but anyway..


Personally I don't like the idea of MUA messing up with the email
headers as you suggested. Plus, this would result in a lot of
fragmentation on a hard disk with tens of thousands of emails, if on
initial sync sup would need to write label information in the middle
of every email. And as always when writing, there's a risk of data
loss, which would require additional measures.

This area interests me, however, and I guess I'm gonna make some
experiments how the flagging thing works in action, and if it makes
other mail clients break. (I doubt it does, otherwise Dovecot wouldn't
be using it, huh?).

Regards,
Matti
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel