Recommendations for adding metadata to maps in SDL/XMetal?

Our writers currently check out maps from SDL using XmetaL 12 and manually type in attribute value in the <othermeta> element for product name, release number, and so on. This a tedious and error-prone process. Is it possible to use drop-down menus with pre-populated values for the product name or release number via XmetaL/SDL Integration? Many of these same metadata values for product/release are already in our SDL system in the release values list. I'm curious what options people use for entering metadata in their maps particularly if there are drop-down lists that can be used somehow.

Screenshot of Trados Studio showing a draft document titled 'Ruckus Fastrion Software Upgrade Guide, 08.0.90' with metadata fields for product-release, firmware-release, content-type, task, and bundle filled with pre-populated values.

<topicmeta>
  <othermeta name="product-release "content="icx7150,icx7250,icx7450,icx7650,icx7750,icx7850" />
  <othermeta name="firmware-release" content="fi-08.0.90" />
  <othermeta name="task " content="install-upgrade" />
   .
   .
   .
</topicmeta>



Generated Image Alt-Text
[edited by: Trados AI at 6:38 AM (GMT 0) on 5 Mar 2024]
emoji
Parents
  • You can can a OOTB Write Plugin to achieve this. The plugin would be something like this, where you would need to replace SDLMETADATAFIELDNAME and SDLMETADATAFIELDLEVEL with the actual values from your environment. This plugin would allow the integration to apply the values to the XML upon checkout of the object. You may need to create three different plugins for the three different field you desire to populate. Unless you would like to write a custom plugin.
    <plugin name="SETPRODUCTRELEASE" handler="BlobSetXmlNode" ishcondition="CurrentAction in ('Checkout') and (ISHLevel='logical') and (ISHType in ('ISHModule') and EDT='EDTXML')">
    <description>Set product-release in xml <from sdl meatadata field name> in othermeta attribute for topics</description>
    <workingset>
    <ishfields>
    <ishfield name="SDLMETADATAFIELDNAME" level="SDLMETADATAFIELDLEVEL" />
    </ishfields>
    </workingset>
    <initialize>
    <parameters>
    <parameter name="OnNodeXPath">//*[contains(@name,'product-release')]</parameter>
    <parameter name="NodeType">attribute</parameter>
    <parameter name="NodeName">content</parameter>
    <parameter name="OverwriteExisting">Yes</parameter>
    <parameter name="Value">
    <value type="MetadataField">
    <parameter name="MetadataField">"SDLMETADATAFIELDNAME"</parameter>
    <parameter name="MetadataFieldLevel">"SDLMETADATAFIELDLEVEL"</parameter>
    </value>
    </parameter>
    </parameters>
    </initialize>
    </plugin>
Reply
  • You can can a OOTB Write Plugin to achieve this. The plugin would be something like this, where you would need to replace SDLMETADATAFIELDNAME and SDLMETADATAFIELDLEVEL with the actual values from your environment. This plugin would allow the integration to apply the values to the XML upon checkout of the object. You may need to create three different plugins for the three different field you desire to populate. Unless you would like to write a custom plugin.
    <plugin name="SETPRODUCTRELEASE" handler="BlobSetXmlNode" ishcondition="CurrentAction in ('Checkout') and (ISHLevel='logical') and (ISHType in ('ISHModule') and EDT='EDTXML')">
    <description>Set product-release in xml <from sdl meatadata field name> in othermeta attribute for topics</description>
    <workingset>
    <ishfields>
    <ishfield name="SDLMETADATAFIELDNAME" level="SDLMETADATAFIELDLEVEL" />
    </ishfields>
    </workingset>
    <initialize>
    <parameters>
    <parameter name="OnNodeXPath">//*[contains(@name,'product-release')]</parameter>
    <parameter name="NodeType">attribute</parameter>
    <parameter name="NodeName">content</parameter>
    <parameter name="OverwriteExisting">Yes</parameter>
    <parameter name="Value">
    <value type="MetadataField">
    <parameter name="MetadataField">"SDLMETADATAFIELDNAME"</parameter>
    <parameter name="MetadataFieldLevel">"SDLMETADATAFIELDLEVEL"</parameter>
    </value>
    </parameter>
    </parameters>
    </initialize>
    </plugin>
Children
No Data