On Thu, 20 Feb 2003, Andreas Aardal Hanssen wrote: > The problem with not prepending each folder with a dot '.', is that it > breaks Maildir++. > > http://www.inter7.com/courierimap/README.maildirquota.html > > Although I'm no fan of Courier-IMAP, this is the closest thing we have to > a Maildir subfolder standard, and we have to conform to it to work well > together with other Maildir++ applications.
As far as I can tell the leading period is arbitrary and unnecessary. - A maildir is a directory containing directories called ""tmp", "new" and "cur". - A maildir subfolder is a maildir contained within another maildir. End of story. It seems a simple story to me. The mapping of NAMESPACE, folder separator and IMAP folder names to storage directories is a *different* story. We need to be careful not to conflate the two issues. (Compatibility with Courier, however, requires that both issues be considered together). This maildir++ feature appears unnecessary to me: Within each subdirectory there's an empty file, maildirfolder. Its existence tells the mail delivery agent that this Maildir is a really a folder underneath a parent Maildir++. [Which mail delivery agents care whether a maildir is a folder underneath a parent maildir++?] One could argue for this as a useful optimisation - testing for a single file is quicker than checking for three directories. I'd like to see benchmarking evidence before accepting that argument. And what use is the maildirfolder file if "tmp", "new" and "cur" don't exist? The following seems to be another arbitrary and unnecessary restriction: Can folders have subfolders, defined in a recursive fashion? The answer is no. If you want to have a client with a hierarchy of folders, emulate it. Pick a hierarchy separator character, say ":". Then, folder foo/bar is subdirectory .foo:bar. Am I missing something? Disclaimer: I am not at all advocating breakage of compatibility with Courier. I am hoping, however, that slavish adherence to that compatibility is avoidable. -- Charlie

