<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Technical Communication</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.adobe.com/techcomm/atom.xml" />
   <id>tag:blogs.adobe.com,2009:/techcomm//106</id>
    <link rel="service.post" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106" title="Technical Communication" />
    <updated>2009-07-01T02:25:22Z</updated>
    <subtitle>This team blog intends to provide interesting and useful info about Technical Communication, FrameMaker, RoboHelp and related issues. Contributors include Mahesh Kumar Gupta, Product Manager - Adobe FrameMaker, Adobe Technical Communication Suite and Dhiren Jani, Product Manager, Adobe RoboHelp.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.38</generator>
 
<entry>
    <title>Update on Updates!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/06/update_on_updates.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=11276" title="Update on Updates!" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.11276</id>
    
    <published>2009-06-30T17:22:03Z</published>
    <updated>2009-07-01T02:25:22Z</updated>
    
    <summary>FrameMaker,DITA,XML authoring,PDF,CMS,Specialisation,MIF,cross-reference,WebDav,reltable,Publishing,Patch,Facing Pages Dear Framers I hope all of you have comfortably installed 9.0.2 by now. Though this was difficult...</summary>
    <author>
        <name>Mahesh Kumar Gupta</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="Technical Communication" />
            <category term="Training/eSeminars" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p><!-- #BeginTags --><p class="tags"><a href="http://www.technorati.com/tag/FrameMaker" rel="tag">FrameMaker</a>,<a href="http://www.technorati.com/tag/9.0.2" rel="tag">DITA</a>,<a href="http://www.technorati.com/tag/XML authoring" rel="tag">XML authoring</a>,<a href="http://www.technorati.com/tag/PDF" rel="tag">PDF</a>,<a href="http://www.technorati.com/tag/CMS" rel="tag">CMS</a>,<a href="http://www.technorati.com/tag/paragraph designer" rel="tag">Specialisation</a>,<a href="http://www.technorati.com/tag/MIF" rel="tag">MIF</a>,<a href="http://www.technorati.com/tag/cross-reference" rel="tag">cross-reference</a>,<a href="http://www.technorati.com/tag/WebDav" rel="tag">WebDav</a>,<a href="http://www.technorati.com/tag/STC" rel="tag">reltable</a>,<a href="http://www.technorati.com/tag/Publishing" rel="tag">Publishing</a>,<a href="http://www.technorati.com/tag/Patch" rel="tag">Patch</a>,<a href="http://www.technorati.com/tag/p273" rel="tag">Facing Pages</a></p><!-- #EndTags --><br />
                           <p>Dear Framers</p><br />
<p>I hope all of you have comfortably installed 9.0.2 by now. Though this was difficult to accommodate in our tight schedule but my first objective is to remove your pains and I feel satisfied that 9.0.2 fixed the issues which crept in through the mega 9.0.1 patch.</p><br />
<p>Let me briefly describe the fixes of 9.0.2</p><br />
<ol type="1"><br />
	<li>Commands drop down in the designers work NOW and numbering building block in Para designer do get populated NOW if FM is launched afresh and the designers are present in the workspace.</li><br />
	<li>FrameMaker DOES NOT crash on inserting any file of a type other than the type defined for the column in a <?rh-ignored text="reltable" ?>reltable.</li><br />
	<li>FrameMaker DOES NOT crash while opening a file with view-&gt;options set as &quot;Facing Pages&quot;</li><br />
</ol><br />
<p>Now let's talk something about the new trends. You know that FrameMaker 9 provides innovative, robust, forward-looking and complete support for DITA. With the complete technical communication solution in form of TCS2, the cross-product integrations add to the power of your workflows.</p><br />
<p>DITA as a standard and FrameMaker as the DITA tool are great to adopt. The tool allows you to leverage the power of DITA Specialization. But some users ask for something more. That &quot;something&quot; is expert help on specializing &#160;DITA in FrameMaker. </p><br />
<p>We spent lot of time writing, reviewing and polishing expert help and published a white paper named &quot;Integrating DITA Specialization with ADOBE® FRAMEMAKER® 9&quot;.</p><br />
<p>You can download this paper from <a href="http://help.adobe.com/en_US/FrameMaker/9.0/DITA/framemaker_9_dita_integration.pdf">http://help.adobe.com/en_US/FrameMaker/9.0/DITA/framemaker_9_dita_integration.pdf</a></p><br />
<p>I am also including it below.</p><br />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" width="365" height="500"> <param name="movie" value="https://share.acrobat.com/adc/flex/mpt.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent"/> <param name="allowFullScreen" value="true"/> <param name="flashvars"  value="ext=pdf&docId=60a234c3-18f1-418b-9995-68ba18d61b91&lang=en_US"/> <embed src="https://share.acrobat.com/adc/flex/mpt.swf"  quality="high"  pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"  type="application/x-shockwave-flash" width="365" height="500" wmode="transparent" allowFullScreen="true" flashvars="ext=pdf&docId=60a234c3-18f1-418b-9995-68ba18d61b91&lang=en_US"> </embed> </object><br />
<br><br />
<p>Based on popular demand and criticality of the need, we'll keep working on such information packages. Please keep sharing your feedback with me at mahesh@adobe.com</p><br />
<p>Take care</p><br />
<p>- Mahesh</p><br />
<script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
try {<br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._trackPageview();<br />
} catch(err) {}</script>                    </p>]]>
        
    </content>
</entry>
<entry>
    <title>RoboHelp-FrameMaker Integration: Some Tips</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/06/robohelpframemaker_integration_some_tips.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=11122" title="RoboHelp-FrameMaker Integration: Some Tips" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.11122</id>
    
    <published>2009-06-18T06:23:37Z</published>
    <updated>2009-06-29T10:47:52Z</updated>
    
    <summary> Topic Name Marker One of the most powerful features of FrameMaker Integration is the power to separately define a...</summary>
    <author>
        <name>Milind Kumar Jha</name>
        
    </author>
            <category term="RoboHelp" />
            <category term="Technical Communication" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p> <br />
<strong>Topic Name Marker</strong></p>

<p>One of the most powerful features of FrameMaker Integration is the power to separately define a Topic name and the File name for pagination (breaking of Documents into smaller HTML topics)</p>

<p> <img alt="Marker.jpg" src="http://blogs.adobe.com/techcomm/Marker.jpg" width="385" height="66" /></p>

<p>We all know that by using any Custom marker, we can paginate (break) a document into multiple topic by specifying the marker name in the above shown field in Others Setting TAB on the conversion settings dialog </p>

<p><u>This marker can be used for two more things</u></p>

<p>1. It can be used to specify the Title on the topic thus created<br />
2. It can be used to specify Name of the corresponding HTML file thus created (name of the physical file)</p>

<p>How to Use it:-</p>

<p>To specify the Title we have to write a Pipe Symbol ‘|’ and the Title after it in the Marker text of the Marker used for pagination</p>

<p>* To specify any specific File name for the HTML generated, we have to write the Filename (just the name not the extension) in the Marker Text<br />
* To specify both Title and File name we write "File name | Title" in the marker text</p>

<p><br />
For elaboration of Topic Name Marker, see section “Topic Name Marker” on Topic “Integrating with Adobe Technical Communication Suite / Importing FrameMaker documents into RoboHelp/ Pagination for Help” in the Help<br />
<br><br><br />
<strong>Creating Sub-Index directly from FrameMaker</strong></p>

<p>Everyone of us know how do we get the Index marked (using Index marker in document) into RoboHelp but very few of us must be having idea of the power of RoboHelp to get even  a Sub-Index from FrameMaker documents </p>

<p>How to Use it:-</p>

<p>	We take an example that we want to create Sub-Index for ‘Variable’ say ‘How to create Variable’, ‘How to Modify Variable’ and ‘How to Delete Variable’</p>

<p>So first to create the Index for Variable we go to that part where Variable is referred place an Index marker and type marker text as “Variable”<br />
Secondly we go to the part of document where its creation is described and place an Index marker and type marker text as “Variable: How to create Variable”<br />
Then we go to the part of document where its modification is described and place an Index marker and type marker text as “Variable: How to Modify Variable”<br />
Then we go to the part of document where its deletion is described and place an Index marker and type marker text as “Variable: How to Delete Variable”</p>

<p>So when we Import/Link this FrameMaker document into RoboHelp and Mark the Index for conversion we get these Sub-Index items too and hence we will have one more level of editing power at FrameMaker end.<br />
<br><br><br />
<strong>Improving the referenced Images (without call outs)</strong></p>

<p>	Most of the times we face the issue that the image that was referenced in the FrameMaker documents and which even do not have any call outs (text in a box or a line on the image inserted using “Graphics->Tools”) are not generated properly in the RoboHelp.<br />
For such scenarios we can just specify ‘Width’ and ‘Height’ in Preferred Dimensions of Image in the Conversion Setting dialog to zero as shown below</p>

<p><br />
<img alt="ImageSettings.bmp" src="http://blogs.adobe.com/techcomm/ImageSettings.bmp" width="625" height="84" /></p>

<p><br><br />
cheers!<br />
Ashish Chandtra Gupta<br />
RoboHelp Engineering<br />
</p>]]>
        <![CDATA[<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
try {<br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._trackPageview();<br />
} catch(err) {}</script></p>]]>
    </content>
</entry>
<entry>
    <title>Scripting for TCS Unleashed </title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/06/scripting_for_tcs_unleashed.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=11081" title="Scripting for TCS Unleashed " />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.11081</id>
    
    <published>2009-06-15T13:28:31Z</published>
    <updated>2009-06-29T10:52:41Z</updated>
    
    <summary>[Enhanced Anchored Frame Conversion in FM Linking] Scripting in TCS The feature of Scripting in RoboHelp can be leveraged in...</summary>
    <author>
        <name>Mayank Agrawal</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="RoboHelp" />
            <category term="Technical Communication" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<h3>[Enhanced Anchored Frame Conversion in FM Linking]</h3>

<h4 style="text-decoration: underline; ">Scripting in TCS</h4>
<p>The feature of Scripting in RoboHelp can be leveraged in TCS to extend 
 the feature of conversion of FrameMaker documents to RoboHelp XHTML topics 
 (FrameMaker Linking). TCS users need certain tweaks in FM Linking and 
 Import feature to suit the feature as per their requirements. Some of 
 these tweaks can be achieved through Scripting. This blog talks about 
 one such tweak and explains how one can write a script to achieve this.</p>
<h4 style="text-decoration: underline; ">Enhanced Anchored Frame Conversion 
 through Scripting</h4>
<p>During update of a linked FrameMaker document in RoboHelp, an anchored 
 frame present in the document is converted to a web supported image in 
 RoboHelp XHTML topic. The properties of anchored frames are also converted 
 to image settings (image size, image border etc.) in XHMLT topics. However, 
 at times, a user may need to tweak these settings for individual images. 
 Or a user may not be satisfied with the quality of image generated in 
 RoboHelp and may wish to replace it with a processed image.</p>
<p>We can achieve all of this through a simple script. Here is how we can 
 write and use such a script maintaining the Single Sourcing route.</p>
<p>We can observe that the problem involves two steps.</p>
<p style="font-weight: bold;">1. Mention the image settings for each anchored 
 frame</p>
<p>We can achieve this by inserting a marker in the FrameMaker document 
 before each anchored frame to which settings are to be applied. Let us 
 define a new marker type say “Graphic” for this purpose.</p>
<p>Insert this marker before the anchored frame. Consider two image settings 
 as of now viz. image replacement and image resizing.</p>
<img alt="GraphicMarker.jpg" src="http://blogs.adobe.com/techcomm/GraphicMarker.jpg" width="272" height="161" />
<p>&#160;</p>
<p><i>resize=150</i> means zoom in the image size to 150% while inserting in XHTML 
 topic.</p>
<p><i>replace=true</i> means &#160;whenever this marker is found in the document, 
 replace the image with a new image of the same name placed in a specified 
 images folder. </p>
<p>(Non-programmers may skip this section further and jump to the next section to start using the script)</p>
<p style="font-weight: bold;">2. Process and apply those settings to the 
 corresponding image</p>
<p>&#160;Run a script to process the marker to understand the individual 
 image settings mentioned above and modify the image tag in XHTML topic 
 in RoboHelp accordingly.</p>
<p>This script shall be executed once the RoboHelp topic has been generated 
 from RoboHelp User Interface. &#160;This script shall patch the image 
 tags of the topic with the help of following steps.</p>
<p>a. &#160;Start reading the HTML of the topic in the form of a token 
 list. Here is an example of an HTML token list &#160;&lt;html&gt; &lt;head&gt; 
 &lt;title&gt; &lt;/title&gt; &lt;/head&gt; &#160;etc.</p>
