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