On 10/01/2017 22:54, Timo Sirainen wrote:
On 10 Jan 2017, at 21.00, Gioele Barabucci gioele@svario.it wrote:
I am in the process of updating my IMAP dovecot installation and I was wondering what is the current state of the art for GMail-like user-defined labels.
Are GMail-like user-defined labels now somehow achievable with dovecot?
a) Implement a new storage format where all the mails are in a single physical folder. Treat flags as labels. When accessing with IMAP, create virtual folders based on the flags. This is how GMail works.
Hello Timo, thank you for the answers.
To my uneducated eyes this solution seems the most straightforward and less error-prone. But I suppose that the devil is in the details.
b) Implement a way to export the current folder-based storage using labels. This could be done with a virtual "all mails" folder, which combines both message flags and folder names into labels for the mails. It also likely means that changing a label changes the flag in each physical folder where the mail exists in. This is what we were planning to do for the Dovecot GMail API support.
It is great to see that things are still being worked on.
What about flags like \Seen or \Answered? Will they also be kept in sync or will each copy of a message have its own set of flags?
In any case, priority for GMail API support has dropped pretty low. Most people didn't really care about actually having GMail compatible API, but more about having some kind of a HTTP API.
I do not know about how much a "GMail API" is requested, but all (_all_, not most) users I have met lament the lack of GMail-like labels and conversations in IMAP clients (desktop, mobile and web based).
If now, what is missing? Standardized metadata formats? Support in clients?
I have a feeling you're thinking about something completely different from what I'm thinking though. You know that we have user-defined flags already, right? What exactly do you want to be different?
My idea of "GMail-like user labels" is composed of two parts:
Tags/labels that the user can freely attach to messages/conversations. User-defined flags can be attached to messages, but there is no way to store metadata like the human-readable name of the label (e.g. "Travels in Italy") or its color. This metadata must be configured manually in each client.
the ability to see a tree-like structure based on these tags/labels, with the same message/conversation appearing in multiple "branches" at the same time and where deletion means "removal of tag".
IIUC both point 1 and 2 are still missing from dovecot.
Regards,
-- Gioele Barabucci gioele@svario.it