Hi, On Tuesday, 14. August 2007 11:01, Howard Chu wrote: > Zhang Weiwu wrote: > > Hello. > > > > I deployed an LDAP system and a set of applications around it that is > > highly sensitive to the order of values, e.g first telephoneNumber must > > be the main contact method, first value of companyRepresentative must be > > the DN of the main contact person. > > That is a complete misuse of LDAP. Attributes are *SETS* of values. "Sets" > are inherently unordered. The LDAP and X.500 specs and plenty of other docs > tell you not to rely on the order in which values are returned. > > > What's the best way to solve this problem? I can only think of 1) try to > > modify source code of slapo-refint to make it maintain order (big > > problem, never worked on C source code before, > > Obviously not the way to go. > > or 2) try to use several > > > attributes like "FirstCompanyRepresentative", > > "SecondCompanyRepresentative", "ThirdCompanyRepresentative" > > Clumsy, and only feasible if you have a fixed limit on the number of values > you want to manage. > > You might consider something like > http://www.highlandsun.com/hyc/drafts/draft-chu-ldap-xordered-xx.html > which is only slightly less clumsy, and that spec needs to be revised > anyway. Whatever solution you choose is going to require your clients to be > modified to adapt to the solution.
Maybe as another alternative attribute options might work (with some help from clients): telephoneNumber;x-sort-1: .... telephoneNumber;x-sort-2: .... Then the client needs to sort the values according to the value after "x-sort-". I have always wondered why this approach was not considered for the OpenLDAP configuration. Regards Peter -- Peter Marschall [EMAIL PROTECTED]