Can you confirm my reuse strategy?
Posted: Thu Jun 22, 2017 2:57 pm
Hi,
As our DITA content for our System Documentation grows and as we try to reuse it for many different audiences I would like to get some confirmation of the approach that we are taking in relation to our reuse strategy and implementation.
We have content that is published out to WebHelp for 3 different audiences. Content common for all audiences has no audience profiling while other content relevant to only some audiences has audience profiling.
I handle this with a root ditaval that excludes content for all audiences and then includes content that is tagged only for the relevant audience.
The ditaval for publishing content for audience1
The root map
Some child maps are reused for different products and so we use keyscopes, keyrefs and branch filtering to manage this.
product1.ditamap
product1.ditaval
In product2.ditamap
product2.ditaval
The code for c_tab_menu_display.dita
All seems to be publishing as we want but I wanted to see if anyone has positive/negative feedback this reuse approach?
Any feedback appreciated,
Regards,
Ann
As our DITA content for our System Documentation grows and as we try to reuse it for many different audiences I would like to get some confirmation of the approach that we are taking in relation to our reuse strategy and implementation.
We have content that is published out to WebHelp for 3 different audiences. Content common for all audiences has no audience profiling while other content relevant to only some audiences has audience profiling.
I handle this with a root ditaval that excludes content for all audiences and then includes content that is tagged only for the relevant audience.
The ditaval for publishing content for audience1
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<val>
<prop action="exclude" att="audience"/>
<prop action="include" att="audience" val="audience1"/>
</val>
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map>
<title>Products</title>
<topicref href="c_products_docs.dita" collection-type="sequence">
<topicref href="product1/product1.ditamap" format="ditamap" product="product1"
audience="audience1"/>
<topicref href="product2/product2.ditamap" format="ditamap"
product="product2" audience="audience2"/>
</topicref>
</map>
product1.ditamap
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map keyscope="product1_scope">
<title>Product1</title>
<!-- Keys -->
<keydef keys="system_name">
<topicmeta>
<keywords>
<keyword>Product1</keyword>
</keywords>
</topicmeta>
</keydef>
<keydef keys="system_name_internal">
<topicmeta>
<keywords>
<keyword>Product2</keyword>
</keywords>
</topicmeta>
</keydef>
<keydef keys="system_tabs_img" href="tabs/images/i_system_tabs.png" format="png"/>
<topicref href="c_product_concept.dita" collection-type="sequence">
<topicref href="../c_tab_menu_display.dita" collection-type="sequence">
<topicref href="../tabs/r_tabs_tech.dita" audience="audience1"/>
</topicref>
</topicref>
<ditavalref href="../../../../ditavals/product1.ditaval"/>
</map>
Code: Select all
<val>
<prop att="product" action="exclude"/>
<prop att="product" val="product1" action="include"/>
</val>
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map keyscope="product2_scope">
<title>Product2</title>
<!-- Keys -->
<keydef keys="system_name">
<topicmeta>
<keywords>
<keyword>Product1</keyword>
</keywords>
</topicmeta>
</keydef>
<keydef keys="system_name_internal">
<topicmeta>
<keywords>
<keyword>Product2</keyword>
</keywords>
</topicmeta>
</keydef>
<keydef keys="system_tabs_img" href="tabs/images/i_system_tabs_menu.png" format="png"/>
<topicref href="c_product_concept.dita" collection-type="sequence">
<topicref href="../c_tab_menu_display.dita" collection-type="sequence">
<topicref href="../tabs/r_tabs_tech.dita" audience="audience1"/>
</topicref>
</topicref>
<ditavalref href="../../../../ditavals/product2.ditaval"/>
</map>
Code: Select all
<val>
<prop att="product" action="exclude"/>
<prop att="product" val="product2" action="include"/>
</val>
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="c_tab_menu_display">
<title>Features and Functionality available in
<ph keyref="system_name" audience="audience2 audience3"/>
<ph keyref="system_name_internal" audience="audience1"/></title>
<shortdesc>
<ph keyref="system_name" audience="audience2 audience3"/>
<ph keyref="system_name_internal" audience="audience1"/> functionality is provided via a system menu as well as a series
of tabs. The system menu options and selection of tabs displayed varies depending on the type of
user logged in to the system. </shortdesc>
<conbody>
<section>
<title>Tabs</title>
<p><image keyref="system_tabs_img" scalefit="yes"/></p>
<p>The full list of tabs available are:<ul>
<li></li>
</ul></p>
<p product="product1">This content is relevant only for product1:<ul>
<li></li>
</ul></p>
<p product="product2">This content is relevant only for product2:<ul>
<li></li>
</ul></p>
</section>
</conbody>
</concept>
Any feedback appreciated,
Regards,
Ann