Thank you Aki, for your quick response.

dovecot-shared file flag should actually enable the INDEXPVT setting in the NameSpace for each mailbox it has been created in, as it did for INDEX setting.

Below folows the output of the `dovecot -n` command:
---------------------------------------------------------------------------------

auth_mechanisms = plain login
disable_plaintext_auth = no
imap_capability = +SPECIAL-USE XLIST
listen = *,[::]
lmtp_rcpt_check_quota = yes
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_attachment_dir = /ZSAFEMAIL/ATTACHED/attached
mail_attachment_min_size = 64 k
mail_max_userip_connections = 100
mail_plugins = quota acl
mail_privileged_group = vmail
namespace {
  inbox = no
  list = yes
  location = sdbox:/var/vmail/PublicFolders:LAYOUT=fs:DIRNAME=dbox-MailFolder:INDEXPVT=~/Maildir/public
  prefix = PublicFolders/
  separator = /
  subscriptions = no
  type = public
}
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
  separator = /
  subscriptions = yes
  type = private
}
passdb {
  args = /etc/dovecot/dovecot-sql-master.conf.ext
  driver = sql
  master = yes
  pass = yes
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  acl = vfile
  quota = dict:user::file:/var/vmail/%d/%n/.quotausage
  quota_status_nouser = DUNNO
  quota_status_overquota = 552 5.2.2 Mailbox is full
  quota_status_success = DUNNO
  sieve = /var/vmail/%d/%n/.sieve
  sieve_after = /var/vmail/%d/%n/.ispconfig.sieve
  sieve_before = /var/vmail/%d/%n/.ispconfig-before.sieve
  sieve_max_actions = 100
  sieve_max_redirects = 25
  sieve_max_script_size = 2M
}
protocols = imap pop3 lmtp
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0600
    user = vmail
  }
  user = root
}
service imap-login {
  client_limit = 1000
  process_limit = 512
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service quota-status {
  client_limit = 1
  executable = quota-status -p postfix
  unix_listener /var/spool/postfix/private/quota-status {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service stats {
  unix_listener stats-reader {
    group = vmail
    mode = 0660
    user = vmail
  }
  unix_listener stats-writer {
    group = vmail
    mode = 0660
    user = vmail
  }
}
ssl_cert = </etc/postfix/smtpd.cert
ssl_cipher_list = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1.2
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
  override_fields = master_user=%u
}
protocol imap {
  auth_verbose = yes
  mail_plugins = quota imap_quota acl
}
protocol pop3 {
  auth_verbose = yes
  mail_plugins = quota
  pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
  mail_plugins = sieve quota
  postmaster_address = postmaster@...
}
protocol lmtp {
  mail_plugins = quota sieve
  postmaster_address = postmaster@...
}


----------------------------------------------------------------------------------

Is it a bug of some kind?

Thank you,

Panos.

On 29/3/2021 08:43, Aki Tuomi wrote:

      
On 29/03/2021 02:28 Panayiotis Fafakos <pfaf@wisdomsoftware.net> wrote:


Dear Timo,
 
 we have successfully used dovecot-shared file flag in MaildirPublicNameSpaces with private index files, to have per-user-seen flags for some but not all mailboxesunder public folders.
 This was actually done on older dovecot versions (i.e dovecot v2.2.33.2) , using a location setting in dovecot.conf like:
 location = maildir:/var/vmail/PublicFolders:LAYOUT=fs:DIRNAME=privDirMailFolder:INDEX=~/Maildir/public
 
 We try to use similar location setting using sdbox storage in dovecot v2.3.4.1, like below:
 location = sdbox:/var/vmail/PublicFolders:LAYOUT=fs:DIRNAME=dbox-MailFolder:INDEXPVT=~/Maildir/public
 but the dovecot-sharedfile flag seems to be ignored. 
 As a result all mailboxes under public folders use the per-user-seen flags setting as set in the location setting, regardless of the existence of the dovecot-shared file flag or not.
 
 Is there any setting to use so that only some mailboxes under public folders use per-user-seen flags?
 
 Thank you in advance for your support,
 
 Panos Fafakos.
 

Hi Panos,

INDEXPVT is a namespace level setting, not per-folder setting. I cannot see any "dovecot-sharedfile" flag, maybe provide `doveconf -n`?

Aki