shared \seen flags on shared folders

Bron Gondwana brong at fastmail.fm
Wed Sep 8 17:39:35 EDT 2010


On Wed, Sep 08, 2010 at 06:10:44PM +0100, Gavin McCullagh wrote:
> If a folder has sharedseen=true set in the metadata from its creation and
> forever, I would expect shared seen flags.  If a folder always has
> sharedseen=false for its entire life, I expect per-user \Seen flags.
> 
> What happens if the sharedseen attribute is changed during the lifetime of
> a folder, when users may already have their own (or shared) \Seen flags?

In Cyrus 2.3 and before (i.e. everything that's released now!) they are
completely separate.  Under the hood, the \Seen flags are actually owned
by a 'nobody' user.

In Cyrus 2.4 (when I finish it!) the sharedseen flags are actually the
_owner_'s flags.  So if I turned on sharedseen on user.brong.SharedFolder
then everybody would inherit my \Seen flags.  If I turned it back on again,
they would each get back their own \Seen flags, and I would keep the shared
flags.

This is because the owner's flags will be stored in the index rather than
a separate .seen file for efficiency in the common case - and shared seen
is implemented by mapping all the \Seen flags to the index by ignoring
the username.

Bron ( this stuff it running in production at FastMail - it's not just in
       my imagination!  It's the upgrade path and ancillary tools that
       aren't ready yet.  The core is solid... )


More information about the Info-cyrus mailing list