Hi all,
while I am rather a beginner when it comes to IMAP, I was thinking whether it would be possible (and feasible) to implement setting and unsetting of IMAP keywords with the means of virtual folders in Dovecot.
The background is that the IMAP keywords seem to be a very useful thing to me: I would often like to be able to 'tag' a message so that it is easy to group with other similar messages and easy to find/ browse later. The problem is that not all IMAP clients support this functionality (as far as I am aware, mine which happens to be The Bat! does not); the only way of achieving similar results is using regular folders for grouping messages but this has several disadvantages, the most prominent one being unable to assign more than one 'tag' to a message this way (without copying a message).
What I am thinking of is a server-side 'helper' that intends to achieve functionality similar to native client keywords support by the means of providing 'virtual folders' (as opposed to regular folders that we've known for a long time). The server would expose a list of virtual folders (user defined, either server-side by modifying the configuration, or client-side, by using the existing 'create regular folder' folder functionality but using a special name format that would be recognized by the server to be virtual folder related). These virtual folders would, upon moving a message to them, apply a keyword to the message (but the message would not be moved as it would be the case with regular folders). Upon moving a message from a virtual folder, the keyword would be reset. This means that the messages would not normally be moved from their place in existing hard folder structure but they would additionally be flagged with a keyword (or more of them) and be visible in respective virtual folders.
The result is:
- keywords support for clients that do not natively support it,
- leaving existing message folder structure intact,
- support for multiple keywords/ labels per message (one virtual folder = one keyword),
- browsing flagged messages via respective virtual folders.
What do you think of it?
While I've been toying with this and similar ideas for a long time, what I propose above is of course heavily influenced by the recent addition of IMAP access to Gmail ([1]). While I still do not have it enabled for my account, I presume this is how the Gmail labels get translated to IMAP client ([2], [3]).
[1] https://mail.google.com/support/bin/topic.py?topic=12760 [2] https://mail.google.com/support/bin/answer.py?answer=77657&topic=12762 [3] https://mail.google.com/support/bin/answer.py?answer=78758&topic=12762
-- Best regards, Robert Tomanek mailto:dovecot@mail.robert.tomanek.org