[Dovecot] Gmail like labels, three years later
On this post http://www.dovecot.org/list/dovecot/2011-June/059605.html I was asking about the possibility of using arbitrary labels on messages, much like Gmail does. On following replies, I was told about few tricks that might be used, that the IMAP protocol was being considering UTF-8 labels and ways to integrate them into the current system, etc., etc., etc. That sounds nice and all.
I'm chiming in three years later only to know if things have changed, both at Dovecot and at the IMAP protocol. Are we closer to have proper labels on IMAP? Labels that help sorting messages in virtual folders where a message can belong in several of them?
I consider "label vs folder" a done discussion (since labels can always include folders; a labels system can always be implemented as a folders system, but not viceversa; etc), so what's stopping development in that direction? Have any new energies being devoted to that cause?
I just seen Dovecot is number 1 among IMAP servers by a large margin. Congratulations to the devs.
Aleve.
On 27.3.2013, at 5.15, Pablo Vieira pablo@vieira.es wrote:
On this post http://www.dovecot.org/list/dovecot/2011-June/059605.html I was asking about the possibility of using arbitrary labels on messages, much like Gmail does. On following replies, I was told about few tricks that might be used, that the IMAP protocol was being considering UTF-8 labels and ways to integrate them into the current system, etc., etc., etc. That sounds nice and all.
I'm chiming in three years later only to know if things have changed, both at Dovecot and at the IMAP protocol. Are we closer to have proper labels on IMAP? Labels that help sorting messages in virtual folders where a message can belong in several of them?
My latest idea: Keep using the rather dummy simple IMAP keywords. Use IMAP METADATA to create a mapping between keyword <-> human readable name. Dovecot is getting close to having native METADATA support. Such IMAP standard would still need to be designed though. Anyone up for writing an RFC? :)
2013/3/27 Timo Sirainen tss@iki.fi
On 27.3.2013, at 5.15, Pablo Vieira pablo@vieira.es wrote:
On this post http://www.dovecot.org/list/dovecot/2011-June/059605.html I was asking about the possibility of using arbitrary labels on messages, much like Gmail does. On following replies, I was told about few tricks that might be used, that the IMAP protocol was being considering UTF-8 labels and ways to integrate them into the current system, etc., etc., etc. That sounds nice and all.
I'm chiming in three years later only to know if things have changed, both at Dovecot and at the IMAP protocol. Are we closer to have proper labels on IMAP? Labels that help sorting messages in virtual folders where a message can belong in several of them?
My latest idea: Keep using the rather dummy simple IMAP keywords. Use IMAP METADATA to create a mapping between keyword <-> human readable name. Dovecot is getting close to having native METADATA support. Such IMAP standard would still need to be designed though. Anyone up for writing an RFC? :)
Thanks Timo, I'm not quite sure what IMAP METADATA is. Will have some spare time this summer. Any good readings about IMAP you can recommend? MIght as well help in that department.
On 27.3.2013, at 17.28, Pablo Vieira pablo@vieira.es wrote:
My latest idea: Keep using the rather dummy simple IMAP keywords. Use IMAP METADATA to create a mapping between keyword <-> human readable name. Dovecot is getting close to having native METADATA support. Such IMAP standard would still need to be designed though. Anyone up for writing an RFC? :)
Thanks Timo, I'm not quite sure what IMAP METADATA is. Will have some spare time this summer. Any good readings about IMAP you can recommend? MIght as well help in that department.
METADATA is simply about adding simple key=value pairs to mailboxes. So you could have something like:
/shared/keywords/$Label1 = Important /shared/keywords/$Label2 = Work /shared/keywords/HelloWorld = Hello World messages
Probably it wouldn't need to be any more complex than that. The clients would then handle adding/changing/removing those keywords.
http://tools.ietf.org/html/rfc5464 describes METADATA.
2013/3/27 Timo Sirainen tss@iki.fi
On 27.3.2013, at 17.28, Pablo Vieira pablo@vieira.es wrote:
METADATA is simply about adding simple key=value pairs to mailboxes. So you could have something like:
/shared/keywords/$Label1 = Important /shared/keywords/$Label2 = Work /shared/keywords/HelloWorld = Hello World messages
Probably it wouldn't need to be any more complex than that. The clients would then handle adding/changing/removing those keywords.
http://tools.ietf.org/html/rfc5464 describes METADATA.
Thanks a lot. Any idea when METADATA will have a full implementation in Dovecot? Them along with virtual folders might make it easy to build a Gmail-like system.
Quoting Timo Sirainen tss@iki.fi:
On 27.3.2013, at 5.15, Pablo Vieira pablo@vieira.es wrote:
On this post http://www.dovecot.org/list/dovecot/2011-June/059605.html I was asking about the possibility of using arbitrary labels on messages, much like Gmail does. On following replies, I was told about few tricks that might be used, that the IMAP protocol was being considering UTF-8 labels and ways to integrate them into the current system, etc., etc., etc. That sounds nice and all.
I'm chiming in three years later only to know if things have changed, both at Dovecot and at the IMAP protocol. Are we closer to have proper labels on IMAP? Labels that help sorting messages in virtual folders where a message can belong in several of them?
My latest idea: Keep using the rather dummy simple IMAP keywords.
Use IMAP METADATA to create a mapping between keyword <-> human
readable name. Dovecot is getting close to having native METADATA
support. Such IMAP standard would still need to be designed though.
Anyone up for writing an RFC? :)
Would the idea be that once the extension is announced a client would
then need to do a metadata lookup everytime you open the mailbox to
build a keyword->label map? That could potentially be an expensive
operation.
Maybe you could do something like an ENABLE LABELS so that when you
open a mailbox, you would see something like this (SELECT/EXAMINE
response):
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft foo1 foo2 Junk NonJunk)
- LABELS (NIL NIL NIL NIL NIL "Label 1" "Label 2 Text" NIL NIL)
So there is no need to manually deal with lookups. Storing the labels
would be done via standard METADATA commands.
michael
On 27.3.2013, at 22.15, Michael M Slusarz slusarz@curecanti.org wrote:
My latest idea: Keep using the rather dummy simple IMAP keywords. Use IMAP METADATA to create a mapping between keyword <-> human readable name. Dovecot is getting close to having native METADATA support. Such IMAP standard would still need to be designed though. Anyone up for writing an RFC? :)
Would the idea be that once the extension is announced a client would then need to do a metadata lookup everytime you open the mailbox to build a keyword->label map? That could potentially be an expensive operation.
Maybe you could do something like an ENABLE LABELS so that when you open a mailbox, you would see something like this (SELECT/EXAMINE response):
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft foo1 foo2 Junk NonJunk)
- LABELS (NIL NIL NIL NIL NIL "Label 1" "Label 2 Text" NIL NIL)
So there is no need to manually deal with lookups. Storing the labels would be done via standard METADATA commands.
Hmm. Maybe .. Although it would be nice to get the IMAP design away from such special-case features and try to make these more generic (which might not even require server modifications to work). Like maybe with CONDSTORE/QRESYNC you could simply see if your cached labels-modseq equals to the old one. Or simply pipelining the GETMETADATA command with SELECT. Or something.. I haven't really thought this much.
participants (3)
-
Michael M Slusarz
-
Pablo Vieira
-
Timo Sirainen