In the JDBC Driver the attribute filter flag "Optimize
modification to the identity vault" when it is false is ignored during
a migrate operation.
- Is this a bug?
- Is there a work around?


JDBC Driver build 20070301_0610
Identity Manager 3.5.0
eDirectory 8.8 SP1 v20114.24
Filter definition:
<filter-attr attr-name="displayName" merge-authority="app"
publisher="sync" publisher-optimize-modify="false"

When a modification occurs on the database application side, if the
optimize flag is false whatever the vault value the application value
is forced. This is what is expected. In the driver log the resulting
input is:

<modify-attr attr-name="displayName">
<modify-attr attr-name="displayName">
<value>John Doe</value>

When a migrate operation occurs, if the optimize flag is false, it is
not taken in account: if the vault value matches the application
value no change is forced (the resulting input is empty for that
attribute). This is very ennoying for an attribute that is defined as
case insensitive when the string values differ in case: the values
match and the change is not propagated.

For example the standard attribute "displayName" is defined with the
syntax "Case Ignore String", which is fine when searching. But if
there was a case typo when the value was entered, one would want the
value to be propagated if it is corrected: e.g "John DOe" should be
corrected to "John Doe" which is what an application would want to use
when *displaying* the name. It works for updates but why not for

That said, using the filter flag "Optimize modification to the identity
to resolve the case modification problem is a kludge: every single
update will copy over the values even when they match exactly.

This issue is mentioned in the following discussion in this same
Is modify/merge case insensitive?

- Is there another way to solve that problem? (Changing the
definition of the attribute to "Case Exact String" in the NDS
is not an option for standard attributes, and moreover would
break search case insensitivity).

Here is a feature suggestion for Identity Manager (not just the JDBC
driver): to have the ability to specify in the Filter definitions that
the value comparison for an attribute should be case

Thanks in advance for your answers!

Best regards,
Mr Dominique Petitpierre, Dominique.Petitpierre(at)adm.unige.ch
Division Informatique, University of Geneva, Switzerland

petitp's Profile: http://forums.novell.com/member.php?userid=16866
View this thread: http://forums.novell.com/showthread.php?t=326939