<p>b. Look for marker (basically XHTML PI) in the topic. The marker in 
 HTML looks like this &lt;?rh_marker name=&quot;Graphic&quot; text=&quot;resize=150,replace=true&quot;?&gt;</p>
<p>c. Obtain the maker name and text and check if its name matches with 
 our “Graphic” marker.</p>
<pre>
var tknmgr = RoboHelp.getTokenManager(filepath);
if (tknmgr != null)
{
      var bResize = false;
      var bReplace = false;
      for(index=1;index<=tknmgr.count;index++)
      {
          var token = tknmgr.item(index);		
          var strName = token.name;

<p>          //Looking for marker PI<br />
          if ((token.tokenType == tokenPI_Identifier) &amp;&amp; (strName.indexOf(markerToken) != -1))<br />
          {	<br />
               // Extract the string with attribute name<br />
              strMarkerName = strName.substring(strName.indexOf(&quot;name=&quot;)+6, strName.indexOf(&quot;text&quot;)-2);<br />
              // extract the string with attribute text<br />
             strMarkerText = strName.substring(strName.indexOf(&quot;text=&quot;)+6, strName.indexOf(&quot;?&gt;&quot;)-1);<br />
             // if the marker is of type graphicsStyle<br />
            if (strMarkerName = graphicMarker)<br />
            {<br />
               //Process marker<br />
            }<br />
         }<br />
     }<br />
}</pre><br />
<p>d. Find marker attributes “resize” and “replace”</p><br />
<pre>var strResizePercent = FindMarkerTextAttributeValue(strMarkerText, &quot;resize&quot;);<br />
// see if the processing instructions contains resize<br />
if (strResizePercent &#160;!= &quot;&quot;)<br />
{<br />
	nResizePercent = parseFloat(strResizePercent);<br />
	bResize = true;<br />
}<br />
var strReplace = FindMarkerTextAttributeValue(strMarkerText, &quot;replace&quot;);<br />
// see if the processing instructions contains replace<br />
if(strReplace == &quot;true&quot;)<br />
bReplace = true;</pre><br />
<p>e. Look for image &lt;img&gt; tag. When found, do resizing and image <br />
 replacement stuff.</p><br />
<p>For resizing, read the current width and height and calculate the new <br />
 width and height as per the percentage mentioned in the marker text. For <br />
 replacing the image, update the “src” attribute of the img tag with the <br />
 new image path. New image path can be obtained by the image folder path <br />
 mentioned in the script and the current image name.</p><br />
<pre><br />
if(token.tokenType == RoboHelp.TokenType.TOKENTAG &amp;&amp; token.tagType == RoboHelp.TagType.TAGIMAGE)<br />
{<br />
	// Do resizing and replacing stuff<br />
}</pre><br />
<p>f. Save the topic. </p><br />
<p>g. Repeat this for all the topics in the project.</p></p>

<h4><u>The Complete Functional Script</u></h4>
<p>Please <a href="http://blogs.adobe.com/techcomm/ApplyImageSettings.jsx">download the attached script file </a> for the entire functional script. The 
 script has the following variables which should be updated by the user 
 before using the script.</p>
<pre>
var imagePath = &quot;/Images&quot;; &#160;//Image folder path relative to the project folder
var graphicMarker = &quot;Graphic&quot;; &#160;//FM marker type</pre>
<h4 style="text-decoration: underline; ">Further Enhancements to the script</h4>
<ul>
	<li>This script can be further enhanced to include other image settings 
	 like image margin, image border etc. for each image. </li>
	<li>The script can be changed to not to replace the RoboHelp generated 
	 images and do some post processing of generated images using Adobe 
	 Photoshop.</li>
</ul>

<p>Several other TCS functionalities may be designed using scripting.<br />
Explore the power of scripting and extend TCS features.</p>

<p>Happy Scripting !!!</p>

<p>Mayank Agrawal<br />
RoboHelp Engineering<br />
</p>]]>
        <![CDATA[<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
try {<br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._trackPageview();<br />
} catch(err) {}</script></p>]]>
    </content>
</entry>
<entry>
    <title>Numbering in Hierarchical Books</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/06/numbering_in_hierarchical_books.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=11018" title="Numbering in Hierarchical Books" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.11018</id>
    
    <published>2009-06-09T12:47:11Z</published>
    <updated>2009-06-29T11:00:05Z</updated>
    
    <summary>FrameMaker,Technical Communication,Adobe Technical Communication Suite,FrameMaker Book Numbering Adobe FrameMaker9 has introduced hierarchy in books. Two new logical entities Folders and...</summary>
    <author>
        <name>Mayank Gupta</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="Technical Communication" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p><!-- #BeginTags --><p class="tags"><a href="http://www.technorati.com/tag/FrameMaker" rel="tag">FrameMaker</a>,<a href="http://www.technorati.com/tag/Technical Communication"  rel="tag">Technical Communication</a>,<a href="http://www.technorati.com/tag/Adobe Technical Communication Suite" rel="tag">Adobe Technical Communication Suite</a>,<a href="http://www.technorati.com/tag/FrameMaker Book Numbering" rel="tag">FrameMaker Book Numbering</a></p><!-- #EndTags --></p>

<p><b>Adobe FrameMaker9</b> has introduced hierarchy in books. Two new logical entities Folders and Groups have been added in books to support hierarchy.<br />
<img alt="file5.jpg" src="http://blogs.adobe.com/techcomm/bknumbering/file5.jpg" width="380" height="501" /><br />
<em><small>Figure 1: Book containing Chapter, Section and Sub-section</small></em><br />
<h3>Levels in Hierarchy</h3><br />
<strong>1.Chapter Level</strong><br />
All the files and components that are directly present at the root level are considered to be at Chapter Level.<br />
<strong>2.Section Level</strong><br />
All the files and components that are directly under the Folder present at root level are considered to be at Section Level.<br />
<strong>3.Sub-section Level</strong><br />
Files and components that are present directly under Folder at Section Level are considered to be at Sub-section Level.<br />
Note:Group’s should always be ignored while determining the level of hierarchy.</p>

<h3>Selecting the components at different levels</h3>
To select all the components at Chapter, Section and Sub-section level one can use corresponding menu items Edit->Select->Chapter/Section/Sub-section Components. In Fig1 all the components at Chapter level are shown selected.

<h3>Setting the Numbering Properties</h3>
<img alt="file2.jpg" src="http://blogs.adobe.com/techcomm/bknumbering/file2.jpg" width="495" height="400" />
<em><small>Figure 2: Selection and status of Numbering tabs on Chapter level components.</small></em>

<p>On setting the value as “Continue Numbering from Previous Chapter/Section/Sub-Section in Book” we get the following values for the files and components present in the book.<br />
<img alt="file3.jpg" src="http://blogs.adobe.com/techcomm/bknumbering/file3.jpg" width="500" height="300" /><br />
New Building Blocks named <$sectionnum> and <$subsectionnum> and new Variables ‘Section Number’ and ‘Sub Section Number’ are also added to support numbering in Paragraph Designer and Variables respectively.</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" height="300"><br />
        <param name="movie" value="http://blogs.adobe.com/techcomm/bknumbering/BlogFiles_demo.swf" /><br />
        <param name="quality" value="high" /><br />
        <embed src="http://blogs.adobe.com/techcomm/bknumbering/BlogFiles1_demo.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="300"></embed><br />
      </object><br />
<a href="http://blogs.adobe.com/techcomm/bknumbering/BlogFiles1_demo.swf">Open in a different window</a><br />
Books in FrameMaker9 support additional formats like book, XML and ditamap i.e. they can now be added within the books and numbering can be set on these files as well.<br />
<h3>Numbering in Child Book components.</h3><br />
<img alt="file4.jpg" src="http://blogs.adobe.com/techcomm/bknumbering/file4.jpg" width="495" height="400" /><br />
<em><small>Figure 3: Book containing Child Book</small></em></p>

<p>Child Book implies book present within another book.In this figure ParentBook.book is a book that contains another book ChildBook.book within it. All the fm files and Child Book are present at the Chapter Level.The components present in the ChildBook.book are considered to be present at next level relative to the ParentBook.book.</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" height="300"><br />
        <param name="movie" value="http://blogs.adobe.com/techcomm/bknumbering/BlogFiles_demo.swf" /><br />
        <param name="quality" value="high" /><br />
        <embed src="http://blogs.adobe.com/techcomm/bknumbering/BlogFiles_demo.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="300"></embed><br />
      </object><br />
<a href="http://blogs.adobe.com/techcomm/bknumbering/BlogFiles_demo.swf">Open in a different window</a><br />
Please let me know your comments and suggestions.</p>

<p>Thanks and Regards,<br />
Mayank Gupta<br />
FrameMaker Engineering</p>

<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._initData();<br />
pageTracker._trackPageview();<br />
</script></p>]]>
        
    </content>
</entry>
<entry>
    <title>You, Me and Conferences</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/06/you_me_and_conferences.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10897" title="You, Me and Conferences" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10897</id>
    
    <published>2009-06-01T03:38:33Z</published>
    <updated>2009-07-01T02:22:41Z</updated>
    
    <summary>Adobe,FrameMaker,UI,PDF,DITA,Technical Communication,Publishing,Structured authoring,STC Hello Framers! Hope things are going great with you. It’s been a while since I met some...</summary>
    <author>
        <name>Mahesh Kumar Gupta</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="Technical Communication" />
            <category term="Training/eSeminars" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p><!-- #BeginTags --><p class="tags"><a href="http://www.technorati.com/tag/Adobe" rel="tag">Adobe</a>,<a href="http://www.technorati.com/tag/FrameMaker" rel="tag">FrameMaker</a>,<a href="http://www.technorati.com/tag/PDF" rel="tag">UI</a>,<a href="http://www.technorati.com/tag/Text" rel="tag">PDF</a>,<a href="http://www.technorati.com/tag/DITA" rel="tag">DITA</a>,<a href="http://www.technorati.com/tag/Technical Communication" rel="tag">Technical Communication</a>,<a href="http://www.technorati.com/tag/Publishing" rel="tag">Publishing</a>,<a href="http://www.technorati.com/tag/Structured authoring" rel="tag">Structured authoring</a>,<a href="http://www.technorati.com/tag/STC" rel="tag">STC</a></p><!-- #EndTags --></p>

<p>Hello Framers!</p>
<p>Hope things are going great with you. It’s been a while since I met 
 some of you.</p>
<p>Like every year, this year too I had planned to meet you personally 
 at various conferences but it seems that the first half of 2009 didn’t 
 want me to meet you at conferences.FrameMaker Chautauqua didn’t take place 
 this year; then due to some urgent business meeting, I couldn’t attend 
 WritersUA. Then the stage was all set for the grand STC conference but 
 my STC program was hacked with the alert ‘H1N1’ forcing the sudden cancellation. 
 And then unfortunately, DocTrain conference too got cancelled.</p>
<p>But this was for the first half of 2009! As per game theory, if I look 
 at the second half of 2009, it should look more positive giving me ample 
 opportunities to meet you, our Adobe Technical Communication Family!</p>
<p>I am sure you are enjoying working with FrameMaker 9 either as a point 
 product or as a part of TCS2. We also released a couple of patches for 
 the issues reported by you. Initially some of you reported that you were 
 not comfortable adjusting with the pleasant changes brought in FM9. This 
 was natural and now I am sure that with lot of e-seminars, tutorials, 
 white-papers and engineering blogs, you have become experts in working 
 with the new release.</p>
<p>Since change is inevitable, there have been some other changes too which 
 you might not be aware of. Let me share a couple of them with you. I was 
 blessed with a daughter less than an year ago. People say that in the 
 year of global slowdown, my body has seen a sharp growth in adipose tissue 
 which I have validated with weighing machines!</p>
<p>I am including a picture from STC 2008. When I meet you next, it would 
 be easy for you to relate the change! </p>
<p><a href="http://blogs.adobe.com/techcomm/STC%202008.jpg"><img alt="STC%202008.jpg" src="http://blogs.adobe.com/techcomm/STC%202008-thumb.jpg" width="567" height="425" /></a></p>
<p>Please keep sharing your feedback and I hope to meet you soon.</p>
<p>Take care</p>
<p>Mahesh</p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-9496483-1");
pageTracker._trackPageview();
} catch(err) {}</script>]]>
        
    </content>
