[PLUGIN] Virtual keywords (aka Gmail-like labels)
Hello list, I'm new here and since I've been working on a plugin lately I though I'd post it here.
It's GPL licensed, hosted on GitHub: https://github.com/daniele-athome/dovecot-virtual-keywords-plugin
I've been trying to find a replacement for Gmail and I already have my own mailserver. What I'm missing very much is labels. Since folders don't really match labels, I had to implement something that at least resembles them.
I decided to use IMAP keywords since it's probably the closest thing to labels. The README in the repository pretty much describes what this plugin do, but basically it creates virtual mailboxes with predefined rules to match for labeled messages.
E.g. if you set a "Urgent" keyword on any message, the plugin will create a "Virtual/Urgent" virtual mailbox that will have the message you just labeled.
I'm a bit out of practice on C but I believe I managed. I've tested the plugin locally but I've not deployed it on my production mail server yet. I'd like to hear your opinions (reviews and comments are very welcome) and possibly find other people interested in this approach to discuss about it.
Thanks!
Daniele
On 01.10.2017 19:13, Daniele Ricci wrote:
Hello list, I'm new here and since I've been working on a plugin lately I though I'd post it here.
It's GPL licensed, hosted on GitHub: https://github.com/daniele-athome/dovecot-virtual-keywords-plugin
I've been trying to find a replacement for Gmail and I already have my own mailserver. What I'm missing very much is labels. Since folders don't really match labels, I had to implement something that at least resembles them.
I decided to use IMAP keywords since it's probably the closest thing to labels. The README in the repository pretty much describes what this plugin do, but basically it creates virtual mailboxes with predefined rules to match for labeled messages.
E.g. if you set a "Urgent" keyword on any message, the plugin will create a "Virtual/Urgent" virtual mailbox that will have the message you just labeled.
I'm a bit out of practice on C but I believe I managed. I've tested the plugin locally but I've not deployed it on my production mail server yet. I'd like to hear your opinions (reviews and comments are very welcome) and possibly find other people interested in this approach to discuss about it.
Thanks! You should be able to do this with virtual plugin itself, like
/etc/dovecot/virtual/Urgent: * KEYWORD Urgent
Aki
As a matter of fact I use the virtual plugin to achieve what I want. I create dovecot-virtual configuration files. But if I understand you correctly, your approach is a system-wide configuration. Labels are per-user and dynamic by definition.
On Mon, Oct 2, 2017 at 8:24 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
On 01.10.2017 19:13, Daniele Ricci wrote:
Hello list, I'm new here and since I've been working on a plugin lately I though I'd post it here.
It's GPL licensed, hosted on GitHub: https://github.com/daniele-athome/dovecot-virtual-keywords-plugin
I've been trying to find a replacement for Gmail and I already have my own mailserver. What I'm missing very much is labels. Since folders don't really match labels, I had to implement something that at least resembles them.
I decided to use IMAP keywords since it's probably the closest thing to labels. The README in the repository pretty much describes what this plugin do, but basically it creates virtual mailboxes with predefined rules to match for labeled messages.
E.g. if you set a "Urgent" keyword on any message, the plugin will create a "Virtual/Urgent" virtual mailbox that will have the message you just labeled.
I'm a bit out of practice on C but I believe I managed. I've tested the plugin locally but I've not deployed it on my production mail server yet. I'd like to hear your opinions (reviews and comments are very welcome) and possibly find other people interested in this approach to discuss about it.
Thanks! You should be able to do this with virtual plugin itself, like
/etc/dovecot/virtual/Urgent: * KEYWORD Urgent
Aki
-- Daniele
You can actually create per-user virtual folders too. They don't need to be global. But I see your plugin does automation, and it could write the virtual file under user-writable location.
Aki
On 02.10.2017 12:14, Daniele Ricci wrote:
As a matter of fact I use the virtual plugin to achieve what I want. I create dovecot-virtual configuration files. But if I understand you correctly, your approach is a system-wide configuration. Labels are per-user and dynamic by definition.
On Mon, Oct 2, 2017 at 8:24 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
On 01.10.2017 19:13, Daniele Ricci wrote:
Hello list, I'm new here and since I've been working on a plugin lately I though I'd post it here.
It's GPL licensed, hosted on GitHub: https://github.com/daniele-athome/dovecot-virtual-keywords-plugin
I've been trying to find a replacement for Gmail and I already have my own mailserver. What I'm missing very much is labels. Since folders don't really match labels, I had to implement something that at least resembles them.
I decided to use IMAP keywords since it's probably the closest thing to labels. The README in the repository pretty much describes what this plugin do, but basically it creates virtual mailboxes with predefined rules to match for labeled messages.
E.g. if you set a "Urgent" keyword on any message, the plugin will create a "Virtual/Urgent" virtual mailbox that will have the message you just labeled.
I'm a bit out of practice on C but I believe I managed. I've tested the plugin locally but I've not deployed it on my production mail server yet. I'd like to hear your opinions (reviews and comments are very welcome) and possibly find other people interested in this approach to discuss about it.
Thanks! You should be able to do this with virtual plugin itself, like
/etc/dovecot/virtual/Urgent: * KEYWORD Urgent
Aki
Yes, automation is the main point of the plugin :-)
The problem is that creating virtual folders involves writing on the file system directly, which you can't do through IMAP alone. So I had to work within the mail server.
What I really wanted to do was to create a storage driver (it seemed more suitable to the plugin scope), but that was much more complex and it will probably come in a future version.
I'm also going to extend an existing Roundcube plugin for a more complete keyword handling.
On Mon, Oct 2, 2017 at 11:17 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
You can actually create per-user virtual folders too. They don't need to be global. But I see your plugin does automation, and it could write the virtual file under user-writable location.
Aki
On 02.10.2017 12:14, Daniele Ricci wrote:
As a matter of fact I use the virtual plugin to achieve what I want. I create dovecot-virtual configuration files. But if I understand you correctly, your approach is a system-wide configuration. Labels are per-user and dynamic by definition.
On Mon, Oct 2, 2017 at 8:24 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
On 01.10.2017 19:13, Daniele Ricci wrote:
Hello list, I'm new here and since I've been working on a plugin lately I though I'd post it here.
It's GPL licensed, hosted on GitHub: https://github.com/daniele-athome/dovecot-virtual-keywords-plugin
I've been trying to find a replacement for Gmail and I already have my own mailserver. What I'm missing very much is labels. Since folders don't really match labels, I had to implement something that at least resembles them.
I decided to use IMAP keywords since it's probably the closest thing to labels. The README in the repository pretty much describes what this plugin do, but basically it creates virtual mailboxes with predefined rules to match for labeled messages.
E.g. if you set a "Urgent" keyword on any message, the plugin will create a "Virtual/Urgent" virtual mailbox that will have the message you just labeled.
I'm a bit out of practice on C but I believe I managed. I've tested the plugin locally but I've not deployed it on my production mail server yet. I'd like to hear your opinions (reviews and comments are very welcome) and possibly find other people interested in this approach to discuss about it.
Thanks! You should be able to do this with virtual plugin itself, like
/etc/dovecot/virtual/Urgent: * KEYWORD Urgent
Aki
-- Daniele
There is actually some request for ability to users to somehow create virtual folders on demand, so it's a thing we are going to work on at some point.
Aki
On 02.10.2017 12:27, Daniele Ricci wrote:
Yes, automation is the main point of the plugin :-)
The problem is that creating virtual folders involves writing on the file system directly, which you can't do through IMAP alone. So I had to work within the mail server.
What I really wanted to do was to create a storage driver (it seemed more suitable to the plugin scope), but that was much more complex and it will probably come in a future version.
I'm also going to extend an existing Roundcube plugin for a more complete keyword handling.
On Mon, Oct 2, 2017 at 11:17 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
You can actually create per-user virtual folders too. They don't need to be global. But I see your plugin does automation, and it could write the virtual file under user-writable location.
Aki
On 02.10.2017 12:14, Daniele Ricci wrote:
As a matter of fact I use the virtual plugin to achieve what I want. I create dovecot-virtual configuration files. But if I understand you correctly, your approach is a system-wide configuration. Labels are per-user and dynamic by definition.
On Mon, Oct 2, 2017 at 8:24 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
On 01.10.2017 19:13, Daniele Ricci wrote:
Hello list, I'm new here and since I've been working on a plugin lately I though I'd post it here.
It's GPL licensed, hosted on GitHub: https://github.com/daniele-athome/dovecot-virtual-keywords-plugin
I've been trying to find a replacement for Gmail and I already have my own mailserver. What I'm missing very much is labels. Since folders don't really match labels, I had to implement something that at least resembles them.
I decided to use IMAP keywords since it's probably the closest thing to labels. The README in the repository pretty much describes what this plugin do, but basically it creates virtual mailboxes with predefined rules to match for labeled messages.
E.g. if you set a "Urgent" keyword on any message, the plugin will create a "Virtual/Urgent" virtual mailbox that will have the message you just labeled.
I'm a bit out of practice on C but I believe I managed. I've tested the plugin locally but I've not deployed it on my production mail server yet. I'd like to hear your opinions (reviews and comments are very welcome) and possibly find other people interested in this approach to discuss about it.
Thanks! You should be able to do this with virtual plugin itself, like
/etc/dovecot/virtual/Urgent: * KEYWORD Urgent
Aki
That's great news! Feel free to use my code if it may help.
At first I actually thought about patching the virtual plugin itself, but it's the first time I hack into Dovecot so I thought a separated (and simpler) plugin would be better.
On Mon, Oct 2, 2017 at 11:29 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
There is actually some request for ability to users to somehow create virtual folders on demand, so it's a thing we are going to work on at some point.
Aki
On 02.10.2017 12:27, Daniele Ricci wrote:
Yes, automation is the main point of the plugin :-)
The problem is that creating virtual folders involves writing on the file system directly, which you can't do through IMAP alone. So I had to work within the mail server.
What I really wanted to do was to create a storage driver (it seemed more suitable to the plugin scope), but that was much more complex and it will probably come in a future version.
I'm also going to extend an existing Roundcube plugin for a more complete keyword handling.
On Mon, Oct 2, 2017 at 11:17 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
You can actually create per-user virtual folders too. They don't need to be global. But I see your plugin does automation, and it could write the virtual file under user-writable location.
Aki
On 02.10.2017 12:14, Daniele Ricci wrote:
As a matter of fact I use the virtual plugin to achieve what I want. I create dovecot-virtual configuration files. But if I understand you correctly, your approach is a system-wide configuration. Labels are per-user and dynamic by definition.
On Mon, Oct 2, 2017 at 8:24 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
On 01.10.2017 19:13, Daniele Ricci wrote:
Hello list, I'm new here and since I've been working on a plugin lately I though I'd post it here.
It's GPL licensed, hosted on GitHub: https://github.com/daniele-athome/dovecot-virtual-keywords-plugin
I've been trying to find a replacement for Gmail and I already have my own mailserver. What I'm missing very much is labels. Since folders don't really match labels, I had to implement something that at least resembles them.
I decided to use IMAP keywords since it's probably the closest thing to labels. The README in the repository pretty much describes what this plugin do, but basically it creates virtual mailboxes with predefined rules to match for labeled messages.
E.g. if you set a "Urgent" keyword on any message, the plugin will create a "Virtual/Urgent" virtual mailbox that will have the message you just labeled.
I'm a bit out of practice on C but I believe I managed. I've tested the plugin locally but I've not deployed it on my production mail server yet. I'd like to hear your opinions (reviews and comments are very welcome) and possibly find other people interested in this approach to discuss about it.
Thanks! You should be able to do this with virtual plugin itself, like
/etc/dovecot/virtual/Urgent: * KEYWORD Urgent
Aki
-- Daniele
participants (2)
-
Aki Tuomi
-
Daniele Ricci