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

Re: syntax for 2 dimensional multivalued attributes?

I remember such question is usually responded with

"your question is not specific to openldap. It is out-of-topic, go ask ldap@umich.edu instead"

but I waited a night and no one responds. Either people are more tolerant these days, or that openldap became so unimportant that no one bother to cleanse the mailing list;)

On Mon, 5 Aug 2013, Bennett, Steve wrote:

I'm trying to store some attributes with a bit more structure than simple key:value pairs.

I think it is much needed. I have a lot of different needs of rich-data attribute values. Examples:

# These need special ordering rule so that you can pick out the product that # is large enough.

myResolution: 1024x768
myFormatSize: 21mmx23mm
myDisplayArea: 15inx20in

# These too, need special ordering rule, so that you get the equipment that # fits your shelf:

myDimension: 21x23x23
myStorageCapacity: 50x38x23
myShipmentContainDimension: 100x320x310

# This one is a key-value structure, it requires a numeric qualifier:
# it means this person won 3 Silver Medals and 4 Gold Medals

myAwards: dn=Silver Medal,ou=awards,dc=my,dc=co $ 3
myAwards: dn=Gold Medal,ou=awards,dc=my,dc=co $ 4

All these requires some overlay, and, it looks very much like IO-logic, thus feasiable to overlay the ldap server instead of overlaying the appliation business logic.

There seems to be a bit of a precedent in the Cosine otherMailbox attribute, but I don't really understand what's going on

Following this lead, I looked up the attribute, and is much surprised, that it has its own syntax. The SYNTAX 'otherMailBox' seems to be created for just one attribute to use. I would have designed the SYNTAX to be 'labeledMailbox', and leave the meaning of the label to be defined by attributeType.

I feel that otherMailBox designer extends LDAP only to solve his / her problem with least system change. Perhaps when you do make your module, you can design it general-purpose, and share it with others? Or maybe we can work it out together :)