--On Wednesday, January 10, 2018 6:16 PM +0000 Jon C Kidder
<jckidder(a)aep.com> wrote:
To replace individual values of a multi-valued attribute you must
explicitly delete the old value and then add the new one in the same
transaction. You cannot use a replace operation to replace individual
values of a multi-valued attribute. The replace operation removes all
pre-existing values. After loading your ldif your custom schema will
only contain the 3 attributes included in your ldif. All of your other
custom attributes will be gone.
At this point you will need to create and load a new ldif that will add
all of the missing attribute definitions. When I modify a custom schema
I use the replace operation but my ldif contains all of the object class
and attribute type definitions related to that schema. This way the
schema can be maintained as a versioned artifact in my version control
system.
As a side note, you can delete specific values by using their weight, as
well. For example:
dn: <whatever>
changetype: modify
delete: olcAttributeTypes
olcAttributeTypes: {7}
Would delete the 8th attribute (since the weights are zero based)
You can also use the weight to insert a value, like:
dn: <whatever>
changetype: modify
add: olcAttributeTypes
olcAttributeTypes: {7}( cppmAttrs:8 NAME 'cppmActivationTime' DESC
'Activati on time' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{20} SINGLE-VALUE )
would insert cppmAttrs as the 8th value, and anything from what was the 8th
value and up would be renumbered accordingly.
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<
http://www.symas.com>