[Mailman-Developers] SQL in MM3 issues

moron moron at industrial.org
Fri Feb 6 00:04:47 EST 2004


On February 5, 2004 08:08 pm, Kevin McCann wrote:
> I want to do this same kind of thing with Mailman 3. And so I want, at
> the very least, to have those three aforementioned tables of data:
>
> lists
> members
> messages

Ok.  Here is how I see these on a general level:

members
- a member belongs to any number of lists
- a member has access permissions that denote status which can be assigned 
either on a per list or per group basis

lists
- list are arbitrary collections of members 
- lists can be summed into larger groups on the fly as appropriate
- lists do not have to be static (for example "all members since this date")

messages
- messages are tied to a specific user but associated with a given list

Important directives:

1.  The user should be the core entity, not the list.  A list should be 
treated as an association with users.   This makes the flow of "what lists am 
I on?" and "what has Jane Doe posted?" a natural one. 

2.  Bounce handling should no longer have anything to do with a specific list.  
All bounces should be for the entire installation.  You should have one 
password per installation, one log in per installation, etc.

3. Messages can be to more than one list since "lists" can be unions.  This 
solves the "how do I notify everyone?" problem.

So with these ideas in mind (obviously far from exhaustive, I am just thinking 
out loud) you would need the following tables:

members
- holds profile, global permissions, global status

lists 
- holds list type (static, dynamic, union)
- holds list status (active, inactive)
- holds list attributes (moderated, unmoderated, etc.)
- holds description details
- holds template customizations

membership
- holds list id
- holds member id
- holds relationship (read only, post, moderated, last post, admin, whatever 
you want)

messages
- holds member id
- holds message body (reference to file?)
- holds message headers
- holds message status

message_to_list
- holds message id
- holds list id

Now I can think of lots of other stuff as well but I am just not sure how much 
you plan to push into MySQL for MM3.  If *everything* configuration wise is 
going unto MySQL, then you will need further tables too for the glue and for 
some other settings.

What specific fields need to be in these tables of course is a whole other bag 
of hammers.

Cheers

-- 
---> (culture) http://industrial.org : (label)  http://deterrent.net
---> (community) http://ampfea.org : (hire me) http://codegrunt.com
---> (send EEEI news to) infosuck at industrial.org
---> Whomever dies with the most URLs wins!!!!!!!!!!!!!




More information about the Mailman-Developers mailing list