On Fri, 14 Mar 2003, Caskey Dickson wrote: >On Fri, Mar 14, 2003 at 11:02:02AM -0500, Charlie Brady wrote: >> On Fri, 14 Mar 2003, Caskey Dickson wrote: >No, directory tree isn't adequate because while it is a directory tree >(in the ISA sense), there is considerable specific structure that >MUST/MAY/SHOULD be present and has defined interpretation and meaning (at >least meaning that is in the process of being defined). Therefore we >need something more specific than 'the directory' or 'the mail store' and >especially less awkward than 'the directory with the imap folders encoded >with dots in it in Maildir format'. >I'm fine with any name, but we will need a term to describe this specific >structure that is being contemplated. The best suggestion I've heard is >IMAPdir.
Following up on this, the structure could contain any kinds of mailboxes but the names are 1-1 mapped the way IMAP lists them. So IMAPdir suits this structure well. I find the idea that we have a chain of responsibility where each Mailbox specialization has a method to identify a mailbox of its own kind. So for a Maildir specialization checks wether it's a directory, then if it contains the cur/new/tmp directories. An mbox specialization could check that the mailbox is a file, and that its first few lines resemble that of an mbox structure. A PostgreSQL specialization could check wether the mailbox was a special file containing the host/port/scheme/database and so on, telling where that module should connect to. Andy BTW: This scheme does still not support hierarchical rename very well (which is one thing that Mark Crispin wants _out_ of the IMAP spec). Does anyone have any ideas on how such an operation could be done with exactly-once semantics and with full rollback? -- Andreas Aardal Hanssen | http://www.andreas.hanssen.name/gpg Author of Binc IMAP | Nil desperandum

