Example bookmap specialization: Learning and training

Map specializations typically define new element types as well as their hierarchy, or structure. One readily-available example of a map specialization is the bookmap specialization.

Before integrating any map specialization, you should create a custom map shell DTD and plugin. While you can integrate using IxiaMap.xml, it's a much better practice to use your own shell. These instructions assume you are using your own map shell DTD and plugin.

To integrate any other map specializations, you follow a similar process, though each specialization is slightly different.

This process describes how to integrate the Learning and Training (L&T) map types. The L&T map and topic types are part of the DITA 1.3 standard but are not integrated into IXIA CCMS by default. If you want to create L&T content, you need to integrate the L&T map and topic types. However, you do not need to add anything to your plugin's catalog.
Note: The process for integrating the L&T maps for DITA 1.2 may vary, especially with respect to its paths. If you are using DITA 1.2, contact IXIA CCMS Customer Support for details.

There are two L&T map types: learningGroupMap and learningObjectMap. These steps describe adding both. The process is the same for DRM and standard environments.

To integrate a learning and training bookmap specialization:

  1. Check out and open CompanyMap.dtd.
  2. In the MAP ENTITY DECLARATIONS section, add the identified lines.
    <!ENTITY % learningGroupMap-dec
      PUBLIC "-//OASIS//ENTITIES DITA 1.3 Learning Group Map//EN"
             "../../org.oasis-open.dita.v1_3/dtd/learning/dtd/learningGroupMap.ent"
    >%learningGroupMap-dec;
  3. In the DOMAIN ENTITY DECLARATIONS section, add the following:
    <!ENTITY % learningmap-d-dec
      PUBLIC "-//OASIS//ENTITIES DITA 1.3 Learning Map Domain//EN"
             "../../org.oasis-open.dita.v1_3/dtd/learning/dtd/learningMapDomain.ent"
    >%learningmap-d-dec;
    
    <!ENTITY % learningmeta-d-dec
      PUBLIC "-//OASIS//ENTITIES DITA 1.3 Learning Metadata Domain//EN"
             "../../org.oasis-open.dita.v1_3/dtd/learning/dtd/learningMetadataDomain.ent"
    >%learningmeta-d-dec;
  4. In the DOMAIN EXTENSIONS section, edit the topicref entities.
    <!ENTITY % topicref     "%containerref-d-topicref; | 
                             topicref | 
                             %ditavalref-d-topicref; |
                             (%mapgroup-d-topicref;) | 
                             (%glossref-d-topicref;) |
    			 %learningmap-d-topicref;
                            ">
  5. In the DOMAIN EXTENSIONS section, edit the metadata entities.
    <!ENTITY % metadata     "metadata |
                             %relmgmt-d-metadata; |
                             %learningmeta-d-metadata;
                            ">
  6. In the DOMAINS ATTRIBUTE OVERRIDE section, add the sample domains to the list.
    &learningmap-d-att;
    &learningmeta-d-att;
    &learningGroupMap-att;
    &learningObjectMap-att;
    &learningAggregationsTopicref-constraints;
  7. In the CONTENT CONSTRAINT INTEGRATION section, add the lines:
    <!ENTITY % learningAggregationsTopicref-def
      PUBLIC "-//OASIS//ELEMENTS DITA 1.3 Learning Aggregations Topicref Constraint//EN"
             "../../org.oasis-open.dita.v1_3/dtd/learning/dtd/learningAggregationsTopicrefConstraint.mod"
    >%learningAggregationsTopicref-def;
  8. In the MAP ELEMENT INTEGRATION section, add the lines:
    <!ENTITY % learningGroupMap-type 
      PUBLIC "-//OASIS//ELEMENTS DITA Learning Group Map//EN" 
             "../../org.oasis-open.dita.v1_3/dtd/learning/dtd/learningGroupMap.mod"
    >%learningGroupMap-type;
    
    <!ENTITY % learningObjectMap-type 
      PUBLIC "-//OASIS//ELEMENTS DITA Learning Object Map//EN" 
             "../../org.oasis-open.dita.v1_3/dtd/learning/dtd/learningObjectMap.mod"
    >%learningObjectMap-type;
  9. In the DOMAIN ELEMENT INTEGRATION section, add the following:
    <!ENTITY % learningmap-d-def
      PUBLIC "-//OASIS//ELEMENTS DITA 1.3 Learning Map Domain//EN"
             "../../org.oasis-open.dita.v1_3/dtd/learning/dtd/learningMapDomain.mod"
    >%learningmap-d-def;
    
    <!ENTITY % learningmeta-d-def
      PUBLIC "-//OASIS//ELEMENTS DITA 1.3 Learning Metadata Domain//EN"
             "../../org.oasis-open.dita.v1_3/dtd/learning/dtd/learningMetadataDomain.mod"
    >%learningmeta-d-def;
  10. Save, close, and check in CompanyMap.dtd.
  11. Check out and open ditaclasses.xml.
  12. In the section where it defines map classes, add the following lines so that you can publish the L&T maps.
    Note: Copy this information exactly. Do not add or remove any spaces.
    <class name="- map/map learningGroupMap/learningGroupMap " path="/*/topicmeta" 
    		position="/*/topicmeta/unknown|/*/topicmeta/foreign|/*/topicmeta/data-about|/*/topicmeta/data|/*/topicmeta/resourceid" 
    		type="learningGroupMap" variables="false"/>
    <class name="- map/map learningObjectMap/learningObjectMap " path="/*/topicmeta" 
    		position="/*/topicmeta/unknown|/*/topicmeta/foreign|/*/topicmeta/data-about|/*/topicmeta/data|/*/topicmeta/resourceid" 
    		type="learningObjectMap" variables="false"/>
  13. Save, close, and check in ditaclasses.xml.
  14. Check out and open equivalence.xml.
  15. Add the two new map types to the map group by taking the following actions:
    1. Add the learning group map object type.
      <equivalence type="map" standardSearch="true" groupName="Maps">
      		<object type="map"/>
      		<object type="bookmap" icon="/system/conf/icons/bookmap-icon.png"/>
      		<object type="subjectScheme" icon="/system/conf/icons/subjscheme.png"/>
      		<object type="learningGroupMap"/>
      		<object type="learningObjectMap"/>
      </equivalence>
    2. Optional: Create unique icons for both map types, and then add the icons to system/conf/icons.
      Tip: Ideally, an icon is 16x16 pixels. These icons only appear in Eclipse. They do not appear on the Web.
    3. Optional: Specify icon usage.
      <equivalence type="map" standardSearch="true" groupName="Maps">
      		<object type="map"/>
      		<object type="bookmap" icon="/system/conf/icons/bookmap-icon.png"/>
      		<object type="subjectScheme" icon="/system/conf/icons/subjscheme.png"/>
      		<object type="learningGroupMap" icon="/system/conf/icons/[icon file name]"/>
      		<object type="learningObjectMap" icon="/system/conf/icons/[icon file name]"/>
      </equivalence>
  16. Save, close, and check in equivalence.xml.
  17. Create templates for both map types.
    Tip: Create these templates outside of the CCMS, in Oxygen desktop or even in an editor such as Notepad++. Verify that the public and system IDs in the doctype are the same ones you defined in your map shell and that all your other map templates use.
  18. Add the templates to Repository/system/templates/topics using Insert Documents.
  19. Restart IXIA CCMS Desktop.
  20. In IXIA CCMS Web, refresh the Web server.