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 at 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 at 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 at 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 at 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 at 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 at 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 at 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