This page (revision-1) was last changed on 29-Nov-2024 16:16 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 91 lines
!!! Overview
We have run into some conditions when we needed to [{$pagename}] from an ADD to a MODIFY. Some SOAP calls will only do modifies and how could you ever do an ADD on a loopback?
!! Converting an ADD to a MODIFY
Here is a [DirXML Example] and [XPATH Example] for Converting an ADD to a MODIFY:
%%prettify
{{{
<rule notrace="true">
<description>Convert add to Modify</description>
<conditions>
<and>
<if-operation mode="case" op="equal">add</if-operation>
</and>
</conditions>
<actions>
<do-append-xml-element expression=".." name="modify"/>
<do-clone-xpath dest-expression="../modify" src-expression="@* | association"/>
<do-for-each>
<arg-node-set>
<token-xpath expression="../add/add-attr"/>
</arg-node-set>
<arg-actions>
<do-append-xml-element expression="../modify" name="modify-attr"/>
<do-set-xml-attr expression="../modify/modify-attr[last()]" name="attr-name">
<arg-string>
<token-xpath expression="$current-node/@attr-name"/>
</arg-string>
</do-set-xml-attr>
<do-append-xml-element expression="../modify/modify-attr[last()]" name="remove-all-values"/>
<do-append-xml-element expression="../modify/modify-attr[last()]" name="add-value"/>
<do-append-xml-element expression="../modify/modify-attr[last()]/add-value[last()]" name="value"/>
<do-append-xml-text expression="../modify/modify-attr[last()]/add-value[last()]/value">
<arg-string>
<token-local-variable name="current-node"/>
</arg-string>
</do-append-xml-text>
</arg-actions>
</do-for-each>
</actions>
</rule>
}}}
/%
!! Converting a SYNC to a MODIFY
Here is a [DirXML Example] for Converting a SYNC to a MODIFY:
%%prettify
{{{
<rule>
<description>Convert sync to Modify</description>
<comment xml:space="preserve">When a sync with no association, we convert it to a modify.
If you want to force a user that is associated, set nwReSync=BLD on the entry.
The association will get set later and the nwReSync with a value of BLD will cause the driver to set appropriate values.</comment>
<comment name="author" xml:space="preserve">jim@willeke.com </comment>
<comment name="version" xml:space="preserve">1</comment>
<comment name="lastchanged" xml:space="preserve">2014-07-14</comment>
<conditions>
<and>
<if-operation mode="case" op="equal">sync</if-operation>
<if-association op="not-available"/>
<if-xpath disabled="true" op="true">association[@state = 'migrate']</if-xpath>
</and>
</conditions>
<actions>
<do-append-xml-element expression=".." name="modify"/>
<do-clone-xpath dest-expression="../modify" src-expression="@*"/>
<do-append-xml-element expression="../modify" name="modify-attr"/>
<do-set-xml-attr expression="../modify/modify-attr[last()]" name="attr-name">
<arg-string>
<token-text xml:space="preserve">nwReSync</token-text>
</arg-string>
</do-set-xml-attr>
<do-append-xml-element expression="../modify/modify-attr[last()]" name="add-value"/>
<do-append-xml-element expression="../modify/modify-attr[last()]/add-value[last()]" name="value"/>
<do-append-xml-text expression="../modify/modify-attr[last()]/add-value[last()]/value">
<arg-string>
<token-text xml:space="preserve">BLD</token-text>
</arg-string>
</do-append-xml-text>
</actions>
</rule>
}}} /%
!! Related
You may want to [Create an Association from Attribute]
!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]