Default Value Provisioning for the Metadata
At times, the incoming data may fail to provide a value for certain metadata in Windchill. In such scenario, the extended mapping framework could be leveraged to provide a default value. The mapping rule where the tags that are mappable is set with a source value ‘/NULL’ implying that the source data does not provide any value for the element specified by the value attribute of that tag and hence whatever value specified for the target in the rule is to be picked up. If such rule includes tags of condition type, conditions would be determined before the target value is arrived at. Below are some examples of such rules where a default value for the folderpath is assigned based on the externalTypeId of the data along with PreferenceDefinition and mapping configuration details.

<PreferenceDefinition>
<name>R_folderPath</name>
<visibility>HIDDEN</visibility>
<categoryName>FederationMapping</categoryName>
<displayName>R_folderPath</displayName>
<description>R_folderPath</description>
<fullDescription>R_folderPath</fullDescription>
<defaultValue></defaultValue>
<handler>com.ptc.windchill.enterprise.preference.handler.
MultiValueMapPreferenceHandler:</handler>
<defaultComments></defaultComments>
<clientOverride>false</clientOverride>
</PreferenceDefinition>
<LinkPreferenceClientDefinition>
<name>R_folderPath</name>
<clientName>536416322-1456322554305-2141932519-203-136-220-10</clientName>
</LinkPreferenceClientDefinition>

<Mapping preferenceDefinition="R_folderPath" separator=";"
mappingProcessor="wt.ixb.publicforapps.extendedmapping.processor.
MultiTagMappingProcessor">
<Tag value="externalTypeId" condition="true" regex="true"/>
<Tag value="folderPath"/>
</Mapping>
<MVPreferenceInstance>
<valuekey>/NULL;/NULL</valuekey>
<value>/Default/Unspecified</value> <!-Default folderPath if
externaltypeId is not specified -->
<locked>FALSE</locked>
</MVPreferenceInstance>
<MVPreferenceInstance>
<valuekey>^(?=.*wt.doc.WTDocument).*$;/NULL</valuekey>
<value>/Default/WTDocument</value>
<!-Default folderPath for all data that has externalTypeId suggesting it is a
WTDocument or it’s subtype -->
<locked>FALSE</locked>
</MVPreferenceInstance>
<MVPreferenceInstance>
<valuekey>^(?!.*wt.part.WTPartUsageLink)(?=.*wt.part.WTPart).
*$;/NULL</valuekey>
<value>/Default/WTPart</value>
<!-Default folderPath for all data that has externalTypeId suggesting
it is a WTPart or it’s subtype -->
<locked>FALSE</locked>
</MVPreferenceInstance>
<MVPreferenceInstance>
<valuekey>^(?=.*wt.epm.EPMDocument).*$;/NULL</valuekey>
<value>/Default/EPMDocument</value>
<!-Default folderPath for all data that has externalTypeId suggesting
it is a EPMDocument or it’s subtype 
<locked>FALSE</locked>
</MVPreferenceInstance>
Was this helpful?