I am performing a sync between the Vault and Notes and am getting an
error regarding renames:

NotesSubscriptionShim: processModifyEvent AdminP processing problem. ID
= 4000. Message: Notes error: None of the components of the proposed new
name are different than their old values

The reason is that the sync sets the operation to modify and
@from-merge = 'true' so it looks like the first and last name are
changing for every user. In cases where they aren't really changing, I
don't want to set the operation in Notes as a rename (because it
isn't).

My first thought was to compare the source and destination attributes
and if they are equal, don't set the xml attribute to rename. However,
I'm not sure if this is the best solution and I'm not sure how to do it
using XPATH other than setting a local variable for each and then using
something like:

<if-local-variable mode="case" name="LV-PreferredName"
op="equal">$LV-DestPreferredName</if-local-variable>

Here is my current rule:
<rule>
<description>Handle modify of name information on Match and Merge -
use Notes AdminP Rename command</description>
<conditions>
<or>
<if-class-name op="equal">User</if-class-name>
</or>
<or>
<if-operation mode="nocase" op="equal">modify</if-operation>
</or>
<or>
<if-op-attr name="preferredName" op="changing"/>
<if-op-attr name="Surname" op="changing"/>
</or>
<or>
<if-xpath op="true">@from-merge = 'true'</if-xpath>
</or>
</conditions>
<actions>
<do-set-xml-attr expression="../modify[@class-name='User']"
name="adminp-rename-user">
<arg-string>
<token-global-variable name="useAdminPforNameChange"/>
</arg-string>
</do-set-xml-attr>
<do-set-xml-attr expression="../modify[@class-name='User']"
name="allow-adminp-support">
<arg-string>
<token-text>true</token-text>
</arg-string>
</do-set-xml-attr>
</actions>
</rule>

This is the entry when the sync runs and sets the rename:

[04/23/09 13:56:05.309]:Lotus Notes Trace ST: Evaluating selection
criteria for rule 'Handle modify of name information on Match and Merge
- use Notes AdminP Rename command'.
[04/23/09 13:56:05.310]:Lotus Notes Trace ST: (if-class-name equal
"User") = TRUE.
[04/23/09 13:56:05.310]:Lotus Notes Trace ST: (if-operation equal
"modify") = TRUE.
[04/23/09 13:56:05.310]:Lotus Notes Trace ST: (if-op-attr
'preferredName' changing) = TRUE.
[04/23/09 13:56:05.311]:Lotus Notes Trace ST: (if-xpath true
"@from-merge = 'true'") = TRUE.
[04/23/09 13:56:05.311]:Lotus Notes Trace ST: Rule selected.
[04/23/09 13:56:05.311]:Lotus Notes Trace ST: Applying rule 'Handle
modify of name information on Match and Merge - use Notes AdminP Rename
command'.
[04/23/09 13:56:05.312]:Lotus Notes Trace ST: Action:
do-set-xml-attr("adminp-rename-user","../modify[@class-name='User']",token-global-variable("useAdminPforNameChange")).
[04/23/09 13:56:05.312]:Lotus Notes Trace ST:
arg-string(token-global-variable("useAdminPforNameChange"))
[04/23/09 13:56:05.312]:Lotus Notes Trace ST:
token-global-variable("useAdminPforNameChange")
[04/23/09 13:56:05.313]:Lotus Notes Trace ST: Token Value:
"true".
[04/23/09 13:56:05.313]:Lotus Notes Trace ST: Arg Value:
"true".
[04/23/09 13:56:05.313]:Lotus Notes Trace ST: Action:
do-set-xml-attr("allow-adminp-support","../modify[@class-name='User']","true").
[04/23/09 13:56:05.314]:Lotus Notes Trace ST:
arg-string("true")
[04/23/09 13:56:05.314]:Lotus Notes Trace ST:
token-text("true")
[04/23/09 13:56:05.314]:Lotus Notes Trace ST: Arg Value:
"true".

Any suggestions are appreciated.

Cindy


--
cj_hayes
------------------------------------------------------------------------
cj_hayes's Profile: http://forums.novell.com/member.php?userid=5206
View this thread: http://forums.novell.com/showthread.php?t=370322