</entry>
<entry>
    <title>Workspaces in FrameMaker 9</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/05/workspaces_in_fm9.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10798" title="Workspaces in FrameMaker 9" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10798</id>
    
    <published>2009-05-26T06:58:10Z</published>
    <updated>2009-06-29T11:00:05Z</updated>
    
    <summary>FrameMaker,Technical Communication,Adobe Technical Communication Suite,Workspaces Tired of loading the modeless dialogs every time you start your FrameMaker? -- The long...</summary>
    <author>
        <name>Nakshatra Bhardwaj</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="Technical Communication" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<!-- #BeginTags --><p class="tags"><a href="http://www.technorati.com/tag/FrameMaker" rel="tag">FrameMaker</a>,<a href="http://www.technorati.com/tag/Technical Communication"  rel="tag">Technical Communication</a>,<a href="http://www.technorati.com/tag/Adobe Technical Communication Suite" rel="tag">Adobe Technical Communication Suite</a>,<a href="http://www.technorati.com/tag/Workspaces" rel="tag">Workspaces</a></p><!-- #EndTags -->
<P>Tired of loading the modeless dialogs every time you start your FrameMaker? -- The long awaited feature of Workspaces comes to your rescue. Workspace is a saved set of frequently used panels/toolbars/pods in a desired arrangement for repeated use. It also offers flexibility of screen usage, by allowing a user to place  panels in numerous possible forms/arrangements (default, iconic, minimized, docked [left, right, bottom, top], floating, grouped) . Not only does the Workspace remember the dialogs that were open at the previous session but also their positions, size, state etc.   </P>
<P CLASS="PublisherBook">
<A NAME="pgfId-1002867"></A>&nbsp;</P>
<P CLASS="PublisherBook">
<A NAME="pgfId-1003156"></A>A Workspace created for doing same task may differ from user to user - the main criterion being the Panel Usage &amp; Screen Space. For example, the Workspace “Authoring” may be useful while creation of a document as it contains frequently used panels that are required to be used with a new document/template creation, “Manage Graphics” Workspace may be used while working with graphics and similarly separate Workspaces can be made for different tasks.  </P>
<P CLASS="PublisherBook">&nbsp;</P>
<TABLE border="1">
<CAPTION>
<H4>
<A NAME="pgfId-1003085"></A>Advantages with Workspaces in FM9  </H4>
</CAPTION>
<TR>
<TH COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellHeading">
<A NAME="pgfId-1003091"></A>&nbsp;</P>
</TH>
<TH COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellHeading">
<A NAME="pgfId-1003093"></A>Earlier Versions</P>
</TH>
<TH COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellHeading">
<A NAME="pgfId-1003095"></A>With Workspaces</P>
</TH>
</TR>
<TR>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003097"></A>Panel docking</P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003102"></A>&nbsp;<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-1.png" alt="" ALIGN="BASELINE"></P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003107"></A>&nbsp;<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-2.png" alt="" ALIGN="BASELINE"></P>
</TD>
</TR>
<TR>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003109"></A>Time saved in reopening Panels</P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003114"></A>&nbsp;<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-1.png" alt="" ALIGN="BASELINE"></P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003119"></A>&nbsp;<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-2.png" alt="" ALIGN="BASELINE"></P>
</TD>
</TR>
<TR>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003121"></A>Effective Screen Usage</P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003126"></A>&nbsp;<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-1.png" alt="" ALIGN="BASELINE"></P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003131"></A>&nbsp;<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-2.png" alt="" ALIGN="BASELINE"></P>
</TD>
</TR>
<TR>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003133"></A>Toggle hide/show all panels feature</P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003138"></A>&nbsp;<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-1.png" alt="" ALIGN="BASELINE"></P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003143"></A>&nbsp;<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-2.png" alt="" ALIGN="BASELINE"></P>
</TD>
</TR>
<TR>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003145"></A>Book as a panel</P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003150"></A><IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-1.png" alt="" ALIGN="BASELINE">&nbsp;</P>
</TD>
<TD COLSPAN="1" ROWSPAN="1" bgcolor="#FFFFFF">
<P CLASS="CellBody">
<A NAME="pgfId-1003155"></A>&nbsp;<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-2.png" alt="" ALIGN="BASELINE"></P>
</TD>
</TR>
</TABLE>
<P CLASS="PublisherBook">
<A NAME="pgfId-1003014"></A>&nbsp;<img src="http://blogs.adobe.com/techcomm/workspaces/WS-Switcher.png" alt="Workspace Switcher" width="224" height="258" align="right"></P>
<P CLASS="PublisherBook">
<A NAME="pgfId-1003050"></A>FrameMaker ships with a set of standard Workspaces tailored for different tasks.  You can modify them as you wish. If however, one needs to switch to the original setting, one can do so by using the &quot;Reset Workspace&quot; Option in the Workspace switcher. &quot;Reset Workspace&quot; option also works for the user-saved Workspaces where Reset Workspace option restores the last explicitly saved Workspace. You can manage the Workspaces using “Manage Workspace” option, where user-created Workspaces can be renamed or deleted.</P>
<P CLASS="PublisherBook">
<A NAME="pgfId-1003027"></A>&nbsp;</P>
<P CLASS="PublisherBook">
<A NAME="pgfId-1003034"></A>Workspaces are auto-saved by design. Let's say you closed a panel, you don't need to save the Workspace explicitly, it is saved automatically. If you need to design a ‘new’ Workspace for a specific task, you can open all the required panels and save the Workspace using the “Save Workspace” option in the Workspace Switcher located in the ‘Appbar’.</P>
<P CLASS="PublisherBook">
<A NAME="pgfId-1002906"></A> &nbsp;</P>
<P CLASS="PublisherBook">
<A NAME="pgfId-1003638"></A>While using Workspaces it might help to have the option Hide Panels On Close ‘unchecked’ (File-&gt;Preferences-&gt;Interface). Otherwise it might happen that many panels remain open in the hidden state. The Workspace loads when first document is opened and unloads with the closing of last document. As a Workspace could contain a lot of panels, loading a Workspace with lot of panels could sometimes take more than a second. You might experience some performance slowdown from the previous FM versions when loading the first file. Same would happen if an operation on book is underway, with no file open and FrameMaker opens one file at a time and closes it. To avoid these situations, you could leave one file open to save loading/unloading time of your Workspaces.</P>
<P CLASS="PublisherBook">
<A NAME="pgfId-1002812"></A>&nbsp;</P>
<DIV>
<H4 CLASS="Heading1">
<A NAME="pgfId-1003195"></A>More Workspace Facts:</H4>

<UL>
<LI CLASS="Bulleted">
<A NAME="pgfId-1003197"></A>The shipped Workspaces are also configurable.</LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1003198"></A>A Workspace is auto saved when FM exits.</LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1003199"></A>Workspace loads when the first document in FM is opened.</LI>
<LI CLASS="Bulleted-IILevel">
<A NAME="pgfId-1003203"></A></LI>
<IMG SRC="http://blogs.adobe.com/techcomm/workspaces/Workspace-12.png" ALIGN="BASELINE">
<span class="Arial-10"><span class="Arial-10">Opening a book as first file doesn’t load a Workspace.</span>
</span>
</UL>
<UL>
<LI CLASS="Bulleted">
<A NAME="pgfId-1003204"></A>If one makes a change to an original Workspace, it is similar to an override. On resetting it returns to its original state (with no Workspace overrides) but one loses the changes (Workspace overrides). To preserve both Workspaces:</LI>
<LI CLASS="Bulleted-IILevel">
<A NAME="pgfId-1003205"></A>Goto Workspace switcher &gt; Save Workspace &gt; Provide a different name. The Workspace gets saved and becomes a new non-overridden Workspace.</LI>
<LI CLASS="Bulleted-IILevel">
<A NAME="pgfId-1003206"></A>Reset the original Workspace restores the original one.</LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1003207"></A>Once you choose to save the Workspace, it will then be available on the Workspace switcher menu.</LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1003430"></A>The Workspace panels can be made to temporarily hide (and toggled back) with the “UI Visibility” icon on ‘AppBar’.<img src="http://blogs.adobe.com/techcomm/workspaces/UI-Visibility.JPG" width="261" height="64" alt="UI Visibility icon"></LI>
</UL>
<DIV></DIV>
<DIV>
<H5 CLASS="Body">
<A NAME="pgfId-1003434"></A>&nbsp;</H5>
</DIV>
</DIV>
<DIV>
<H4 CLASS="Heading1">
<A NAME="pgfId-998462"></A>Advanced Information:</H4>
<UL>
<LI CLASS="Bulleted">
<A NAME="pgfId-1002339"></A>Each Workspace has a corresponding .fws file. </LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1002425"></A>The shipped Workspaces are provided at the location: $FMHOME\fminit\WorkSpaces</LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1002432"></A>The  overridden Workspace files &amp; new user created Workspaces are present in FM user-area: &lt;FM-USER-AREA&gt;\WorkSpaces\.  (Start &gt; Run &gt; %appdata%\Adobe\FrameMaker\9)</LI>
<LI CLASS="Bulleted-IILevel">
<A NAME="pgfId-1002341"></A>Structured &amp; UnStructured are the corresponding folders containing these files for the chosen FM Product Interface.</LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1002311"></A>If any change is made to the loaded Workspace, a .cfws file gets created automatically in the same folder location when FM exits. This custom .fws file can be called as containing overrides. (.fws + overrides = .cfws)</LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1002191"></A>Though these files are written by FM but a user may hand-edit these files to a limited extent (at your own risk :).</LI>
<LI CLASS="Bulleted-IILevel">
<A NAME="pgfId-1002213"></A>For example if a user wants a blank Workspace he may delete all information from all docks - top, bottom, left, right.</LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1002362"></A>Incase your default Workspace starts troubling during first document open, you may change it via the &lt;FM-USER-AREA&gt;\maker.ini entry: LastUsedWorkSpaceInStructuredMode=Authoring where “Authoring” is name of the Workspace.</LI>
</UL>
<P CLASS="PublisherBook">
<A NAME="pgfId-1002948"></A>&nbsp;</P>
</DIV>
<DIV>
<H4 CLASS="Heading1">
<A NAME="pgfId-1003296"></A>Additional Information on Workspaces:</H4>
<DIV>

<UL>
<LI CLASS="Bulleted">
<A NAME="pgfId-1003444"></A><A HREF="http://help.adobe.com/en_US/FrameMaker/9.0/Using/WSC489C733-22A5-4271-B024-8B8DFF7238F9.html" CLASS="URL">(link) Workspace overview video</A></LI>
<LI CLASS="Bulleted">
<A NAME="pgfId-1003446"></A><A HREF="http://help.adobe.com/en_US/FrameMaker/9.0/Using/WS7276CAA0-156D-4e8c-AF4C-DD12CB3B29E7.html" CLASS="URL">(link) Customize and manage the Workspace</A></LI>
</UL>
<P CLASS="PublisherBook">
<A NAME="pgfId-1003261"></A>&nbsp;</P>

<P CLASS="PublisherBook">
<A NAME="pgfId-1003272"></A>Enjoy the power of the new UI and let us know what can we do to make it better!</P>
<P>Thanks and Regards,<br>
Amit Agarwal<br>
FrameMaker Engineering</P>
</DIV>
</DIV>
</DIV>


<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-9496483-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]>
        
    </content>
</entry>
<entry>
    <title>RoboHelp and TCS Down Under</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/05/robohelp_and_tcs_down_under.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10655" title="RoboHelp and TCS Down Under" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10655</id>
    
    <published>2009-05-19T05:09:50Z</published>
    <updated>2009-06-29T11:05:46Z</updated>
    
    <summary>Adobe,RoboHelp,Technical Communication Here is a good chance for people in Australia to check out the new features of RoboHelp 8...</summary>
    <author>
        <name>Dhiren Manubhai Jani</name>
        <uri>dtaborga</uri>
    </author>
            <category term="RoboHelp" />
            <category term="Technical Communication" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p><!-- #BeginTags --><p class="tags"><a href="http://www.technorati.com/tag/Adobe" rel="tag">Adobe</a>,<a href="http://www.technorati.com/tag/RoboHelp" rel="tag">RoboHelp</a>,<a href="http://www.technorati.com/tag/Technical Communication" rel="tag">Technical Communication</a></p><!-- #EndTags --></p>

<p>Here is a good chance for people in Australia to check out the new features of RoboHelp 8 and TCS 2. If you are in Melbourne during 20th to 22nd May, visit the <a href="http://www.aodc.com.au">12th Australasian Online Documentation and Content Conference 2009</a> at the Savoy Vibe Hotel.<br />
<b>Tony Self</b> and <b>Matthew Ellison</b> will be presenting the key features of RoboHelp, Captivate and the Technical Communication Suite.</p>

