directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Seelmann (JIRA)" <>
Subject [jira] Commented: (DIRSTUDIO-513) Do delete before add when modifying attribute values
Date Mon, 12 Oct 2009 15:47:31 GMT


Stefan Seelmann commented on DIRSTUDIO-513:

The connection wizard and properties now contain a fourth tab called 'Editor Option'. The
modify operation done in entry editors can be configured there. For attributes with equality
matching rules (EMR) and for attributes without EMR the 'modify mode' could be selected, there
are three options:
- Optimized: uses add/del, but uses replace if count of replace operation is less (default)
- Replace: always uses replace operations
- Add/Delete: always uses add and delete operations

Additonally, when using add/delete the modify order is configurable: delete first or add first.

@Martin: The default modification order is 'Delete first' which should solve your problem.
BTW: I don't think that this is an eDirectory problem, sorry if I claimed that in earlier
mails. The attribute objectClasses uses objectIdentifierFirstComponentMatch, so only the OID
is used to check if two values are equal. Even if the add would work, which value should be
deleted by the delete operation? Both values would match. So IMO the only valid modification
order is delete first, then add.

@Leo: In your case just select REPLACE for attributes w/o EMR.

I tested with ApacheDS, OpenLDAP, SunDS, OpenDS, FedoraDS, eDirectory and Active Directory.

To sum up: this is a field where various LDAP server are implemented very differently:
* OpenLDAP is very strict, attributes w/o EMR must be edited using replace operation
* ApacheDS and OpenDS allow to use add and delete operations for attributes without EMR
* In FedoryDS many standard attribute types (cn, teleponeNumber, etc.) don't define an EMR,
however add/delete operations work
* Active Directory and eDirectory don't expose any EMR at all, however add/delete operations

> Do delete before add when modifying attribute values
> ----------------------------------------------------
>                 Key: DIRSTUDIO-513
>                 URL:
>             Project: Directory Studio
>          Issue Type: Improvement
>    Affects Versions: 1.4.0
>            Reporter: Martin Alderson
>            Priority: Minor
>             Fix For: 1.5.0
> When connecting to Novell eDirectory and modifying the schema an "Attribute Or Value
Exists" error occurs.  This is due to the modification performing an add before the delete
and eDirectory (wrongly) complains that the same OID has been used more than once before realising
that the old value should be deleted.  Note that this is a problem with eDirectory but it
would be useful if Studio asked for the delete to be performed before the add when modifying
an attribute value which eDirectory is OK with.
> An example of the LDIF in the modifications logs view for an operation that fails is:
> dn: cn=schema
> changetype: modify
> add: objectClasses
> objectClasses: ( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' [ value...]
> -
> delete: objectClasses
> objectClasses: ( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' [...old value...]
> -
> It also seems that modifying the schema on ApacheDS has the same issue.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message