[Top] [All Lists]


2004-11-02 08:31:26

On Sun October 31 2004 18:03, Keith Moore wrote:

I'm thinking that 
archives should be based on maildir at the server end,

It's not clear exactly what you mean by "maildir"; the UW IMAP
documents mention a "Maildir" format, but that has a number
of problems including frequent renaming of files, which won't
work well with URIs.  Cyrus imapd folder structure seems
amenable; UIDs are numeric and the message file name
consists of the UID followed by a period. There are a few
additional database files (cyrus.cache, cyrus.header,
cyrus.index) and there may be subfolders.  Messages are
stored in pure RFC [2]822 format (including CRLF line endings).

though for the  
sake of efficiency I'm wondering about options to use mbox format 
(yeech) and compression,

It's not clear what efficiency would result; mbox format is a pain
to edit (e.g. to remove spam or other inappropriate messages that
might get into the archive) and has the disadvantage of putting
all of the eggs in one rather vulnerable basket. It would also be
difficult to provide ftp*etc.) access to individual messages from
a flat mbox file.

and also how to avoid having several years'  
worth of archives in a single directory or file while still making the 
whole archive appear seamless to the client.

Subfolders would be one way to organize messages into groups
(e.g. by year and month), but I'm not convinced that it's
necessary (I've used Cyrus imapd with more than 30,000
messages in a folder with no problem).

Offhand it looks like FTP  
is probably the most straightforward access method to implement, but 
that it should be possible to define reasonable access via other 
protocols also.

Using Cyrus imapd would natively provide IMAP, POP, and
NNTP access; since each message is stored as a file, ftp access
would be trivial to provide (simply provide a link between
ftp namespace and the IMAP folder).  Likewise for serving
native message format via http.  Using off-the-shelf products
and minimal effort, that would provide access to messages
via five distinct protocols (six URI schemes (news and nntp
schemes both use NNTP protocol)) from a common message

<Prev in Thread] Current Thread [Next in Thread>