[Mailman-Developers] Skinning Mailman (how to add a customer UI in five minutes or less...)

Chuq Von Rospach chuqui@plaidworks.com
Wed, 30 May 2001 23:02:53 -0700

On Wednesday, May 30, 2001, at 10:51 PM, Barry A. Warsaw wrote:

>     CVR> The other key one for me are some of the admin messages
>     CVR> (Mailman/Handlers/Hold.py). I've modified some of the
>     CVR> messages for various reasons, and it'd be nice if I could
>     CVR> simply override their definitions in the mm_cfg.py file
> I'll have to think about this.  One hackish idea (untested) is to try
> to import Mailman.Hold from mm_cfg.py, and then set the class's
> __doc__ attribute with the message you want.

I think a more general solution  is to rethink the admin messages, and 
make them part of the site and list databases. You would have 0 ... n 
definitions, each of the form:

regex action message lockflag

where the latter is in the site database only.

actions would include HOLD, DISCARD, REJECT and whatever else people 
would find useful.

you could then define this as a set of python regexes (with, I think, a 
few procmail-esque extensions, so you could define whether to look in 
header, body or both, and in the body, optionally the first N lines...), 
and do something with it, and a message including python ''' multiline 

The lockflag is so the site admin can, if they choose, keep list admins 
from over-riding definitions. So for each message, you'd check the 
site-wide LOCKed lines, then the list definitions, then the site-wide 
definitions, and stop on the first match. that way, you stop having to 
migrate global definitions to each list, and have to worry about 
updating them on updates...

And make them definable, editable and viewable from the web interface so 
the list admins and site admin can tweak them.

Chuq Von Rospach, Internet Gnome <http://www.chuqui.com>
[<chuqui@plaidworks.com> = <me@chuqui.com> = <chuq@apple.com>]
Yes, yes, I've finally finished my home page. Lucky you.

I like you.  You remind me of when I was
young and stupid.