Has anyone tried populating and updating their contacts by a connection through LDAP? We would like to leverage our OID system to maintain all public information about a contact as well as have some personal fields that are maintained by the actual individual.
It would not be practical for us to automatically pull in everyone in our ldap so what we did was create a “bio” content type with certain fields. If the field for the ldap person name was filled, then we will display information via ldap (i’m sure populating the appropriate field could be done as well, but we did not need that information for the cms, only to display (as we did not wanted to give users the options to display information other than what was stored in ldap, we still check the local content type fields)…the snippet templates for bio also uses this so the information published is consistent across full publishes).
To display the information, we created a simple jexl extension (where we initialize the ldap person object). I can provide more details if needed, but if i read your post correctly, i think you are more interested in automatically creating items in the cms corresponding to ldap objects…which you should be able to do via webservices…
The only reason I thought it would be nice to automatically populate the CMS was to remove the need for our end users to ever create this type of content. In this scenario the end users could link to any university contact by simply searching for the name in the content explorer (this doesn’t sound feasible since we are talking about a lot accounts and very few of them are ever linked on the website).
It sounds like you add your contacts as needed? Do you check to make sure there aren’t any duplicates? Your jexl extension gets the ldap object information based on the username that is inserted into the “ldap person name” field? Your ldap information is kept current by each full publishing cycle (any bio with a ldap person name queries the jexl extension and pulls the latest ldap info into the content type)?
It sounds like this is a good approach, I would definitely like more details.
We are, and have looked into this for some time. We are in the process of implementing this and have had to jump through about thirty hoops to get to the point we are at currently.
Solution so far:
- pull fields from ldap automatically and put into database
- create XML file from database and import using xml tool
- run various procedures to tidy data
At the moment this still involves us having to do things manually, however I hope to have a generic database import tool shortly which will avoid having to do this. You would still have to create a DTD and link the relevant fields, but that is a one off process unless you want to change the fields.
Anyone else interested in this tool?
There is a poll on the need for a bulk database importer. Unfortunately, Rhythmyx interoperability (or lack thereof) isn’t the only problem if you keep your contacts in LDAP, because LDAP is hierarchical, not relational. You’d probably be better off skipping a step, and using Microsoft’s dsde command line tool to export straight from LDAP to XML.