Xoom Set Special Form

Use xoom:set special form to deploy changes within items, for example to contained items.

Why do I need xoom:set special form?

In configuration, items are addressable and consequently when you make a deployment, it is items that are deployed and overwritten in the database.

However, there are often cases where items are contained within the body of other items. Examples of these contained items in Service Optimization include: When deploying changes to a contained item, you only want to make changes to that part of the containing item, rather than overwriting the whole thing. To do that requires xoom:set special form.


In Service Optimization, Rule types are contained within the <BODY> element of <Setting>. <Setting> is addressable and possesses a Xoom identity, in this case Setting[[Application]|Rule Types|Rule Types|].

<Setting xoom:id="Setting[[Application]|Rule Types|Rule Types|]">
      <Category>Rule Types</Category>
      <SubCategory>Rule Types</SubCategory>
      <Name />
            <Name>Match Constant Rule</Name>
            <Category>Match Rules</Category>
            <ProgId>W6CoreRules.W6MatchConstRule, W6CRules</ProgId>
            <ViolationString>Specifies that a task or engineer property should be compared to a constant value.</ViolationString>
            <Name>Match Time Rule</Name>
            <Category>Time Rules</Category>

Now imagine you want to make a change to the Rule type Match Constant Rule. If you were to make a normal deployment, the whole of <Setting xoom:id="Setting[[Application]|Rule Types|Rule Types|]"> would be overwritten. To deploy just the one Rule type you would need to use xoom:set special form.