You can also use

namespace virtual {
 location=virtual:/etc/dovecot/virtual:INDEX=~/virtual/:CONTROL=~/virtual/
....
}

so you put the folder definitions under /etc and per-user indexes end up under user home. 
---
Aki Tuomi
Dovecot oy

-------- Original message --------
From: LuKreme <kremels@kreme.com>
Date: 01/03/2018 20:40 (GMT+02:00)
To: dovecot@dovecot.org
Subject: Virtual question

For each virtual directory you need to create a dovecot-virtual file. Its syntax is like:

OK, where does this file get created?

Say I want the users to have a virtual mailbox that is messages received in the last month, does that file go into each user' s Maildir path?

It sounds like I have to create a virtual folder for each user, then any folders inside that folders, and then the config files in each of the sub folders.

user1/Maildir/virtual/month/dovecot-virtual
user1/Maildir/virtual/week/dovecot-virtual
user1/Maildir/virtual/flagged/dovecot-virtual
user1/Maildir/virtual/Amazon/dovecot-virtual
user2/Maildir/virtual/month/dovecot-virtual
user2/Maildir/virtual/week/dovecot-virtual
user2/Maildir/virtual/flagged/dovecot-virtual
user2/Maildir/virtual/Amazon/dovecot-virtual

Yes?

If so, is there anyway to have a "global”virtual that applies to all users (but not that unifies the mail between users or anything like that).

Also, will virtual mailboxes show up automatically for the user in the folder list or will they have to specifically subscribe to them? (Assuming they use a client that allows subscribing instead of auto showing all mailboxes like iOS).

˜kremels/ $ cat Maildir/virtual/month/dovecot-vitual 
# ~/Maildir/virtual/month/dovecot-virtual
INBOX
work/*
  all younger 2678400

That should create a mailbox "month” in a folder named "virtual” that shows all the messages from the last 31d, yes? And I should be able to access that mailbox in a MUA like Roundcube or <spit>Thunderbird?

-- 
My main job is trying to come up with new and innovative and effective ways to reject even more mail. I'm up to about 97% now.