Need advice: mailbox-based \Seen flag

Ken Murchison murch at andrew.cmu.edu
Sat Sep 1 14:05:42 EDT 2007


I had some time while waiting for paint to dry, so I whipped up this 
quick patch for shared seen state, based on our previous discussions. 
It uses a "/vendor/cmu/cyrus-imapd/sharedseen" mailbox annotation, 
stored as a mailbox option in the index header, to enable/disable shared 
seen state, and stores the shared seen state in "anyone.seen".  Note 
that this patch is completely untested, although it compiles against 
CVS.  I also didn't consider replication yet.

Feel free to try this and see if it has the intended behavior.  Remember 
that the 's' ACL right controls whether a person can change the \Seen 
flag on a message.


Boris Lytochkin wrote:
> Hello!
> 
> I need an advice in implementing per-mailbox \Seen flag (or 'shared'
> \Seen flag in per-user basis).
> 
> For now I want to implement it this way:
> 1) add a new mailbox attribute, say 'sharedseen'
> 2) switch path for .seen file in imap/seen_*.c:seen_getpath() if
>    'sharedseen' flag is set on mailbox.
> 3) changes in replication module?
> 
> So, setting 'sharedseen' attribute to mailbox will cause using
> per-mailbox seen-file.
> 
> What are weak points of this implementation?
> Is there more correct way to make per-mailbox \Seen flag?
> 
> 


-- 
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sharedseen.diff
Type: text/x-patch
Size: 6534 bytes
Desc: not available
Url : http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20070901/4b0e10e0/attachment.bin 


More information about the Cyrus-devel mailing list