<p><b>The capabilities they will cover include <br />
1)	AIR Help as the new output format<br />
2)	FM to RH import for online output<br />
3)	Enhanced review workflows in TCS for authoring collaboration<br />
4)	FrameMaker live link support in RoboHelp</b></p>

<p>If you are unable to visit the conference and still have some questions on RoboHelp or TCS 2.0, you can reach out to me or Mahesh Kumar Gupta. I am available at "dhirenj at adobe dot com", while Mahesh can be reached at "mahesh at adobe dot com"</p>

<p>Dhiren Jani<br />
RoboHelp Product Manager</p>]]>
        <![CDATA[<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
try {<br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._trackPageview();<br />
} catch(err) {}</script></p>]]>
    </content>
</entry>
<entry>
    <title>Advanced Database Setup for RoboHelp Server 8</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/05/advanced_database_setup_for_robohelp_server_8.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10306" title="Advanced Database Setup for RoboHelp Server 8" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10306</id>
    
    <published>2009-05-14T06:20:04Z</published>
    <updated>2009-06-29T11:06:34Z</updated>
    
    <summary>Adobe,RoboHelp,RoboHelp Server 8, Technical Communication By default RoboHelp Server 8 gets installed with MS Access as the database which is...</summary>
    <author>
        <name>Tulika Garg</name>
        
    </author>
            <category term="RoboHelp" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p><!-- #BeginTags --><p class="tags"><a href="http://www.technorati.com/tag/Adobe" rel="tag">Adobe</a>,<a href="http://www.technorati.com/tag/RoboHelp" rel="tag">RoboHelp</a>,<a href="http://www.technorati.com/tag/RoboHelpServer 8" rel="tag">RoboHelp Server 8</a>, <a href="http://www.technorati.com/tag/Technical Communication" rel="tag">Technical Communication</a></p><!-- #EndTags --></p>

<p>By default RoboHelp Server 8 gets installed with MS Access as the database which is suitable for internal use or in a development environment.<br />
But for production environment, users should use Microsoft SQL Server/Oracle/SQL Server Express.</p>

<p>Steps to configure oracle/sql server as database – </p>

<p>1) Launch the Config Manager and select File > Open Context and select the context for which you want to configure the database.</p>

<p><img alt="OpenContext.jpg" src="http://blogs.adobe.com/techcomm/OpenContext.jpg" width="434" height="313" /></p>

<p>2) Select radio button "Oracle 9i or higher/Microsoft SQL Server/SQL Server Express Edition".  </p>

<p>3) Create a system DSN using ODBC administrator. To do so, click on the “ODBC Admin” button. This will launch the “ODBC Data Source Administrator”.  Click on the “System DSN”  tab and then click on “Add” button and select the driver type depending on the kind of database your are using. Then give the Database server details and the user name and password to connect to the database. Press OK.</p>

<p>4) Now select this newly created DSN from the “Select DSN” drop down.</p>

<p>5) In the username, password fields, specify the username and password used to create the DSN.</p>

<p><img alt="DBConfig.jpg" src="http://blogs.adobe.com/techcomm/DBConfig.jpg" width="441" height="314" /></p>

<p>6) Click “Save”.</p>

<p>7) You can verify if RoboHelp Server has all the information to connect to the database by clicking “Test Connection”. If connection details are OK, it should show a dialog box saying “Successfully connected to database”.</p>

<p><img alt="SuccessfulConn.jpg" src="http://blogs.adobe.com/techcomm/SuccessfulConn.jpg" width="248" height="124" /></p>

<p>8) Close Config Manager using File>Exit.<br />
</p>]]>
        <![CDATA[<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
try {<br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._trackPageview();<br />
} catch(err) {}</script></p>]]>
    </content>
</entry>
<entry>
    <title>XML Authoring Projects using Hierarchical Books</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/05/xml_authoring_projects_using_hierarchical_books.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10480" title="XML Authoring Projects using Hierarchical Books" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10480</id>
    
    <published>2009-05-11T06:28:19Z</published>
    <updated>2009-06-29T11:00:05Z</updated>
    
    <summary>Structured FrameMaker,Technical Communication,Adobe Technical Communication Suite,XML Authoring Authors can use the Hierarchical Books in Adobe FrameMaker 9 as XML Authoring...</summary>
    <author>
        <name>Nakshatra Bhardwaj</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="Technical Communication" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p><!-- #BeginTags --><p class="tags"><a href="http://www.technorati.com/tag/Structured FrameMaker" rel="tag">Structured FrameMaker</a>,<a href="http://www.technorati.com/tag/Technical Communication"  rel="tag">Technical Communication</a>,<a href="http://www.technorati.com/tag/Adobe Technical Communication Suite" rel="tag">Adobe Technical Communication Suite</a>,<a href="http://www.technorati.com/tag/XML Authoring" rel="tag">XML Authoring</a></p><!-- #EndTags --></p>

<p>Authors can use the Hierarchical Books in <strong>Adobe FrameMaker 9</strong> as XML Authoring Projects. They can keep structapps, EDD, Template, Read Write rules etc inside the book component hierarchy.</p>

<p><img alt="XMLproject_book.JPG" src="http://blogs.adobe.com/techcomm/hbooks/XMLproject_book.JPG" width="406" height="539" /><br />
<i>Fig 1. Snapshot of a Book which contains XML files and all other structured application files in a logical Folder.</i></p>

<p>If the author is working on a book which is composed of XMLs the author can add the files necessary for authoring structured applications for XML documents. Standard book operations can be performed over such a book while keeping the Structured Application files in Excluded state. These files would then not be included during book operations like TOC, Lists and Index generation.</p>

<p><img alt="ExcludeStructFiles.JPG" src="http://blogs.adobe.com/techcomm/hbooks/ExcludeStructFiles.JPG" width="397" height="397" /><br />
<i>Fig 2. A book which has an excluded Folder that contains all the files necessary to open the XML document in FrameMaker.</i></p>

<p>Keeping the structured application files in such a manner would ease the accessibility to these files. Locating and editing these files would be more efficient as different projects can maintain the associated EDD’s, templates and RW rules as projects using books in FrameMaker.<br />
Moreover the XML’s lying in a book can be associated with a particular application furthur easing the author in remembering the application to open different XML files with. </p>

<p><small><i>To set application to use for an XML file inside a book-<br />
      Select File> Right Click-Select Properties.<br />
      Select application in the Use Structured Application dialog.<br />
      Select continue to associate the XML file with an Application.</i></small></p>

<p>Also an author can maintain an image repository which might be used frequently. These can be added as unsupported files in an excluded Folder inside a hierarchical book improving accessibility and efficiency. </p>

<p><img alt="imageRepository.JPG" src="http://blogs.adobe.com/techcomm/hbooks/imageRepository.JPG" width="401" height="404" /><br />
<i>Fig 3. A book that contains all the images used in the book in an excluded Folder. The images can even lie on web servers.</i><br />
Similar repositories can be created for other such commonly used files in an authoring project.</p>

<p>Please let me know your comments and suggestions.</p>

<p>Thanks and Regards,<br />
Nakshatra Bhardwaj<br />
FrameMaker Engineering</p>

<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._initData();<br />
pageTracker._trackPageview();<br />
</script><br />
</p>]]>
        
    </content>
</entry>
<entry>
    <title>DITA specialization using FrameMaker</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/05/dita_specialization_using_framemaker_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10407" title="DITA specialization using FrameMaker" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10407</id>
    
    <published>2009-05-06T05:44:20Z</published>
    <updated>2009-06-29T11:00:05Z</updated>
    
    <summary> FrameMaker, Technical Communication, FrameMaker Specialization, Specialization, DITA Specialization, What is specialization Specialization is the process by which new designs...</summary>
    <author>
        <name>Ankur Singla</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="Technical Communication" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p><!-- #BeginTags --><br />
<p class="tags"><br />
<a href="http://www.technorati.com/tag/FrameMaker" rel="tag">FrameMaker</a>,<br />
<a href="http://www.technorati.com/tag/Technical Communication" rel="tag">Technical Communication</a>,<br />
<a href="http://www.technorati.com/tag/FrameMaker Specialization" rel="tag">FrameMaker Specialization</a>,<br />
<a href="http://www.technorati.com/tag/Specialization" rel="tag">Specialization</a>,<br />
<a href="http://www.technorati.com/tag/DITA Specialization" rel="tag">DITA Specialization</a>,<br />
</p><br />
<!-- #EndTags --></p>

<h2>What is specialization</h2>
<p>
Specialization is the process by which new designs are created based on existing
designs, allowing new kind of content to be processed using existing processing
rules.Specialization allows you to define new kinds of information (new structural
types or new domains of information), while reusing as much of existing
design and code as possible, and minimizing or eliminating the costs of interchange,
migration, and maintenance.
</p>
<p>
FrameMaker provides special handling for many objects in DITA like Table,
Image, Title, Indexterm, Xref etc. so when we specialize any such element which
have some special handling, same handling should be available for it. E.g. When
we insert a crossref in any DITA document (xref or fm-xref element from
element catalog or Special->Cross Reference), DITA-Cross reference dialog
shows up. Same should happen if we insert any specialized xref element in any
DITA document and name of specialized element should also show in DITA
&lt;xref&gt; Element drop down.
</p>
<h2>Types of specialization</h2>
<ul>
    Specialization can be broadly categorised into two types
    <li>
    Structural Specialization
    </li>
    <li>
    Domain Specialization
    </li>
    <p>
    Structural specialization defines new types of structured information, such as
    new topic types or new map types. Structural types define structures for
    modules of information, such as concept or task or reference, which often apply
    across subject areas. When doing structural specialization we generally create
    new specialized elements from top (Map or Topic) and then create specialization
    till the element required so essentially with structured specializtion, we
    create a whole new hierarchy e.g. if we have to create a new structurally specialized
    UIControlWindow element for uicontrol element, we should create
    Specialization of Topic, body, p, uicontrol elements.
    </p>
  <p>
    Domain specialization creates new markup that can be useful in multiple structural
    types, such as new kinds of keywords, tables, or lists, or new attributes such 
    as conditional processing attributes.Domains typically define markup for a
    particular domain or subject area, such as programming, or hardware. Domain
    elements become available wherever their ancestor elements are allowed once
    the domains are integrated with the structural specializations in a document
    type. E.g. if we create domain specialized table element &lt;DTable&gt;, it should be
    available whereever table element is, in the element hierarchy.
  </p>
    <p>
    <em>NOTE: We dont support attribute based specialization in FrameMaker.</em> 
    </p>
</ul>
<h2>How to specialize DITA elements in FrameMaker</h2>
<ul>
  <p>
    When we are specializing DITA elements, the most important and tedious
    process is defining the new specializing elements and deciding where they will
    fit in the existing DITA hierarchy. Some times we can get carried away and
    specialize elements more than what&#39;s required or can create crude specializations.
    So most effort should be put in carefully designing the specialized
    elements required and should avoid creating specialized elements when the
    existing elements could suffice. Once we have the list of elements we want and
    defined where they will fit in the existing DITA elements hierarchy, 75% task is
    done and rest is moreover following the following mechanical steps.
    </p>
</ul>
<ol>
  <li> Create new set of DTDâ€™s defining the new set of elements derived, from
    existing element types. The Detailed steps for this are listed at the end. </li>
    <li>Combine the specialized DTDs into a base dtd.</li>
    <li>Create a new Read Write Rule file using the existing standard
    Topic/Map read write rule file and add the element mappings for
    specialized elements derived from DITA elements, which have some
    mappings defined. Its like if we have any declaration in read write rule
    file for the base element and we want the element derived from that to
    have similar functionality, we need to add the same declaration for
    child element as well e.g. If we have mapped DITA image element to
    FrameMaker Graphic element then the specialized image element
    need to have same declaration in read write rule file to have special
    image handling. If there is unwrap statement for any element, then
    elements derived from that should be unwrapped as well.</li>
    <li>Import the base DTD as EDD in FrameMaker using the read write rule
    file and DTDs created in step 1-3.</li>
    <li>Check the class attributes of all the specialized elements in EDD. The
      correct element hierarchy should be created from the base element to
      the specialized one. Its the only criteria for Frame to map specialized
      element to its parent element.
      
  <li>Make FrameMaker specific changes in the EDD file as listed below
           <p> - For topic specialization :- </p>
  </li>
        <ul><li>Copy All the elements starting from "FM-" from standard Topic EDD to
          the New EDD generated. These are all FrameMaker specific elements
          which are declared to handle special objects like table, crossref, image
          etc.</li>
     
    <li>Change the content model of element properties to "fm-propheading?,
    fm-propertybody+".</li>
    <li>Change the content model of element choicetable to "chhead,
    fm-chbody" and simpletable to "sthead, fm-stbody.</li>
    <li>Change the content model of sthead to "fm-stheadrow" and chhead to
    "fm-chheadrow".</li>
    <li>Add fm-xref element to the content model of xref, syntaxdiagram,
    synblk, groupseq, groupchoice, groupcomp andfragment elements and
    all the elements where xref is valid. We need to do the same for specialized
    xref elements as well i.e. whereever any element of type xref is
    allowed, fm-xref should also be allowed.</li>
    <li>Add fm-linktext where ever linktext or any specialization of linktext is
    allowed.</li>
    <li>Hide the elements fm-graphic, alt, index-base, index-see, index-see-also
    and index-see-also using conditional tag.</li>
    </ul>
    <p>
    - For Map specialization :-</p>
    <ul>
    <li>Change the content model of reltable to (fm-reltablemeta)?,(
    relheader)?,(fm-reltablebody).</li>
    <li>Change the content model of relheader to (fm-relheaderrow).</li>
    <li>Copy elements fm-relheaderrow and fm-reltablebody from standard
    Map edd to current EDD.</li>
    <li>Add fm-topicreflabel to content model of topicref.</li>
    </ul>
    <li>Copy the element formatting of standard DITA elements from the
    default DITA Topic/map EDD to the new EDD and also define the
    formatting rules for the new specialized elements.</li>
    <li>Import EDD into new template file, import paragraph and character
    formats from standard DITA template into this new template and create
    new structured application for specialized elements using the
    template, read write rule and the integrated DTD file created from step
    1-7. Add new topic type as doctype in the application definition and
    also replace the name of ditabase.dtd with the new integrated DTD
    created in step1. We also need to change the value of â€˜writer external
    dtdâ€˜ in the read write rule file to the new integrated dtd name.
   </li>
    <li>Change the new application name in DITA option dialog (DITA-Topic
    Application, DITA Map Application) and click on save.</li>
    <li>You should be able to see your specialized Topic/Map in the
    DITA->New DITA file submenu. Start authoring. Its simple. </li>
    </li>
</ol>
    <h2>
    DITA elements with special handling in FrameMaker for specialization</h2>
    <p>
    For special elements like table, image, indexterm, footnote etc. the EDD
    contains special information denoting its type. All specialized elements for such
    special elements should also have corresponding information in EDD then only
    the special handling can be provided to the specialized elements. Following is
    the list of elements with special handling and the needful for specialization
    </p>
<ol>
    
    <li> topicref:- User should include fm-topicreflabel as the valid first element in
    the general rule of its specialized topicrefs. The functionalities like update
    reference, open all topicref, conref topic ref, navtitle update etc. are also
    available for specialized topicrefs.</li>
   <li> indexterm:- If indexterm import and export processing is ON in DITA
    options then the nesting of indexterm and Index-see, index-see-also,
    index-sort-as processing etc. is also available for specialized indexterms.</li>
    <li> table/simpletable/reltable/choicetable:-DITA table elements doesnâ€™t
    contain numCols and colWidth properties which need to be set explicitly
    in ditafm.ini for reltable/simpletable and for elements specialized from
    them. While specializing reltable, simple table etc., user need to add
    elements parallel to fm-reltablemeta, fm-chheadrow etc with similar
    structure in the EDD file (as we have for standard elements) and need to
    make similar declarations in read write rule file for the new elements.
    When we insert specialized table/simpletable/reltable elements, the name
    of specialized elements also appears in insert table dialog.</li>
    <li> topic/map:- If correct specialized topic/map application is set in DITA
    options, the specialized topic/map name appears in DITA->New DITA
    file submenu. Composite FM doc/ Book with FM doc etc functionality is
    available for the specialized topics as well.</li>
    <li> image/alt:-We need to make declaration in read write rule file for specialized
    image element to work as Frame graphic object. We don&#39;t support
    specialization of alt element.</li>
    <li> xref/link:- When a specialization of xref element is created, in the EDD
    file, we need to make element fm-xref available whereever the specialized
    xref is available. When we insert specialized xref/link element in DITA
    document, DITA-CROSS REFRENCE dialog opens and name of specialized
    xref/link element is available as DITA </h2>
  &lt;xref/link&gt;
 element.</li>
   <li> linktext:- We need to add fm-linktext in the EDD, as a valid choice, at all
    occurrences of specialized linktext element.</li>
    <li> prolog/draft-comment:- If the DITA option for conditionalize
    prolog/comments on file open is selected, then the specializations of
    prolog and draft-comment elements are conditionalized as well.</li>
    <li> fn:-We need to declare specialized fn element as footnote in read write
    rules file.
    NOTE: For all the above elements with some special handling, empty class attribute
    is allowed for the base element.</li>
  </li>
  </li>
</ol>
<p><em>NOTE: For all the above elements with some special handling, empty class attribute
is allowed for the base element.</em></p>

<p><a href="http://blogs.adobe.com/techcomm/Specialization%20Simplified.pdf">Download PDF for this Topic</a><br />
<p></p><br />
<p></p></p>

<h1>How to make changes in DITA DTDs for specialization</h1>
<p>
DITA dtds are divided into smaller modules, based on the base elements hierarchy
(Topic and Map) and their respective domain and structural specializations
like Task, Concept, BookMap, UIDomain, Programing Domain etc. There
are fixed set of changes which need to be done in DTDs which are defined
below.
</p>
<h2>
Making changes in DTDs for structural specialization </h2>
<p>
For structural specialization, we need to create a new DTD file with specialized
elements and then we have to integrate it with the existing DITA DTDs , the way
we want our final output to work. If we want to make our specialized elements
types work with the existing topic/map hierarchies, we can add our specialization
to ditabase.dtd or we can create a separate dtd. We will take an example
where user want to define a new specialized object element with only specialized
xref and footnote elements as its content model. The Steps to perform are :-</p>
<ol>
  <li>
    
    
    Copy any existing MOD file and rename it. e.g. refrence.mod to
    objectsp.mod. </li>
    <li>
    
    Open the new mod file e.g. objectsp.mod and in section "SPECIALIZATION
    OF DECLARED ELEMENTS", change infotype declaration to the
    newly declared structured type, which will be required for integrating
    the specialized modules with the existing ones. 
    </li>
  <br/>&lt;!--========================================================--&gt;
  <br />&lt;!-- SPECIALIZATION OF DECLARED ELEMENTS --> 
  <br />&lt;!--======================================================= --&gt;
  <br />&lt;!ENTITY % objectsp-info-types "%info-types;" &gt;<br />
    <p><em>ADDITIONAL INFORMATION: In next 3 steps, remove the existing stuff in the
    respected heads and add the new elements related information. We copy
    existing DTds mainly for the purpose that we get a formatted structure
    defined for declaring our new elements.</em></p>
</li>
    </em>
  <li> Declare the new entities for the specialized elements required till the
    top of the hierarchy.
  <br />&lt;!--====================================================== --&gt;
  <br />&lt; !-- ELEMENT NAME ENTITIES --&gt;
  <br />&lt;!--=======================================================--&gt;
  <br/>&lt;!ENTITY % myobjecttype "myobjecttype" &gt;
  <br/>&lt;!ENTITY % mybody "mybody" &gt;
  <br/>&lt;!ENTITY % myp "myp" &gt;
  <br/>&lt;!ENTITY % myobject "myobject" &gt;
  <br/>&lt;!ENTITY % myxref "myxref" &gt;
  <br/>&lt;!ENTITY % myfootnote "myfootnote" &gt;
  <br/>&lt;!--======================================================= --&gt;<br/></li>
    <li> Declare the new specialized elements.
 <br/> &lt;!--======================================================= --&gt;
  <br/>&lt;!-- ELEMENT DECLARATIONS --&gt;
  <br/>&lt;!--======================================================= --&gt;
 <br/> &lt;!-- LONG NAME: myobjecttype --&gt;
  <br/>&lt;!ELEMENT myobject ((%myxref;)*, (%myfootnote;)*)&gt;
  <br/>&lt;!ATTLIST myobject
<br/>declare (declare) #IMPLIED
<br/>classid CDATA #IMPLIED
<br/>codebase CDATA #IMPLIED
<br/>data CDATA #IMPLIED
<br/>type CDATA #IMPLIED
<br/>codetype CDATA #IMPLIED
<br/>archive CDATA #IMPLIED
<br/>standby CDATA #IMPLIED
<br/>height NMTOKEN #IMPLIED
<br/>width NMTOKEN #IMPLIED
<br/>usemap CDATA #IMPLIED
<br/>name CDATA #IMPLIED
<br/>tabindex NMTOKEN #IMPLIED
<br/>longdescref CDATA #IMPLIED
<br/>%univ-atts;
<br/>outputclass CDATA #IMPLIED
<br/>longdescre CDATA #IMPLIED &gt;
  <br/>  --------------------------- and so on for other elements<br/></li>
    <li>In "SPECIALIZATION ATTRIBUTE DECLARATIONS" section, declare the
    element from which the specialized element is derived from. We have
    to declared the hierarchy till the base topic/Map type (starting with a "-"
    for structural specialization) e.g. if the specialized element is derived
    from any reference element, we have to define the complete hierarchy
    from specialized element to reference to topic (as reference is again
    specialized from topic).<br/>
  &lt;!--====================================================== --&gt;
  <br/>&lt; !-- SPECIALIZATION ATTRIBUTE DECLARATIONS --&gt;
  <br/>&lt;!--=======================================================--&gt;
  <br/>&lt;!ATTLIST myobjecttype %global-atts; class CDATA "- topic/topic
myobjecttype/myobjecttype " &gt;
  <br/>&lt;!ATTLIST mybody %global-atts; class CDATA "- topic/body
myobjecttype/mybody " &gt;
  <br/>&lt;!ATTLIST myp %global-atts; class CDATA "- topic/p
myobjecttype/myp " &gt;
 <br/> &lt;!ATTLIST myxref %global-atts; class CDATA "- topic/xref
myobjecttype/myxref " &gt;
  <br/>&lt;!ATTLIST myobject %global-atts; class CDATA "- topic/object
myobjecttype/myobject " &gt;
 <br/> &lt;!ATTLIST myfootnote %global-atts; class CDATA "- topic/fn
myobjecttype/myfootnote " &gt;<br/> </li>
   <li> Integrate the new mod file with the existing ones by modifying
    ditabase.dtd. For the specialization in the example stated above, add
    entry in the â€œTOPIC NESTING OVERRIDE" section for declaring the new
    type with the base types and in "TOPIC ELEMENT INTEGRATION" section
    for importing the mod file
  <br/>&lt;!--========================================================--&gt;
  <br/>&lt;!-- TOPIC NESTING OVERRIDE --&gt;
  <br/>&lt;!ENTITY % info-types "topic | concept | task | reference | ?
myobjecttype | glossentry" &gt;
  <br/>&lt;!--========================================================--&gt;
  <br/>&lt;!-- TOPIC ELEMENT INTEGRATION --&gt;
  <br/>&lt;!--========================================================--&gt;
  <br/>&lt;!-- Embed topic to get generic elements --&gt;
 <br/> &lt;!ENTITY % topic-type PUBLIC ?"-//OASIS//ELEMENTS DITA
Topic//EN" ?"topic.mod" &gt;
   <br/> %topic-type;
 <br/> &lt;!ENTITY % objectsp-type PUBLIC ?"-//OASIS//ELEMENTS DITA
Topic//EN" ?"objectsp.mod"
&gt;
   <br/> %objectsp-type;
    HOW TO MAKE CHANGES IN DITA DTDS FOR SPECIALIZATION
    MAKING CHANGES IN DTDS FOR DOMAIN SPECIALIZATION
    <br/>   ---------- and the other existing ones
    <p><em>ADDITIONAL INFORMATION: If we want to restrict multiple topic types in a single
    topic type we can create a new integration file and not pull in all the topic
    types together like we did in the current example.</em></p>
  </li>
</ol>
    <h2>Making changes in DTDs for domain specialization</h2>
    <p>
    For domain specialization, we need to create 2 DTD files. In first file we declare
    the specialized elements and in the second dtd we declare the entities for integration
    related information as domain specialized elements should be available
    where ever their base element is. We will take an example where user want to
    define 3 new domain specialized elements for image, prolog and link respectively.
    The Steps to perform are :- </p>
    <ol>
      <li>
      Copy any existing MOD file and rename it. e.g. utilitiesDomain.mod to
        domainsp.mod.
      <p><em>
      ADDITIONAL INFORMATION: In next 3 steps, remove the existing stuff in the
      respected heads and add the new elements related information. We copy
      existing DTDs mainly for the purpose that we get a formatted structure
      defined for declaring our new elements </em></p> </li>
      <li> Open the new mod file e.g. domainsp.mod and in section "ELEMENT
        NAME ENTITIES", declare the new entities for the specialized elements.
       <br/> &lt;!--====================================================== --&gt;
       <br/> &lt; !-- ELEMENT NAME ENTITIES --&gt;
       <br/> &lt;!--=======================================================--&gt;
       <br/> &lt;!ENTITY % Dlink "Dlink" &gt;
       <br/> &lt;!ENTITY % Dprolog "Dprolog" &gt;
       <br/> &lt;!ENTITY % Dimage "Dimage" &gt;
        <br/>&lt;!--=======================================================--&gt;</li>
       <li> Declare the new specialized elements.
        <br/>&lt;!--======================================================= --&gt;
        <br/>&lt;!-- ELEMENT DECLARATIONS --&gt;
        <br/>&lt;!--======================================================= --&gt;
       <br/> &lt;!-- LONG NAME: Dimage --&gt;
       <br/> &lt;!ELEMENT Dimage (%alt;) &gt;
        <br/>&lt;ATTLIST Dimage href CDATA #REQUIRED
        <br/>keyref NMTOKEN #IMPLIED
       <br/> alt CDATA #IMPLIED
       <br/> longdescref CDATA #IMPLIED
        <br/>      height NMTOKEN #IMPLIED
        <br/>width NMTOKEN #IMPLIED
       <br/> align CDATA #IMPLIED
       <br/> scale NMTOKEN #IMPLIED
       <br/> placement (inline | break | -dita-use-conref-target)
 <br/> "inline"
        <br/>%univ-atts; outputclass CDATA #IMPLIED &gt;
      <br/>  --------------------------- and so on for other elements.</li>
        <li> In "SPECIALIZATION ATTRIBUTE DECLARATIONS" section, declare the
        element from which the specialized element is derived from. We have
        to declared the hierarchy till the base topic/Map type (starting with a
        "+" for domain specialization) e.g. if the specialized element is derived
        from any other utility domain element, we have to define the complete
        hierarchy from specialized element to utilities domain to topic (as utilities
        domain is again specialized from topic).
       <br/> &lt;!--====================================================== --&gt;
        <br/>&lt; !-- SPECIALIZATION ATTRIBUTE DECLARATIONS --&gt;
        <br/>&lt;!--=======================================================--&gt;
        <br/>&lt;!ATTLIST Dprolog %global-atts; class CDATA "+ topic/prolog
       <br/> domainsp-d/Dprolog " &gt;
       <br/> &lt;!ATTLIST Dlink %global-atts; class CDATA "+ topic/link
       <br/> domainsp-d/Dlink " &gt;
        <br/>&lt;!ATTLIST Dimage %global-atts; class CDATA "+ topic/image
      <br/>  domainsp-d/Dimage " &gt; </li>
        <li> Next we need to define the ENT file which allows the elements to be
        substituted instead of being aggregated i.e. wherever the parent
        element is allowed, the specialized one should be allowed as well.
        Create a new ENT file (or copy any existing one). </li>
        <li> Open the ENT file and declare the entities for integration of new
        elements with the existing one (using domain extensions)
        <br/>&lt;!--====================================================== --&gt;
        <br/>&lt; !-- ELEMENT EXTENSION ENTITY DECLARATIONS --&gt;
        <br/>&lt;!--=======================================================--&gt;
       <br/> &lt;!ENTITY % domainsp-d-image "Dimage" &gt;
        <br/>&lt;!ENTITY % domainsp-d-link "Dlink" &gt;
       <br/>&lt;!ENTITY % domainsp-d-prolog "Dprolog" &gt; </li>
        <li> In same ENT file, decare the domain attribute entity to define the
        ancestry till the root from which the elements are derived. If you are
        specializing any element from some domain extension, then you need
        to declare till the top.
        <br/>&lt;!--====================================================== --&gt;
        <br/>&lt; !-- DOMAIN ENTITY DECLARATION --&gt;
        <br/>&lt;!--=======================================================--&gt;
       <br/> &lt;!ENTITY domainsp-d-att "(topic ank-d)"&gt; </li>
        <li> Integrate the new mod file with the existing ones by modifying
        ditabase.dtd. For domain specialization we need to integrate both
        element definition dtd and the ENT file we created so we need to
        modify at 4 different places </li>
        <ul>
        <li> First we need to do the vocabulary declaration and define the new
        domain. 
        
       <br/> &lt;!--========================================================--&gt;
       <br/>&lt;!-- DOMAIN ENTITY DECLARATIONS --&gt;
        <br/>&lt;!--========================================================--&gt;
        <br/>&lt;!ENTITY % domainsp-d-dec PUBLIC "-//domainsp//ENTITIES DITA
       <br/> domainsp Domain//EN" "domainsp.ent" &gt;
       <br/> %domainsp-d-dec;
       <br/> -------- and the other existing ones. </li>
          <li> Do the vocabulary substitution and define the elements from the which
        the domain specialized elements are extending from.
       <br/> &lt;!--========================================================--&gt;
       <br/> &lt;!-- DOMAIN DOMAIN EXTENSIONS--&gt;
       <br/> &lt;!--========================================================--&gt;
       <br/> &lt;!ENTITY % image "image | %domainsp-d-image;" &gt;
       <br/> &lt;!ENTITY % prolog "prolog | %domainsp-d-prolog;" &gt;
       <br/> &lt;!ENTITY % link "link | %domainsp-d-link;" &gt;
       <br/> -------- and the other existing ones </li>
        <li> Do the vocabulary attribute declaration.
        <br/>&lt;!--========================================================--&gt;
        <br/>&lt;!-- DOMAINS ATTRIBUTE OVERRIDE--&gt;
       <br/> &lt;!--========================================================--&gt;
       <br/> &lt;!ENTITY included-domains "&ui-d-att; &hi-d-att; &pr-d-att;
  <br/>&sw-d-att; &ut-d-att; &indexing-d-att; &domainsp-d-att;" &gt; </li>
        <li> Finally put the vocabulary definition and pull in the mod file for domain
        element integration. It will pull in all the specialized elements declared
        in the mod file.
       <br/>
        &lt;!--========================================================--&gt;
       <br/> &lt;!-- DOMAIN ELEMENT INTEGRATION --&gt;
       <br/> &lt;!--========================================================--&gt;
       <br/> &lt;!ENTITY % ank-d-def PUBLIC ?"-//domainsp//ELEMENTS DITA User
       <br/> Interface Domain//EN" "domainsp.mod" &gt;
       <br/> %domainsp-d-def;
       <br/> -------- and the other existing ones </li></ul>
        
        
        </li>
  </ol>
      </li>
    </ol>
<a href="http://blogs.adobe.com/techcomm/DTD%20Changes.pdf">Download PDF for this topic</a> <br/>
<a href="http://blogs.adobe.com/techcomm/ObjectSp.zip">Download the sample files as explained in the topic</a>
<br/>
<p>Thanks and Regards,
<br>Ankur Singla</br>
<br>FrameMaker Engineering</br></p>

<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._initData();<br />
pageTracker._trackPageview();<br />
</script></p>]]>
        
    </content>
</entry>
<entry>
    <title>How to use Ditaval Filtering ?</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/04/how_to_use_ditaval_filtering_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10321" title="How to use Ditaval Filtering ?" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10321</id>
    
    <published>2009-04-30T05:00:40Z</published>
    <updated>2009-06-29T11:00:05Z</updated>
    
    <summary> FrameMaker, Technical Communication, DITA, Ditaval, Filtering, PDF Adobe FrameMaker 9 allows to use Ditaval based filtering of content while...</summary>
    <author>
        <name>Tarun Garg</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="Technical Communication" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<!-- #BeginTags -->
<p class="tags">
<a href="http://www.technorati.com/tag/FrameMaker" rel="tag">FrameMaker</a>,
<a href="http://www.technorati.com/tag/Technical Communication" rel="tag">Technical Communication</a>,
<a href="http://www.technorati.com/tag/DITA" rel="tag">DITA</a>,
<a href="http://www.technorati.com/tag/Ditaval" rel="tag">Ditaval</a>,
<a href="http://www.technorati.com/tag/Filtering" rel="tag">Filtering</a>,
<a href="http://www.technorati.com/tag/PDF" rel="tag">PDF</a>
</p>
<!-- #EndTags -->

<p><strong>Adobe FrameMaker 9</strong> allows to use Ditaval based filtering of content while producing following output from a DITA Map:
<ul>
<li>PDF</li>
<li>Print Output</li>
<li>FrameMaker Book (with FM Components)</li>
<li>Composite Document</li>
</ul></p>

<p>For using the Ditaval filtering with FrameMaker, first create a ditaval file specifying the filtering criteria and then select this ditaval file while producing the output.</p>

<p>While creating the <em><strong>PDF</strong></em>, <em><strong>FrameMaker Book (with FM Components)</strong></em> or <em><strong>Composite document</strong></em> from a DITA Map, following shall be done to use Ditaval filtering:
<ul>
<li>Choose the option <em><strong>‘Prompt For DitaVal File’</strong></em> in the <em><strong>‘Save Document’</strong></em> dialog (as depicted in image below).</li>
<li>After clicking on Save, a <em><strong>‘Choose DitaVal File’</strong></em> dialog appears. In this dialog, select the Ditaval file to be used to apply the content filtering.</li>
<li>On choosing the file, the desired output gets generated as per the filtering specified in the Ditaval file.</li>
</ul></p>

<img alt="DitaVal.JPG" src="http://blogs.adobe.com/techcomm/DITA/DitaVal.JPG" width="450" height="360" />
<br></br>

<p>For Print Output, user has the option to enable/disable Ditaval filtering feature using the <em><strong>‘PromptForDitaval’</strong></em> option in <em><strong>ditafm.ini</strong></em> file. Set <em><strong>‘PromptForDitaval =1’</strong></em> to enable this feature. When enabled, the <em><strong>‘Choose DitaVal File’</strong></em> dialog shall appear whenever the user invokes print command for a DITA Map.</p>

<p>Following is a demonstration for <em><strong>'Using DITAVAL Filtering while generating PDF output from a DITA Map' </strong></em>:</p>
<p><a href="http://blogs.adobe.com/techcomm/DITA/Demo_DitavalFiltering.swf" target="_blank">view in a separate window</a></p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" height="300">
        <param name="movie" value="http://blogs.adobe.com/techcomm/DITA/Demo_DitavalFiltering.swf" />
        <param name="quality" value="high" />
        <embed src="http://blogs.adobe.com/techcomm/DITA/Demo_DitavalFiltering.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="300"></embed>
      </object>

<br></br>
<br></br>


Please let me know your comments and suggestions.
<br></br>


<p>Thanks and Regards,
<br>Tarun Garg</br>
<br>FrameMaker Engineering</br></p>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-9496483-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]>
        
    </content>
</entry>
<entry>
    <title>Using Master Pages in RoboHelp 8</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/04/using_master_pages_in_robohelp_8.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10275" title="Using Master Pages in RoboHelp 8" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10275</id>
    
    <published>2009-04-27T08:49:15Z</published>
    <updated>2009-06-29T11:08:17Z</updated>
    
    <summary>Adobe,RoboHelp,Technical Communication Master Pages, a new concept introduced in Adobe RoboHelp 8, intends to provide flexibility in controlling the layout...</summary>
    <author>
        <name>Milind Kumar Jha</name>
        
    </author>
            <category term="RoboHelp" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p><!-- #BeginTags --><p class="tags"><a href="http://www.technorati.com/tag/Adobe" rel="tag">Adobe</a>,<a href="http://www.technorati.com/tag/RoboHelp" rel="tag">RoboHelp</a>,<a href="http://www.technorati.com/tag/Technical Communication" rel="tag">Technical Communication</a></p><!-- #EndTags --></p>

<p><strong>Master Pages</strong>, a new concept introduced in <strong>Adobe RoboHelp 8</strong>, intends to provide flexibility in controlling the layout of topics, where in an author may separate the actual content from the layout of the output and may do it from a single place. In Adobe RoboHelp 8, a user may use Master Page as a <strong>Layout and Styling canvas</strong> where one may put basic HTML elements to be used for Layout purposes. This is an enhanced feature to the legacy Topic Template feature in RoboHelp through which user could just create topics having initial similar content and could control CSS style and Header/Footer.</p>

<p>Also, this feature introduces the concept of various <strong>Placeholders</strong> viz. Body Placeholder, MiniTOC Placeholder, Breadcrumbs Placeholder, where a user may generate variety of content in different style as and when required at various places in the topics controlling them from the same Master Page. </p>

<p>Using other placeholders, such as <strong>Mini TOC</strong> and <strong>Breadcrumbs</strong> may give authors a tighter control over the layout of the output since Mini TOC or Breadcrumbs may be generated automatically with same settings done at a single place in the Master Page. RoboHelp Headers and Footers behaviour is kept similar to earlier Topic Templates for a reusable persistence model.</p>

<p>Another use of this feature may be to achieve different <strong>look and feel</strong> for different SSL outputs. With a Layout already defined in a Master page, during generation of output, user may decide to apply one of the Master Pages used in the project so as to keep a consistent look and feel throughout the project output. This gives more <strong>flexibility</strong> to a user with respect to defining and controlling the layout of output.</p>

<p><strong>The Master Page</strong></p>

<p><img alt="MasterPage.jpg" src="http://blogs.adobe.com/techcomm/MasterPage80.jpg" width="498" height="385" /><br />
<em>Different areas of a Default Master Page</em></p>

<p>The <strong>Master Page </strong>Editor may be considered having two components, first, the <strong>Body placeholder </strong>area as a representative of Topic content to which this Master Page will be applied and second, the area outside the Body Placeholder which may be used for controlling the layout of associated topics (Refer the Image)</p>

<p>This <strong>Layout area </strong>is like any other <strong>Editor area </strong>where HTML content may be placed. The difference with the content outside Body Placeholder i.e. the Layout area is that these contents are not shown in the associated topic but are patched during preview/output. RoboHelp 8 overrides all layout settings (e.g. Borders and Shading Properties, Background Color etc) of attached Topic from that of the Master page.</p>

<p>In the Design view of a Topic associated with a Master Page, contents from the layout part is not shown, but while creating a topic, content present inside the Body Placeholder is placed as initial content of the new topic. The resulting preview/output of a topic with applied Master Page is formed with a combination of Layout from Master Page and content from the topic placed at a position where Body Placeholder is kept in the Master Page Layout.  This may be understood from the following schematic:</p>

<p><img alt="Layouting.gif" src="http://blogs.adobe.com/techcomm/Layouting.gif" width="390" height="198" /><br />
<em>Generation of Preview/Output for a topic associated with a Master Page</em></p>

<p><strong>The Placeholders</strong></p>

<p><em><strong>Body Placeholder</strong></em></p>

<p>A new concept of <strong>Bod</strong>y placeholder has been introduced in the Master Page which shall act as a placeholder for the actual topic content associated with this master page. This Body Placeholder is a special placeholder that provides space to embed the seed content to be inserted into a newly created topic based on this Master Page. Another most important use of this placeholder is to represent the Topic Content in layout of the Master Page. A Master Page can have only one Body Placeholder at a time. During preview/generation of resultant topic based on a Master Page, Body placeholder of the corresponding master page will be replaced by content of the actual topic content and the resulting topic will be generated. </p>

<p><em><strong>Mini TOC Placeholder:</strong></em></p>

<p>This placeholder may be used to generate a <strong>Mini TOC </strong>automatically at compile time for intra topic navigation. Although, this Placeholder may be inserted anywhere and any no. of times in the Master Page or a Topic, the purpose of centralized control and consistent appearance may be achieved by placing it into a Master Page Layout area. While previewing or in the output of a topic, this Placeholder will be replaced by the actual Mini TOC generated based on the Style settings done for the placeholder and the content in the resulting Topic for style H1 to H6 .</p>

<p>Mini TOC also provides a way to expand/collapse the Mini TOC in the output with a defined string (By default it is show/hide), which is shown beside Mini TOC caption in Expanding Hot Spot Style. The string may be changed from LNG File of the project wherein the variables are present in Master Page’s section. If an author doesn’t want to have any text present for the expand/collapse functionality, he may keep the variables as blank. Also if one wants to keep the Caption and this Hot Spot absent for a Mini TOC, one may keep the Caption blank. Still further, if a user wants to use the Expand/Collapse string in the output but doesn’t want to have any Caption in the resulting Mini TOC, he may achieve it by placing a space in the Caption field of the corresponding placeholder. </p>

<p><em><strong>Breadcrumbs Placeholder</strong></em></p>

<p><em><strong>Breadcrumbs </strong></em>Placeholder is a placeholder for a Breadcrumb to be generated at Output generation time for inter topic linking based on the TOC selected. This placeholder may be inserted anywhere and any no. of times in a Master Page or a Topic, although maximum flexibility and centralized control may be achieved if used in a Master Page layout area. </p>

<p>Style for breadcrumbs may be set from the <strong>Options </strong>dialog itself, but if a user wants to use style present in CSS he may set the style for Breadcrumbs in CSS itself, where an entry for the Breadcrumbs character and paragraph style is present. After setting these style elements in the CSS user should check “Use Style from Topic” option in the corresponding Breadcrumb dialog for those settings to be applied in corresponding Breadcrumbs.</p>

<p><strong>Generating consistent Output in RoboHelp 8 </strong></p>

<p><strong>Adobe RoboHelp 8</strong> provides a consistent way of producing output with the help of applying CSS or Master Page while generating output. This gives an author flexibility to generate same content with different styles and different layouts by just applying a CSS or a Master Page while generating output. </p>

<p>If a user wants to have a consistent layout across his output, he may create a Master Page with that particular layout and apply it in all of the topics in the content. The resulting output will have all topic contents placed in place of Body Placeholder present in the Master Page with the CSS of Master Page overriding the CSS of topics across output Topics. User may also select only a CSS to apply across all topics by selecting it in the SSL dialog. Doing this, selected CSS will be applied across all topics while generation. </p>

<p>A user may still want to use a layout from a Master Page and the CSS from the Topic itself. This may also be achieved by applying a Master Page having None CSS attached and corresponding layout present. Doing this will apply only layout from the Master Page on the resulting topics and CSS of the topics will be the same as in topics and hence may be different for the topics in the output.</p>

<p><br />
Milind Jha<br />
RoboHelp QE Team</p>

<p><br />
</p>]]>
        <![CDATA[<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
try {<br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._trackPageview();<br />
} catch(err) {}</script></p>]]>
    </content>
</entry>
<entry>
    <title>How to integrate FrameMaker 9 with a WebDAV based CMS</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/04/how_to_integrate_framemaker_9_with_a_webdav_based_cms.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10241" title="How to integrate FrameMaker 9 with a WebDAV based CMS" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10241</id>
    
    <published>2009-04-23T10:32:30Z</published>
    <updated>2009-06-29T11:10:10Z</updated>
    
    <summary>With FrameMaker 9 comes a new way to work with files on a CMS (Content Management Server) that supports HTTP/WebDAV...</summary>
    <author>
        <name>Jatin Sanghvi</name>
        
    </author>
            <category term="FrameMaker" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p>With FrameMaker 9 comes a new way to work with files on a CMS (Content Management Server) that supports HTTP/WebDAV protocol. WebDAV is a kind of extension over HTTP which allows user to write files on Web along with usual viewing. Multiple users can collaboratively edit and manage files hosted on the Web server. Since many of today’s CMS servers provide users with a WebDAV route to access and edit files, FrameMaker 9 can automate the collaborative tasks by providing direct ways to view and make changes to files on CMS systems. </p>

<p>To setup a new CMS server and work with it using FrameMaker 9, initial configurations are required on the server side only. One is required to host any of the FrameMaker supported WebDAV servers on a machine. The list of supported servers includes Alfresco CMS, Apache Tomcat and Microsoft’s IIS server. Anyhow the feature works well with other WebDAV-based servers too. The server machine may either be situated in Intranet or can be remotely located. Other steps to set the server up comprises of establishing a file-structure that will be shared among contributors and creating a list of users who will have password-protected access to files on the server.</p>

<p>At the FrameMaker end, user is simply required to mention HTTP paths of files wherever required. For example, to open an FM file on WebDAV server, user only needs to type the HTTP URL of the file in the File->Open box and open it. If the file required being modified, just make changes and save the file. In a similar manner, user can import HTTP objects, open XML files, Books and Ditamaps, create references to HTTP files, etc. This is made possible with native HTTP path support added in FrameMaker 9. Almost all FrameMaker workflows now support HTTP paths. Frame 9 provides out-of-the-box HTTP integration where user is kept free from the network operations going internally. FrameMaker by itself manages file-caching for user, automatically downloads and uploads files and checks them in and out if required.</p>

<p>The support is not restricted to WebDAV servers in particular; operations that do not involve editing a file (e.g. importing a graphic or a DTD in XML) can even be carried out on files that belong to non-WebDAV HTTP servers.</p>

<p>Besides, FrameMaker 9 also consists of a new WebDAV browser. This browser can be accessed through the “Browse URL” button that can be found on any of File->Open, Import and Save dialogs. The browser is used to list the content of WebDAV server. The dialog also provides user with a set of file operations like create a new folder on server and rename or delete a file. This dialog comes handy especially when user does not remember the HTTP URL of file he needs to open or import. All he has to do is to browse to that particular folder through WebDAV browser and double-click the required file item. This will copy the file’s URL to the Open or Import dialog and will save substantial typing of user each time. </p>

<p>The presented flash demo illustrates some of the common DITA workflows that can be performed over files on WebDAV server. The flash presentation includes opening a Ditamap from one server, making changes to Ditamap, adding HTTP Topicrefs and Conrefs from another server into Ditamap, modifying the Topicrefs and saving them back, converting HTTP Ditamap into a composite document and uploading the generated document to the server. I hope you like the demonstration.</p>

<p><a href="http://blogs.adobe.com/techcomm/ditamap_video_demo.swf">View in a seperate window</a><br />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="480" height="360"><br />
<param name="movie" value="http://blogs.adobe.com/techcomm/ditamap_video_demo.swf" /><br />
<param name="play" value="false" /><br />
<embed src="http://blogs.adobe.com/techcomm/ditamap_video_demo.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" type="application/x-shockwave-flash" width="480" height="360"></embed><br />
</object></p>

<p>Please feel free to put your comments to the post.</p>

<p>Jatin Sanghvi<br />
FrameMaker Engineering</p>]]>
        <![CDATA[<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
try {<br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._trackPageview();<br />
} catch(err) {}</script></p>]]>
    </content>
</entry>
<entry>
    <title>All about Output from DITA Maps</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/04/all_about_output_from_dita_maps.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10183" title="All about Output from DITA Maps" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10183</id>
    
    <published>2009-04-20T10:11:16Z</published>
    <updated>2009-06-29T11:00:05Z</updated>
    
    <summary> FrameMaker, Technical Communication, DITA, Ditamap, Ditamap Publishing, PDF Adobe FrameMaker 9 supports generation of following output from a DITA...</summary>
    <author>
        <name>Tarun Garg</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="Technical Communication" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<!-- #BeginTags -->
<p class="tags">
<a href="http://www.technorati.com/tag/FrameMaker" rel="tag">FrameMaker</a>,
<a href="http://www.technorati.com/tag/Technical Communication" rel="tag">Technical Communication</a>,
<a href="http://www.technorati.com/tag/DITA" rel="tag">DITA</a>,
<a href="http://www.technorati.com/tag/Ditamap" rel="tag">Ditamap</a>,
<a href="http://www.technorati.com/tag/Ditamap Publishing" rel="tag">Ditamap Publishing</a>,
<a href="http://www.technorati.com/tag/PDF" rel="tag">PDF</a>
</p>
<!-- #EndTags -->

<table width="450" border="1">
    <tr valign="top">
      <td width="450"><p><strong>Adobe FrameMaker 9</strong> supports generation of following output from a DITA Map:</p>
<ul><li>PDF</li>
<li>Print</li>
<li>FrameMaker Book with FM components</li>
<li>FrameMaker Book with XML components</li>
<li>Composite Document</li></ul>
<p><strong>Adobe Technical Communication Suite 2</strong> supports generation of following output (in addition to above) from a DITA Map:</p>
<ul><li>AIR</li>
<li>HTML</li>
<li>Flash Help</li>
<li>Microsoft HTML Help (or CHM)</li></ul>
      </td>
    </tr>
  </table>
<br></br>

