[turba] turba ldap driver
Ben Sommer
Ben.Sommer at enc.edu
Wed Apr 13 14:30:33 PDT 2005
Hi All. My question is in reference to ldap configuration in turba.
Chuck asked me to post my question for ldap-experienced folks to comment on:
Problem: the schema for my LDAP addressbook does not match the
assumptions built into turba. The man previously in my position hacked
turba 1.2 to make it work with the schema. I'd like to now address the
shortcoming in turba directly.
Our addressbook schema uses an object class called 'uniqueEntryObject',
describing objects with a "Unique Entry ID" (ueid) as RDN naming
attribute. The reason should be obvious - a long list of peer LDAP
entries (i.e. entries sharing a common immediate parent) such as an
addressbook can't have clashing RDNs, something that would inevitably
happen with turba, since the default configuration seems to simply use
the 'cn' attribute (or some other user-defined attribute) as the RDN.
Also, my confusion about whether turba could be configured to work with
this schema was compounded by the param 'dn', which is misnamed. It
should be 'rdn', and its value should not be an array - since an RDN is
by definition _one_ attribute. All the code in lib/Driver/ldap.php that
munges this array (i.e. _makeKey, _save) should be refactored
accordingly. I can do this, but I want to sound it out to you all first.
Second, the capability to make the RDN attribute non-user defined should
be added to the driver and the config/sources.php examples. Reasoning is
the same here too - the RDN must be unique, and therefore
system-generated - just like an auto-incremented ID in an SQL database.
We kinda have the right idea in lib/Driver.php with '__uid', but this
should be configurable from within an LDAP turba data source. (The use
of the name 'uid' here was another confuser!)
That's all. What do you think?
--
Ben Sommer
Senior Technology Officer
Eastern Nazarene College
23 East Elm Ave
Quincy, MA 02170
(617) 745-3817
More information about the turba
mailing list