[haiku-development] Re: [GSoC proposal] IMAP FS - A few queries

  • From: Truls Becken <truls.becken@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 9 Apr 2011 09:54:15 +0200

On Sat, Apr 9, 2011 at 05:14, Donn Cave wrote:

> When I wrote "folder", I meant "IMAP folder".  As I see it, the IMAP
> "flag \Delete" and "EXPUNGE" are semantically similar to "move file
> to Trash" and "empty trash" with a Trash for each IMAP folder.

Ah, now I see. Again, your suggestion makes for being a good IMAP citizen :)

Instead of presenting mails striked through like in some clients, they
are moved to a sub-folder (or sibling folder?) locally to indicate the
same thing. This pretty much means not making use of the Trash concept
in Tracker. Not sure how one would trigger expunction. By deleting the
(virtual) trash folder?

Part of the reasoning is perhaps that an EXPUNGE operation happens for
a specific IMAP folder. After a quick look at the protocol [1], I see
that you need to SELECT each mailbox (IMAP folder) before you can
EXPUNGE it.

I think a key question is whether trash should be presented to the
user per folder or per account. Trash per folder might be too
verbose/complicated for the user, even though that's how IMAP thinks
of it. The FS could easily keep track of which mailboxes need
expunction so that the user sees it as an action on the account, and
the FS runs a series of commands, but avoids doing it on folders with
no mails flagged for deletion.

Expunging all accounts at once is probably not what the user expects.
This sort of links in with what Ingo said about emptying trash on your
disk and on IMAP not being the same thing. (One could also say that
when you want to free up space on a USB stick, you might not want to
also empty trash on your HDD.)

> You may understand better than I, how volumes would relate to
> IMAP folders - seems like it would either be 1) one volume per
> IMAP folder, or less likely 2) one IMAPFS volume period, for
> all folders on all servers.

Either one per account, or one period.

> Given the former, folder's trash and volume's trash would be the
> same, and since it preserves the semantics of the IMAP operations,
> you don't have to think at all about collisions etc.  You get the
> Trash folder more or less "for free" with IMAP, is another way to
> look at it, so it's arguably a feature that it's supported for
> lower level file deletion (like POSIX remove.)

I don't think having one volume per IMAP folder really buys you
anything for the Trash. The user experience would be the same since
Tracker combines Trash from all volumes.

-Truls

[1] http://tools.ietf.org/html/rfc3501

Other related posts: