Configuración de la prioridad en IMAN
En cada origen de paquete se incluye una prioridad para activar o desactivar actualizaciones a cualquier objeto. Un origen con la prioridad más alta puede efectuar cambios en un objeto con un origen que tenga la misma prioridad o una prioridad más baja, pero lo contrario es imposible. Esto se configura a través del fichero de configuración IMANConfig.xml mientras se define un origen. Los atributos de prioridad solo aceptan valores enteros. Un valor más alto significa mayor prioridad. Si un origen intenta actualizar o borrar un objeto que no le pertenece, debe tener una prioridad igual o mayor que la del propietario actual o la operación se desestimará.
Por ejemplo, un artículo con el nombre PL1 pertenece al origen FLW. Cuando el origen de PTC intente actualizar el artículo, las actualizaciones estarán permitidas, ya que la prioridad de PTC es superior a la de FLW. Sin embargo, si FLW intenta actualizar un objeto que pertenece a PTC, la operación no estará permitida, ya que su prioridad es inferior a la de PTC.
A continuación se muestra un ejemplo del fichero de configuración IMANConfig.xml:
<IMANConfig>
<!-
OOTB bundle source “PTC” with priority 3. Even it specifies
identifying attributes per type
-->
<Source name="PTC" priority="3">
<Type name="PH">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
<Type name="PDFM">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
<Property name="SIM.authoringLanguage"/>
<Property name="SIM.lastUpdated"/>
</OtherAttributes>
</Type>
<Type name="IEXML">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
<Property name="SIM.authoringLanguage"/>
<Property name="SIM.lastUpdated"/>
</OtherAttributes>
</Type>
<!-
Configuration for cascade sequence search.
If PARTS is not found, based on identifying attributes specified
in this Source; then the identifying mechanism will look for bundle
sources defined in the cascade sequence.
-->
<Type name="PARTS" CascadeSeq="FLW">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
<Type>
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
</Source>
<!-
OOTB bundle source “FLW” with priority 1.
For all types of objects present in FLW bundles, the
identifying criterion is always the same.
-->
<Source name="FLW" priority="1">
<Type>
<IdentifyingAttributes>
<Property name="objNumber" xpath="OBJNUMBER"/>
<Property name="orgName" xpath="ORGNAME"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="uri"/>
</OtherAttributes>
</Type>
</Source>
</IMANConfig>