[Mailman-Developers] New Feature Request: A Half-Moderator

Dave Klingler davek@mail.commercedata.com
Tue, 2 Jan 2001 09:50:27 -0700 (MST)


Jeffrey Thompson wrote:

> Chuq Von Rospach wrote:
> > Which, if you then generalize it, allows you to simply define ALL
> > queues in terms of some kind of "owner" (which may be a function, a
> > person or some other operation), and then you can make the mailman
> > logic loop be nothing more than a state machine looking at messages
> > and attaching them to queues based on the state definitions.
> 

Just peeping in from the outside, and from what little I've ferreted about
how Mailman works:

This is a neat thread, because at this point (a big pile of queues) the 
work needed to throw the whole thing into a database is trivial.  Chuq, 
Apple's EOF would let you build a Mailman analog in under an hour, btw!
Faster and easier to maintain!

> Cool concept there.  I like that idea.  And, also you could further define
> a queue
> as containing sub-queues.  In the case of a "half-moderator" he would be
> monitoring
> part of a queue, and would in effect moderate a sub-queue.  So the larger
> queue would
> contain all of the people subscribed, plus additional sub-queues that are
> moderated seperately.

and then it gets more complicated, but maybe not.  Now we have objects,
each containing data (or pointers to a database somewhere) and code.  If each 
queue object contains a specific function or functions for dealing with it
then things begin to package up nicely and the architecture gets cleaner.
Then you can have 

Class Queue {
   function insertEntry 
   function deleteEntry
   function processQueue
   function mySpecialPurpose
   pointerToObject destinationQueue
   listpointer queueData
   }

so that processQueue looks like
{ 

while queueData {
   mySpecialPurpose;
   if destinationQueue {
      [destinationQueue processQueue];
   } 
}  

and a cron entry would just call things the way it does now, or in my case,
another little daemon because my crond seems not to do what I tell it to do.
The contents of the qfiles and lists directories merge together, maybe into
a new qfiles directory because queues and lists are the same.

Apologies for wasting your time/email bandwidth if all of this is nonsensical
or irrelevant.  I'm just now learning how Mailman works, so I seriously 
considered not sending the results of my enthusiasm to the list.  I also
tend to think in terms of Objective C, so my pseudorambling mushes everything
together.

*sniff*  Hey, I wasn't going to spend time on this.

I'll just get out of the way, then.

Dave Klingler