Configure the IXIASOFT CCMS to resolve keyrefs when generating output

When generating the output for a map, IXIASOFT CCMS can now resolve all keyrefs to determine the list of available conditions.

Note: You should make these configuration changes in the Test environment and test them before copying them to the Production environment. In a dedicated SaaS deployment, after testing the changes, ask IXIASOFT Customer Support to copy the changes to the Production environment.

When you select a map and select Generate Output from the right-click menu, the CCMS scans all the files in the map to determine the list of conditions available.

In previous releases, when the map or one of its children contained a keyref, the CCMS did not resolve the keyref to see if the referred object contained conditions. For example, consider the following scenario:
  • Map 1:
    topicref format="ditamap" href="keymap.ditamap"
    topicref keyref="toto"
    topicref href="topic1.xml" platform="Windows"
  • keymap.ditamap:
    keydef key="toto" href="toto.xml"
  • toto.xml
    <p platform="Unix"/>

In previous releases, only Windows would show up as an available condition, not Unix. You can now configure the CCMS to resolve the keyrefs and include all available conditions.

To configure this option:

  1. Open the TEXTML Administration perspective by clicking the TEXTML Administration shortcut on the tool bar. If the shortcut is not displayed, follow these steps:
    1. Select Window > Perspective > Open Perspective > Other
    2. Click TEXTML Administration.
    3. Click Open.
  2. In the TEXTML Administration view, double-click the server.
  3. If your server is not displayed in the view, add it by doing the following:
    1. To find the server name, click Window > Preferences and select IXIASOFT CCMS.
      In the TEXTML Server Connection section, the server name is the Hostname.
    2. Copy the Hostname and close the Preferences window.
    3. In the TEXTML Administration view, right-click and select Add Server.
    4. In the Server field, enter the server name.
      The Port field should fill automatically. If you need the port number, you can find it in the same place as the server name in the Preferences window.
    5. Click OK.
  4. When the Connect as dialog opens, type your username and password and click OK.
  5. Double-click the name of your Content Store to open a connection to it.
  6. Expand the Content Store node to display the Index Definition branch.
  7. Right-click Index Definition and select Check out.
    CAUTION: Be careful when editing the Index Definition document. Changes can significantly affect the indexing process, and any errors in the document can lead to data corruption or other errors.
  8. Open the Index Definition Document in an XML editor.
  9. Under <indexes> add the following <index> elements:
    <index NAME="keydef-pairs" SYNC="True">
       <!-- System index required by the CCMS -->
       <stringindex KEEPEXTRACTEDVALUES="True">
          <elements>
             <element DEPTH="0" XPATH="//keydef/concat(./@keys,'=',./@href)" />
          </elements>
       </stringindex>
    </index>
    		
    <index NAME="mapref-childMaps" SYNC="True">
       <stringindex KEEPEXTRACTEDVALUES="True">
          <elements>
             <element XPATH="//*[contains(@class, ' map/topicref ')][@format = 'ditamap']/@href" DEPTH="0"/>
          </elements>
       </stringindex>
    </index>
  10. Save, close, and check in the Index Definition document.
  11. Inform users of the changes and request that they close and reopen their CCMS Desktop to apply the changes.