[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: preserve value order with referential integrity overlay?



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.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/