shared \seen flags on shared folders

Bron Gondwana brong at
Thu Sep 9 07:25:44 EDT 2010

On Thu, Sep 09, 2010 at 06:03:49AM -0400, Adam Tauno Williams wrote:
> On Thu, 2010-09-09 at 10:55 +0100, Gavin McCullagh wrote:
> > On Thu, 09 Sep 2010, Bron Gondwana wrote:
> > > On Wed, Sep 08, 2010 at 06:10:44PM +0100, Gavin McCullagh wrote:
> > > > 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.
> > I take it there's no way to sensibly migrate flag data from one to the
> > other? 
> Not that I know of;  would be really nice.

You could use cyr_dbtool to copy the record from the nobody.seen file into
the user's seen file, and vice versa.  I'm not sure that's "sensible" as

> > When a user leaves, it's sometimes useful to hang onto their mailboxes and
> > share them with another member of staff.  
> Yep, we do that all the time.

Any reason you don't just enable shared seen for all mailboxes?  Apart from
that it's a huge performance cow on current releases of course.  Bah.
Sorry, it's hard to even think about Cyrus 2.3 any more because I've been
working on the new code for 6 months and using it in production for two!
> > The \Seen flags can be useful in
> > this instance.  In general we wouldn't set seenflags by default so you end
> > up wishing to retro-fit it.

Yeah - that will be nicer in 2.4 for sure.

> > > 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.
> > That sounds like exactly what I want :-)
> So the user's own \Seen flags continue to exist [are just ignored] when
> shared seen state is enabled?

Yes - it's functionally identical to using the owner's username for seen
rather than a special "nobody" user.  The .seen files don't get cleaned
out, so if you turn shared seen back off, they still have the seen state
for the messages they already knew about, but everything since then
appears as unseen.


More information about the Info-cyrus mailing list