[Mailman-Developers] Contributing extensions --- how best to structure it?

Martin Whinnery martin.whinnery@blueyonder.co.uk
Wed Nov 20 12:23:31 2002


Folks,

I'm quietly beavering away at LDAP support using the extend.py /
MemberAdaptor route.

It's going ok, but I'm unsure as to where I ought to be putting things.

As Greg has pointed out, It's not a good idea to mess with the
distribution code. So where ought stuff to go?

I illustrate:

I have 4 files: 	LDAPMemberships.py	- replaces
OldStyleMemberships.py for LDAP-enabled lists.
			LDAPnewlist			- Used instead
of newlist to create an LDAP-enabled list.
			ldap_cfg.py			- Holds
(currently) global LDAP settings (server etc)
			extend.py			- extends the
mlist object to use LDAPMemberships instead of OldStyleMemberships

LDAPMemberships.py I have put in /usr/local/mailman/Mailman. That's
fine.
LDAPnewlist goes in /usr/local/mailman/bin/. Also fine.
Extend.py (and to a lesser extent ldap_cfg.py) are the problem. It's
conceivable that a site might wish to have some 'normal' lists, some
LDAP-based lists, some lists controlled from RapidFile, etc.

How to handle this?

I suppose I'm proposing a structure rooted at /usr/local/mailman/ext/ .
For example, I'd have /usr/local/mailman/ext/LDAP/ldap_cfg.py and
/usr/local/mailman/ext/LDAP/extend.py. An SQL extension would use
/usr/local/mailman/ext/SQL/ etc.

Is this the right way to go about things?

Mart

'Just the assistant' network manager
South Birmingham College




More information about the Mailman-Developers mailing list