Preserving flags, and their global nature

Lawrence Greenfield leg+ at andrew.cmu.edu
Wed Nov 20 21:33:35 EST 2002


--On Tuesday, November 19, 2002 5:09 PM +0000 Ian McDonald 
<ian at londontown.com> wrote:

> Over the weekend, it struck me that a patch to make 'seen' global could be
> as simple as commenting out the calls to the code that treats '\Seen' as a
> special-case global variable, and adding 'Seen' to the list of global
> flags. Somewhere. Unfortunately, when I had a look at the source code, I
> could find libraries dealing with Seen, but no list of global flags or
> obvious hook for the 'seen' per-user code.
>
> Is it that simple? Where should I be looking?

Well, you can change the libraries dealing with seen to not pay attention 
to the username. If you want it to be stored with the other global flags it 
is somewhat more complicated.

To do this right, you want an option to store FLAG_SEEN as part of 
system_flags in the cyrus.index file. (Likewise, you probably want an 
option to store FLAG_DELETED as per-user state---so really you want to 
abstract out the idea of \Seen being special.)

Larry





More information about the Info-cyrus mailing list