[Imap-protocol] Childless noselect mailboxes
mrc+uw at Panda.COM
Wed Dec 30 14:07:58 PST 2009
On Wed, 30 Dec 2009, Brian Hayden wrote:
> This is unfriendly; a user never expects a parent to disappear simply because
> they deleted a child. Not only is it unexpected, but it's inconsistent; they
> can create an empty container, but it's removed unilaterally if it happens to
> become empty after it's had something in it?
You just destroyed your own argument.
The disappearing parent problem happens precisely because, and is an
unavoidable consequence, of the attitude that there should not be such a
thing as a \NoSelect name without children.
If you paid attention to what I was saying, you would not have fallen into
You could sink yourself in deeper, by saying that you want to prohibit
\NoSelect names. As soon as you do that, the unavoidable consequence is
that you prohibit deleting any mailbox that has children, and you prohibit
creating any mailbox unless you create the parent mailbox.
But, you say, you didn't mean that at all; rather, you claim that the
parent simply does not exist at all. Then you have stepped on yet another
landmine. I'll leave it as an exercise for you to figure out. Hint:
regardless of whether or not the parent exists in your implementation,
certain operations in IMAP require that it must exist (or more accurately
must not not-exist) in some form.
Before assuming that you are smarter than the old guy, you ought to make
sure that you really understand the problem.
The entire problem was caused because I gave in to people who thought like
you, and allowed this half-assed copy of netnews hierarchy to happen (over
the better judgement of my co-workers). I should have required explicit
directories (which can not have messages) and prohibited mailboxes from
having children. "Dual-use" mailboxes are a mess precisely because it is
ambiguous whether to view the messages or view the children when you
"open" it. I also should have insisted that "/" be the one, and only,
Done right, \NoSelect would have been \Directory, and it would be
prohibited to delete a directory with children.
-- Mark --
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.
More information about the Imap-protocol