[Mailman-Developers] Storing additional user data

Donn Cave donn at u.washington.edu
Thu Jul 10 10:20:20 EDT 2003


On Tuesday, July 8, 2003, at 06:19 AM, Chris Boulter wrote:
> I'm hoping to use Mailman, but have a few requirements which may not be
> addressed 'out of the box'. In particular, I'm integrating with another
> system and would like to store the foreign system's user IDs in 
> Mailman so
> that I can correlate our users with Mailman subscribers. This will then
> allow us to do things like replicate changes to users' email addresses,
> which they currently enter in the foreign system.
>
> I've considered using clone_member from the command line, but this 
> seems
> like it might not be problem-free. For instance, a user could change 
> his
> email address to match someone else's who's already subscribed to one 
> or
> more lists, and then change it back, and thus hijack that user's 
> identity
> (identifying only be email address, the users would become 
> indistinguishable
> to us).

Right.  You need an extra database,  user-id :: list :: role :: 
mailman-id  (maybe you
wouldn't need "role", we do because our external IDs authenticate also.)

> Does Mailman support the storage of any sort of user metadata? If not, 
> would
> it be easyish to add? I'm not terribly familiar with Python, but it 
> looks
> like I could add attributes to a class and then have them persisted by
> Python's 'marshalling' into a (non-standard) Mailman database.

It isn't easyish to add.  There are a boat-load of places where that 
extra user-ID
needs to be carried around and accounted for in various ways.  I think 
in the
long run there will be enough interest in this that we'll see some 
support for it
in Mailman, but at best I imagine it's a long way off.

In your case, I'm wondering if some arrangement could be made so that 
email
delivery unifies everything with "the foreign system", and your user 
just uses
that ID as an email address.  Put the final destination address in an 
LDAP
database and have sendmail look it up.  No changes to Mailman.  Or is 
that
what you're doing already?  Well, anyway, without some real Python 
expertise
I think you're better off working around Mailman than trying to make 
this kind
of change to it.

	Donn Cave, University Computing Services, University of Washington
	donn at u.washington.edu




More information about the Mailman-Developers mailing list