[Mailman-Developers] Mailman and Extend.py

C Nulk CNulk at scu.edu
Sat Apr 18 00:58:43 CEST 2009


Barry Warsaw wrote:
>> I also looked to see if there was
>> an URL type interface for LDAP.  There is however it would be primary be
>> an anonymous bind to a LDAP service.  Most if not all places will not
>> allow anonymous binds which can update/change their LDAP information.  I
>> just don't know enough about Storm to say whether or not the DN bind can
>> be worked in.
>>
>> The current LDAPMembership.py get the LDAP data.  It might be possible
>> to use the ideas there to implement LDAP in Storm.
> 
> I don't think LDAP is a good fit for Storm, which really wants to be
> talking to a relational database via SQL.  The bad news is that using
> Storm is the easy way to hook MM3 up to a different backend.  The good
> news is that (hopefully) that's not necessary to use LDAP for  your user
> data.  I think you would need to re-implement things like the
> UserManager, but this is mostly uncharted waters.
> 

As I walked to the train station last night, I came to the same
conclusion.  Since LDAP is not relational, Storm would need to make
exceptions for LDAP.  Definitely not a good fit.

>>
>>> I'd be happy to help anybody who's interesting in building out an LDAP
>>> backend.
>>
>> My poor knowledge of Python most likely leaves me out with respect to
>> developing, however, I would be happy to be involved in contributing
>> ideas towards the development.
>>
>> One idea I did have is about keeping unsubscribe information.  Since an
>> LDAP query will always return every entry matching the query, someone
>> that wishes to unsubscribe cannot because their entry is included in the
>> query.  If whatever mechanism is used to track a given list member's
>> config settings (mod, ack, nomail, etc) also includes whether the person
>> unsubscribed or not, then whenever the getMembers()/isMember() or
>> equivalent functions are called, the query results minus the
>> unsubscribed is checked/validated/etc. depending on the function.
>>
>> Sorry if the above sounds like gibberish.  Could really figure out how
>> to say it better.
> 
> I think I see what you're saying.  You really want to split user data
> across LDAP and say a relational database.  While I think it could be
> done (and probably /should/ be doable), it will take some clever
> model-layer programming to make it work.  I don't have a clear picture
> in my mind about how to do that right now, but it's worth an interested
> developer to take a look at it.
> 
> -Barry
> 

Well, not really splitting up the data between LDAP and a relational DB
because you will end up with sync problems at some point in time.  It
was more of adding/modifing text attribute values in LDAP.  I will
explain it more fully next week when I start a new thread (I just saw
your responses and I need to close up and head for the train).

Chris


More information about the Mailman-Developers mailing list