[Mailman3-dev] Problem with the schema
Ian Eiloart
iane at sussex.ac.uk
Wed Mar 30 17:08:09 CEST 2005
--On March 29, 2005 22:33:14 -0500 Barry Warsaw <barry at python.org> wrote:
> I was working on a method to delete mailing lists and I realized that
> our schema as currently designed doesn't support it.
>
> Think about Rosters. In order to support composition of mailing lists,
.
.
.
>
> Anyway, I'm not sure what we should do, so suggestions are welcome!
> -Barry
>
Hi,
Sounds to me like you're thinking that a roster is a property of a mailing
list. That must be incorrect, it's the situation that you want to get away
from.
At our site, we're likely to have more rosters than mailing lists. If
you're using a relational database for this stuff, then the rosters will
belong in one table:
ROSTERS = rostername | userid | etc...
lists will belong in another:
LISTS = listname | listdomain | archived | disabled | etc...
Another table will have ACLs for rosters:
ACLS = rostername | listname | listdomain | owner | moderator | recipient |
poster | etc...
Now, it may be that you want to have some special rosters that exist ONLY
for specific lists. For example, when creating a list FOO in domain BAR,
you might want to create a roster FOO at BAR_recipients for the default
recipient list. you might also want _owners, _moderators, _poster etc. I'd
also want an _exceptions: for people who can't get off a roster like
"staff", but want off of a particular list.
Removing orphan rosters would only be desirable if they belonged to that
set of special rosters.
While I'm here, it would be nice to have pseudo-users for "posters", with
wildcards like *@example.com to allow all local users to post to a list.
This scheme would allow you to delete lists without worrying about losing
rosters, but maintain 2.x functionality for those that don't care about
rosters. You'd delete a list by deleting it's one entry in the LISTS table,
all related entries in the ACLS table, and all the special rosters. You
could disable a list by flagging it as disabled, or (better) setting a
disabled date in the past. Most admins would want to disable a list for a
while before deleting it.
--
Ian Eiloart
Servers Team
Sussex University ITS
More information about the Mailman3-Dev
mailing list