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

Re: preserve value order with referential integrity overlay?


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.


Peter Marschall