LDAP Should Be Beaten, Shot Twice, then Beaten Again

July 13, 2004

I'm trying to set up an address book that's accessible from arbitrary clients. The logical way to do that is set up an LDAP server (in my case, OpenLDAP), then populate it with contact information. That's all fine and good. I can add entries with Directory Assistant and GQ. I can even query the LDAP server with Thunderbird (and presumably Evolution as well, although I haven't tried). Here's the snag: I'd like to be able to store modern attributes, such as IRC nicknames, AIM and ICQ screen names, web sites, etc. Thunderbird allows you to enter in those attributes, and you can export entries in LDIF format, but when I try and import them into OpenLDAP, it complains about missing attributes (obviously). Well, this page talks about the exact same problem. The author references the mozillaOrgPerson schema and mozilla_op20.schema, but when I include those in my slapd.conf, I get the following error:

/etc/ldap/schema/mozillaorgperson.schema: line 135: AttributeType not found: "nsAIMid"

Huh? The schema is supposed to be defining attributes, not referencing them. I guess I'll keep plugging away. One other problem: Thunderbird can only query LDAP servers, not add entries to them. That means I'll have to create entries locally, export them as LDIF files, tweak them slightly for my DN, then import them by hand. Ugh. I'd like something as simple as Directory Assistant that supports the extra attributes (an extra bonus would be a console interface; I do believe I might be writing another console application ;-)).

This seems like a simple problem. I'm sure lots of other people have tried to do what I'm doing right now. So where's the simple solution? I just want to set up a modern address book that's accessible via LDAP, and I'd prefer not to have to reinvent the wheel, electricity, indoor plumbing, and nuclear fusion in the process. Suggestions?

Edit: The grammar police detained me for questioning.