<strong>Adobe FrameMaker 9</strong> enhances the output generation for DITA Maps with additional support for the following DITA constructs:
<ol><li><u><em><strong>Attribute ‘print’:</strong></em></u> While generating output form a DITA Map, <em><strong>‘print’ </strong></em>attribute value shall be used to determine whether the topic shall be included in the output. If no value is specified, it is assumed to be <em><strong>‘yes’</strong></em>. User has the option to enable/disable this feature using the <em><strong>‘UsePrint’ </strong></em>option in <em><strong>ditafm.ini </strong></em>file. Set <em><strong>‘UsePrint = 1’</strong></em>  to enable this feature.</li>
<li><u><em><strong>Relationship Table Support:</strong></em></u> Relationship tables, if present in the DITA Map, shall be used to generate related links in the output. User has the option to enable/disable this feature using the <em><strong>‘UseReltable’ </strong></em>option in <em><strong>ditafm.ini </strong></em>file. Set <em><strong>‘UseReltable = 1’</strong></em>  to enable this feature.</li>
<li><u><em><strong>DITAVal Filtering Support:</strong></em></u> The DITA Map content shall get filtered, based on the provided DITAVal file, to generate the output. The filtering gets applied to the DITA Map, as well as to all the referenced Topics within. User has the option of specifying the DITAVal file at the time of generating output.</li></ol>

Using Adobe FrameMaker 9, one can save a DITA Map in various formats depending on one’s requirements. It could be intermediary output, like – FrameMaker Book/Document; or it can be final output, like – Print/PDF.

<p><br></br>
<img alt="DITAMapOutputUsingFM.JPG" src="http://blogs.adobe.com/techcomm/DITA/DITAMapOutputUsingFM.JPG" width="450" height="258" />
<br></br></p>

A DITA Map can be saved to one of the following formats, to carry out the required post-processing before producing the final output:
<ol><li><u><em><strong>FrameMaker Book with FM components:</strong></em></u> A FrameMaker book is created based on the DITA Map. Each Topic gets converted to a separate FrameMaker document. Each Map (contained by the DITA Map), gets converted to a separate FrameMaker Composite document. The generated book contains these converted FrameMaker documents in the same hierarchical structure as the DITA Map.
<li><u><em><strong>FrameMaker Book with XML components:</strong></em></u> A FrameMaker book is created based on the DITA Map. Each Topic/Map in the DITA Map, gets added to the FrameMaker Book in the XML format itself. The generated book contains these XML documents in the same hierarchical structure as the DITA Map.
<li><u><em><strong>Composite Document:</strong></em></u> A Composite FrameMaker document is created based on the DITA Map. The content from all the referenced Topics/Maps is collated to create a single FrameMaker document for output.</li></ol>

Also, a direct output can be generate from a DITA Map, in the form of <strong>PDF/Print output</strong>. While doing this, the content from all the referenced Topics/Maps is collated to create a single output document (similar to the Composite Document).

<br></br>
<p>Following table summarizes the availability of output related DITA features , while producing different outputs for a DITA Map:</p>

<p><img alt="DITAFeatures.JPG" src="http://blogs.adobe.com/techcomm/DITA/DITAFeatures.JPG" width="450" height="146" />
<br><strong>*</strong>For this output, the topicrefs where <em><strong>'print'</strong></em> attribute is set to <em><strong>‘no’</strong></em>, do not get dropped from the output book. Rather, corresponding component’s <em><strong>‘Exclude’</strong></em> flag gets set in the output FrameMaker Book.</br></p>

Following are the steps for producing an output from a DITA Map:
<ol><li>Open DITA Map in FrameMaker’s RM View.</li>
<li>Use menu command:
<ul><li><em><strong>‘File-> Save Ditamap As’</strong></em>, for all outputs except print.</li>
<li><em><strong>‘File->Print Ditamap’</strong></em>, for print output.</li>
<li><em><strong>‘File->Save As PDF’</strong></em>, for PDF output.</li></ul></li>
<li>Select appropriate type from <em><strong>‘Save as Type’</strong></em> drop-down in the <em><strong>‘Save Document’ </strong></em>dialog. Refer to the table below, for <em><strong>‘Save as Type’ </strong></em>option to be used for different outputs.</li></ol>

<p>Following table lists the <em><strong>‘Save as Type’ </strong></em>option to be used for different outputs:</p>
  <table width="450" border="1">
    <tr valign="top">
      <th width="200">Output </th>
      <th width="250"><em>‘Save As Type’</em> Option</th>
    </tr>
    <tr valign="top">
      <td><strong>FM Book (FM Components)</strong></td>
      <td>Book 9.0 with fm components (*.book)</td>
    </tr>
    <tr valign="top">
      <td><strong>FM Book (XML Components)</strong></td>
      <td>Book 9.0 (*.book)</td>
    </tr>
   <tr valign="top">
      <td><strong>Composite Document</strong></td>
      <td>Composite Document 9.0 (*.fm)</td>
    </tr>
   <tr valign="top">
      <td><strong>Print Output</strong></td>
      <td>-N/A-</td>
    </tr>
   <tr valign="top">
      <td><strong>PDF</strong></td>
      <td>PDF (*.pdf)</td>
    </tr>
  </table>
<br></br>


<p>Following is a demo to <em><strong>'Generate FrameMaker Book (with FM Components) from a DITA Map' </strong></em>:</p>

<p><a href="http://blogs.adobe.com/techcomm/DITA/Demo_Map2FMBook.swf" target="_blank">view in a separate window</a></p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" height="300">
        <param name="movie" value="http://blogs.adobe.com/techcomm/DITA/Demo_Map2FMBook.swf" />
        <param name="quality" value="high" />
        <embed src="http://blogs.adobe.com/techcomm/DITA/Demo_Map2FMBook.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="300"></embed>
      </object>
<br></br>


<p>Following is a demo to <em><strong>'Generate PDF output from a DITA Map' </strong></em>:</p>

<p><a href="http://blogs.adobe.com/techcomm/DITA/Demo_Map2PDF.swf" target="_blank">view in a separate window</a></p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" height="300">
        <param name="movie" value="http://blogs.adobe.com/techcomm/DITA/Demo_Map2PDF.swf" />
        <param name="quality" value="high" />
        <embed src="http://blogs.adobe.com/techcomm/DITA/Demo_Map2PDF.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="300"></embed>
      </object>

<br></br>
<br></br>


<strong>Adobe Technical Communication Suite 2</strong> boosts this capability through better integration of FrameMaker and Robohelp. It enables generation of more output formats from a DITA Map, such as – AIR, HTML, Flash Help and CHM. This can be done as follows:
<ol><li>Using FrameMaker 9, generate a FrameMaker Book (with FM/XML components) or a FrameMaker Composite Document, from a DITA Map. (<u><em><strong>Note:</strong></em></u> Using each of these different outputs, shall have a different impact in terms of the post-processing effort & the final output that will get generated.)</li>
<li>Import the generated output into RoboHelp 8, using RoboHelp’s menu command <em><strong>‘File->Import->FrameMaker Document’</strong></em>.</li>
<li>Do the required post-processing and/or the settings. Generate the desired output (AIR/HTML/FlashHelp/CHM) using RoboHelp 8.</li></ol>

<br><img alt="DITAMapOutputUsingTCS.JPG" src="http://blogs.adobe.com/techcomm/DITA/DITAMapOutputUsingTCS.JPG" width="450" height="283" /></br>

<br></br>
<br></br>


<p>Following is a demo to <em><strong>'Generate HTML output from a DITA Map' </strong></em>:</p>
<p><a href="http://blogs.adobe.com/techcomm/DITA/Demo_Map2HTML.swf" target="_blank">view in a separate window</a></p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" height="300">
        <param name="movie" value="http://blogs.adobe.com/techcomm/DITA/Demo_Map2HTML.swf" />
        <param name="quality" value="high" />
        <embed src="http://blogs.adobe.com/techcomm/DITA/Demo_Map2HTML.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="300"></embed>
      </object>

<br></br>
<br></br>


Please let me know your comments and suggestions.
<br></br>


<p>Thanks and Regards,
<br>Tarun Garg</br>
<br>FrameMaker Engineering</br></p>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-9496483-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]>
        
    </content>
</entry>
<entry>
    <title>Understanding the 9.0.1 FrameMaker Patch</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/techcomm/2009/04/understanding_the_901_framemaker_patch.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=106/entry_id=10182" title="Understanding the 9.0.1 FrameMaker Patch" />
    <id>tag:blogs.adobe.com,2009:/techcomm//106.10182</id>
    
    <published>2009-04-16T04:16:36Z</published>
    <updated>2009-06-29T11:11:17Z</updated>
    
    <summary>FrameMaker 9,9.0.1,PDF,DITA,Technical Communication,STC Dear Framers Welcome back! I hope most of you would have taken a break during the vacation....</summary>
    <author>
        <name>Mahesh Kumar Gupta</name>
        
    </author>
            <category term="FrameMaker" />
            <category term="Technical Communication" />
            <category term="Training/eSeminars" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/techcomm/">
        <![CDATA[<p><!-- #BeginTags --><p class="tags"><a href="http://www.technorati.com/tag/FrameMaker" rel="tag">FrameMaker 9</a>,<a href="http://www.technorati.com/tag/PDF" rel="tag">9.0.1</a>,<a href="http://www.technorati.com/tag/Text" rel="tag">PDF</a>,<a href="http://www.technorati.com/tag/DITA" rel="tag">DITA</a>,<a href="http://www.technorati.com/tag/Technical Communication" rel="tag">Technical Communication</a>,<a href="http://www.technorati.com/tag/WritersUA" rel="tag">STC</a></p><!-- #EndTags --></p>

<p>Dear Framers</p>

<p>Welcome back!</p>

<p>I hope most of you would have taken a break during the vacation.</p>

<p>At my end, I also keep working on getting the breaks fixed :-) . Yes, I am referring to the patch activity.</p>

<p>I appreciate that you experts find out the issues and report them in time to me. Since there were some known and unknown issues which you found with FrameMaker 9, I decided to get them fixed on priority.</p>

<p>The patch 9.0.1 was released some time back and it addresses a large number of key issues. The issues fixed with this patch are:</p>

<p>1.	Type-ahead functionality of Control Key shortcuts (Ctrl+0 and Ctrl+9) is fixed. </p>

<p><B><I>Note - </B>When focus is on type‐ahead area, with a tag displayed in it, clicking in the document applies that displayed tag. “ESC” key should be used to exit from the status bar’s type‐ahead area.</I></p>

<p>2.	When the starting letter is pressed the fly‐out menu of the status bar DOES NOT APPLY the value automatically NOW if there is a SINGLE entry.</p>

<p>3.	Now, index “see” characteristics with DITA indexterms can be completely controlled by you.</p>

<p>4.	DITAVal filter works correctly NOW even if there was conditional text applied on some elements.</p>

<p>5.	In Save as CMYK Pdf functionality, rendering of imported PDFs can be done as a CMYK preview.</p>

<p>6.	The crash issue occurring when specifying a wrong file name in browse dialog at the time of inserting a new topicref (using element catalog) in a Map/BookMap file is fixed.</p>

<p>7.	Para Designer doesn’t get updated in the minimized mode now.</p>

<p>8.	In German locale, messages appear correctly in XML Schema Log.</p>

<p>9.	File‐>preferences‐>interface‐ > Hide Panel on Close; will be checked OFF by default NOW. This boosts performance.</p>

<p>10.	The issue of graphics getting dropped in CMYK PDF is fixed now.</p>

<p>The ReadMe can be downloaded from <br />
<a href="https://share.acrobat.com/adc/document.do?docid=26e86a52-1056-4a40-82b5-0aa23adcd37e">https://share.acrobat.com/adc/document.do?docid=26e86a52-1056-4a40-82b5-0aa23adcd37e</a></p>

<p>You may find some change in behavior when you apply this patch but please do no worry. We are aware of these and there are simple workarounds for these. Let me discuss these in detail.</p>

<p>•	Command  popups in Designers (Paragraph, Character and Table) may not open on mouse click. You may also find empty building block list.</p>

<p><B>Tips</B></p>

<p>1.	Make sure "Hide Panels on Close" if OFF in <I>File->Preferences->Interface</I> dialog (once it is done , this setting will persist for all subsequent FM session)</p>

<p>2.	Close the Designer (Para,Character or Table) once and reopen. This will fix the issue. (need to be done once for FM session)</p>

<p>Please keep giving your valuable feedback.</p>

<p>I am really excited that at STC in Atlanta, I will get an opportunity for discussion with you all!</p>

<p>Thanks and regards<br />
Mahesh</p>]]>
        <![CDATA[<p><script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");<br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<script type="text/javascript"><br />
try {<br />
var pageTracker = _gat._getTracker("UA-9496483-1");<br />
pageTracker._trackPageview();<br />
} catch(err) {}</script></p>]]>
    </content>
</entry>

</feed> 

