Main

November 12, 2009

Exploring the power of RoboScreenCapture!

,,,,,,,,


Dear Framers


I hope that you are enjoying working with the RoboScreenCapture software. If you are not much familiar with this tool, then let me explain about it briefly. It is a lightweight screen-capture and image editing tool which comes free with any FM9 and/or TCS2 license.


This post will give you an overview of the RoboScreenCapture tool functionality. Thanks to Rajat, FrameMaker Engineering Manager, for preparing this blog.


Screen Capture has always been an integral part of technical authoring workflows and with FrameMaker 9, you get RoboScreenCapture out of the box for the same. RoboScreenCapture is a powerful screen capture application that provides various options for capture like Full Screen, Window or Control, Active Window, Region, Freehand etc. Apart from Screen Capture it also contains basic image editing features like cropping, scaling etc to edit the captured image.


Embedded below is a small demo which shows the power of RoboScreenCapture.







Integration with FrameMaker

With FrameMaker 9, RoboScreenCapture is integrated with FrameMaker and is included in the box. You can launch RoboScreenCapture from FrameMaker itself by using "File-> Launch RoboScreenCapture" option. Also for basic image editing, you can use "Graphics->Edit With RoboScreenCapture" option or "Right-Click Context Menu" to edit the graphics in RoboScreenCapture.


Take care


- Mahesh




November 10, 2009

TCS2 Reviewer's Guide

,,,,,,,,


Dear Technical Communicators


I met some of you during Tekom conference and it was wonderful interacting with you. I must thank you all for the great positive feedback you shared for TCS2 and FM9.


Your enhancements requests are definitely in my consideration set. Obviously, as a strategy guy, I am looking at the short term next release as well as the longer term roadmap.


You mentioned that more information is needed regarding TCS2 features. I am sharing the link for TCS2 Reviewer's guide again. It has many tutorials on the suite workflows as well as point product value additions. The Reviewer's Guide was developed as a pdf portfolio. I am sure you have already explored this new feature of Acrobat 9. TCS2 also gives you this value addition. You can also see the portfolio below:


If you wish to download the portfolio, please visit the link https://share.acrobat.com/adc/document.do?docid=7d63376d-4298-4e66-b399-9249aac022ba

Try It exercises for FrameMaker mentioned in the guide can be found at the link https://share.acrobat.com/adc/document.do?docid=9339409a-b884-49ae-a06d-157d69b17b8d


Please keep sharing your feedback...


Take care


- Mahesh



October 28, 2009

Tekom 2009

,,,,,Trial,,


Dear Framers


Like every year, this year too it will be a great opportunity to meet many of you during the largest European Technical Communication conference, Tekom 2009.


This conference held in the city of Wiesbaden helps me in connecting with you in person.


Many of my colleagues from different groups like marketing and engineering would also be present. If you want to setup a meeting with me, please let me know and we can schedule a meeting at the conference venue.


Please write to me at mahesh@adobe.com


Hope to see you in Wiesbaden!

Take care

- Mahesh

October 23, 2009

Preparing Anchored Frame for conversion in RoboHelp

When FrameMaker content containing Anchored Frame is imported to RoboHelp, the Anchored Frame is converted to corresponding image in generated XHTML content. The quality of generated images has been an area of concern. While some users are satisfied with the quality of images generated, others feel the scope of improvement in the image quality.
This blog describes some of the best practices and workflows that will help obtain improved quality of generated images. In other words, it will allow users to maintain the original quality of source images generated through specialized image editing applications.

Use Reference Images in FrameMaker
FrameMaker provides following two options while importing an image file into a document:


  • Import By Reference : A reference to the image file on disk is kept inside the document

  • Copy Into Document : Image data is embedded into the document


FMImportImage.JPG

"Import By Reference" method should be preferred if it is not absolutely necessary to choose the other option. This reduces the size of the FM document and allows RoboHelp to maintain the original image quality by referring to the original image.

Use Zero Dimension Image setting in RoboHelp
RoboHelp imports the dimensions of anchored frame and specify them in the corresponding <img> tag of generated XHTML topic. This leads to resizing of image when the topic is viewed in a browser. Sometimes, some resized images look distorted in some browsers. RoboHelp provides a functionality of omitting height/width attribute in the generated <img> tag thus avoiding the resizing of generated images. This tweak can be applied by setting the "Preferred Dimensions" to zero in Conversion Settings dialog.

RHImageSettings.JPG

Use Web supported Images
The copying of reference images is effective only if the referred image has one of the web supported format viz. JPG, PNG, BMP, GIF. In case, an image with any other format is used, RoboHelp needs to regenerate the image in order to convert it to Web supported image format. So, if it is not absolutely necessary, a web supported image version of image may be used in FM documents. In case, it is necessary to use other image formats for Print workflows in FrameMaker, two versions of images may be used in the document with Conditions applied on them. One condition may be enabled for Printing and another for Online publishing. These conditions can be manipulated in either FrameMaker or RoboHelp.

Avoid unnecessary content in Anchored Frame
As it is understood, if the anchored frame contains more than one object, RoboHelp needs to generate one single image. So, unnecessary content e.g. empty Text Frame, text frame with only a marker, object hidden behind an image etc. may be avoided.

Replacing Images
In case the above workflows are not feasible to meet the requirements, the images may be replaced with desired better quality images. This may be achieved through scripting. Other workflows can include post processing the images using Photoshop scripting.

I hope these steps will prove fruitful in obtaining better quality images.

Mayank Agrawal
RoboHelp Engineering

October 21, 2009

Style Mapping in TCS 2 - RoboHelp Way or FrameMaker Way?

FrameMaker provides a Print authoring environment and is best suited for print and PDF publishing. However, RoboHelp provides an HTML authoring environment and is best suited for online publishing. The content in the two forms need to have different look and feel to suit the purposes of different mediums. Hence, there is a need to allow for swift and efficient conversion of look and feel of the content being imported from FrameMaker to RoboHelp.
Technical Communication Suite 2 provides two separate functionalities for achieving this easy conversion.


  • RoboHelp Way

  • FrameMaker Way


This blog discusses about which method is suitable for what purpose and for what type of authors.

ROBOHELP WAY

When a FrameMaker document is linked/imported in RoboHelp, RoboHelp allows a user to specify the changes in the look and feel of the document. The look and feel of a document is mainly decided by the kind of styling it uses. RoboHelp allows a user to specify a RoboHelp style for each FrameMaker style by which the FrameMaker style will be replaced after importing the content.
For example, a user may have the following Heading 1 style defined in FrameMaker
FM_Heading1.JPG

Now he/she may want it to look like as follows in RoboHelp
RH_Heading1.JPG

In order to achieve this user needs to do the following steps


  1. Link the FrameMaker document in RoboHelp project.

  2. Goto File->Project Settings

  3. Goto "Import" tab of Project Settings dialog

  4. Click "Edit" button for conversion settings for FrameMaker documents

  5. Select "Heading 1" Style under "Paragraph" tree item on the left

  6. Select "Heading 1" from the "RoboHelp Style" drop down on the right.

  7. In case user wants to modify the look and feel of Heading 1 style, it can be edited in RoboHelp's powerful style editor which can be invoked by clicking the "Edit Style" button

  8. Click OK on both the dialogs.

RH_ProjectSettings.JPG

RH_ConversionSettings.JPG

This specifies that Heading 1 style of FrameMaker should be replaced with Heading 1 style of CSS specified in RoboHelp. In this manner, all other styles can be mapped. This functionality not only covers Paragraph styles but also extends to character styles and table formats.
RoboHelp provides a predefined CSS called RHStyleMapping.css for this purpose. This CSS may be modified by the user. If the user has predefined CSS style, he/she can point RoboHelp to use the styles from the particular CSS. This can be done by selecting the CSS for style mapping in the Import tab of Project Settings dialog as marked in the screenshot above.

FRAMEMAKER WAY
FM_StyleDesigner.JPG

RoboHelp provides another approach for style mapping. Instead of going through CSS route, a user may create a template in FrameMaker having styles designed for online publishing. This template can then be specified in RoboHelp using "Apply FrameMaker Template before import" option in Project Settings dialog. Once this is done, RoboHelp applies the FrameMaker Template temporarily on linked documents at the time of conversion of FrameMaker content to RoboHelp content. The process of application of FrameMaker template on FrameMaker documents is similar to FrameMaker's "Import Formats" functionality. Once FrameMaker template is defined in RoboHelp, the author need not map styles manually as described above.

WHICH METHOD TO USE?
The RoboHelp method operates around CSS editing. So, for users who are conversant with CSS authoring can leverage this functionality to design Online specific CSS styles to suite the Online published output requirements.
Users who find CSS authoring an overhead and are more comfortable working with FrameMaker's style designer can skip the CSS editing and may opt for The FrameMaker method. He/she simply needs to author his/her styles in FrameMaker and use the particular document as a template in RoboHelp.
However, besides the comfort level for each method, there could be other reasons for which a user may want to choose a specific method. There are functionalities which are limited to a particular method and may not be available it the other method.
For example, RoboHelp provides a rich interface for designing advanced table patterns which is not possible in FrameMaker. On the other hand, FrameMaker provides autonumber functionality in Paragraph styles which is available in totally different form in RoboHelp.
Users who are good authors but are not comfortable in designing styles either way may use predefined CSS and/or template and can specify them in RoboHelp using RoboHelp's Project Settings dialog.
Thus both the methods are useful for different purposes and for different users. It depends on an author to choose one of them as per the expertise and requirements as described. Advanced users may use the two methods simultaneously to take advantages of both the approaches.

Mayank Agrawal
RoboHelp Engineering Team

October 19, 2009

Getting started: Exploring Technical Communication Suite 2

If you are a FrameMaker author looking forward to publish your FrameMaker content in various output formats or if you are a beginner trying to start with Technical Communication Suite 2, then this blog is meant for you. This blog helps a user explore all the areas of the product relevant for a beginner.
The integration of FrameMaker and RoboHelp in Technical Communication Suite 2 is an end to end solution for publishing FrameMaker authored content in various publishing formats including


  • Air Help

  • Web Help

  • HTML Help

  • Flash Help

  • Printed output(PDF, DOC)


One can author his/her help content in FrameMaker or can start with legacy FrameMaker content. Once the FrameMaker content is finalized and author is ready to publish it, it can be linked in RoboHelp for further tweaks and publishing into various formats.
In order to bring FrameMaker content into RoboHelp, one need to start with creating a new RoboHelp project or opening an existing project in RoboHelp. The FrameMaker file (book/document) can be linked in RoboHelp project from File menu

LinkFileMenu.jpg

Or Right click menu
LinkRightClickMenu.jpg
Once the file is selected, RoboHelp scans the files (including all chapters and sub-books in case of a book) to read document catalogs and to create an exact replica of the chapter hierarchy in case of a book. The FrameMaker documents appear as linked documents in RoboHelp Project Manager Pane.

FMView.jpg ProjectManagerPane.jpg
One can specify to import the TOC, Index and Glossary content from the linked document properties.

FMDocumentSettings.JPG

Settings related to style mappings, cross reference mappings, image conversion, file splitting, conditions, autonumber conversion, applying template etc. can be mentioned using Conversion settings dialog. It can be accessed from File->Project Settings->Import Tab
SettingsDialogs.jpg

These settings can be saved or exported for reuse and can be extended to other projects.
Once these settings are done, FM content can be imported in RoboHelp using the Generate/Update menu. This content can then be published to any of available output formats from Single Source Layouts Pane.
Thus, TCS 2 provides an end to end solution starting with authoring of content in FrameMaker and finally publishing it using RoboHelp's Single Source Layouts.
Please note that, RoboHelp maintains a live link to FrameMaker files. This means that whenever the FrameMaker content is updated, RoboHelp notifies the user that the content has been updated and it can be reimported into RoboHelp. Thus, an author can edit his/her content as many times as he/she wants and can publish it any point of time.
Also, the FrameMaker content imported in RoboHelp can be locally tweaked for publishing. The look and feel of the content can be managed using Cascading Style Sheets (CSS).
This is how one can start exploring the product. This product has a very rich feature set for advanced users which is not covered in this blog. My previous blogpost http://blogs.adobe.com/techcomm/2009/07/framemaker-robohelp_integration_in_tcs_revamped_myth_or_trut.html talks about the various useful features of the product.
One can keep exploring and learning this rich and easy to use product. One may keep following this blog to have further understanding of the product.

All the Best!!!
Mayank Agrawal
RoboHelp Engineering Team

October 14, 2009

FrameMaker 9.0.3 available now!

,,,,,,,,,,,,,,


Dear Framers!


Hello


I would like to thank you for the great feedback you have shared with me on FrameMaker 9. Naturaly, when there is so much in one release itself, there will be some issues as well. Thanks again for sharing your valuable feedback. We have tried addressing almost all the pressing issues through 9.0.3


FrameMaker 9.0.3 patch is live now and it is available through Adobe Update Manager (AUM). This patch (9.0p250) must be applied on top of 9.0.2 (9.0p237) only. You can check for updates through Help->Updates Menu in FrameMaker.


With the help of these fixes, following workflows are now enabled/supported:



  • Opening/importing a file created in FrameMaker 7.2 and earlier with virtual fonts applied to the text now correctly shows the text in FrameMaker 9.

  • The dimensions and default dpi resolution for PNG, JPG and GIF files should not get corrupted when imported in FrameMaker.

  • Deletion of multiple user-variables from Variable Pod should not crash FrameMaker now.

  • Memory leak shouldn't happen while creating a book with FrameMaker components from DITA map.

  • FrameMaker doesn't crash while displaying a message box during FA_Note_PreQuitBook notification, on the second call of F_ApiUpdateTextInset() and when F_ApiAlert() is called from within a FA_Note_PostQuitDoc notification.

  • The "New document command" in the quick access bar doesn't get disconnected from the API command "F_ApiDefineCommand".

  • FrameMaker doesn't crash on switching on different tabs of table designer when context is set for book and panels are iconized.

  • Now correct Index of Marker(IOM) is generated for a file containing Markers that use structured building blocks.

  • On converting DITA map, which contains nested topicrefs, to a book the content of the topic files was hidden in folder templates. In 9.0.3, the folder containing template will be labeled as: []

  • The table row element now hides while using DITAVAL filter.

  • Spelling Checker now allows words with special characters to be added to dictionary. It also shows the words with suffix "(s)" as correctly spelled now.

  • DocBook starter kit now unifies the XML and SGML applications and fixes various formatting inconsistencies in the XML application. The XML application uses XSLT instead of an FDK client and supports indexterm.

  • PreserveEntity FDK client can be combined with XSLT in XML applications to preserve variables and special character handling when documents are round-tripped between FrameMaker and XML.

  • In structured document, now you can hide child elements even when in Show state if the parent element is hidden using conditional text. This is an additional option. For details refer to the document shown below.



This patch has fixes for some more issues not listed above.


Please install this patch on top of 9.0.2, retest your workflows and share your feedback with me.


Thanks


-Mahesh (mahesh@adobe.com)




September 4, 2009

Open letter to our Customers on the recent Customer Support issues

In the recent past, there have been increasing instances of dissatisfaction with Adobe's Customer Support. Lambert Walsh, Vice President - Technical Services @ Adobe, recently issued an open letter to Adobe Customers on what is being done to address this situation.


Please note that any unresolved issues can also be directed to adbecare@adobe.com for help.

Ankur

September 2, 2009

FM9 Hierarchical Books: New variable <$chaptertitlename>

,,,

FrameMaker 9 introduces a new variable <$chaptertitlename>, which is available for use in a template document of a Folder in a hierarchical book. FrameMaker enables the author to use this variable in the template file associated with a Folder. The value of this variable provides the name of the Folder title.

Authors might need to update the Book in order to correctly reflect the value of this variable in the template document. For all other documents which are neither Folder template file nor part of the FM book,<$chaptertitlename> variable will reflect the filename of the file in which it is used.

Embedded along is a small demo on how to use <$chaptertitlename> in a book.





View demo in a new window.

I have tried using this variable to add an introduction to a section in my book. Also i have taken care of clubbing the different sections in the book using Folders introduced in FrameMaker 9. The sectional introduction documents in the book reflect the title which has been used to name the Folders in the book. I have included this Sectional title to create the Table of Contents of the book. Just changing the Folder title as needed allows me to modify the title of the Introduction document as well as the TOC of the book.

I'm sure authors could also use this variable specifically to their needs. Suggestions and feedback are welcome.

Nakshatra
FrameMaker Engineering


July 28, 2009

FrameMaker-RoboHelp Integration in TCS revamped!! Myth or Truth?

FrameMaker and RoboHelp Integration was first introduced in TCS 1 in order to enable online publishing workflows for FrameMaker authors. In TCS 1 a user could maintain a live link of a FrameMaker document in RoboHelp and convert it to HTML topic(s) to be published in various output formats like WebHelp, AirHelp etc. In TCS 1 an initial version of this feature was released which included basic workflows for achieving this objective.

After the feature gained popularity and we received users' feedback, this feature has been entirely revamped in TCS 2 to support a wider range of workflows around this feature and to make this feature more flexible and user friendly.

This blog covers the major highlights of newly introduced features in this area.

New Easy to Use User Interface
TCS 2 provides an entirely new User Interface to specify FM documents to RoboHelp topics conversion settings. This UI is easy to use and allows for a central control of all the settings related to this feature.
The Conversion Settings dialog can be invoked in RoboHelp as follows


  • Go to File‐> Project Setting

  • Click on "Import" tab

  • Click on "Edit" button for Conversion settings of FrameMaker documents


ConversionSettings.jpg

New Efficient Workflow
Now, users can separate the tasks of linking FM documents in a RoboHelp project and specifying conversion settings. In other words, now it is possible to link a FM document in RoboHelp without converting it to topics and mention the conversion settings later on.

Sharing settings across projects
All the conversion settings can be shared across projects by using the Export/Import settings feature. So, settings once done in one RoboHelp project can be exported to a settings file. This settings file can then be imported to another project without needing to do all the settings from scratch.

Style Mapping Workflows
TCS allows mapping of FrameMaker styles with new styles in RoboHelp during conversion through several new workflows. It is no more a pain point for FrameMaker users who are not conversant with RoboHelp CSS styles.
For FM Users:
FM Template Workflow: Users can define their styles for mapping in a FrameMaker template and specify the template in RoboHelp. This template is applied on all the linked FM documents in RoboHelp before their conversion to RoboHelp topics.
Import CSS Workflow: Users can also choose to import a pre‐created CSS into their project for style mapping.
For RH Users:
CSS Workflow: Users, who are conversant with CSS styles, can design their own styles in RoboHelp and then map individual FrameMaker styles with RoboHelp CSS styles.

Mapping of Table Styles
FrameMaker table styles can now be replaced with RoboHelp Table styles in one go thus modifying the entire look and feel of tables in the document.

FrameMaker Autonumber to RoboHelp List Conversion
Now, RoboHelp is powered to support complex and hierarchical list styles. TCS now allows for easy conversion of FrameMaker autonumbers to RoboHelp Lists while maintaining the list formatting and definitions.

Support for Markers
Markers present in FrameMaker documents are now preserved in RoboHelp XHTML topics in the form of PIs (Processing Instructions). These PIs can be exploited to implement lot of functionalities around them through scripting. Please refer my recent blog post "Scripting in TCS unleashed" for such an example.

Image Settings
RoboHelp now provides various image related settings (e.g. Image dimensions margins, format, quality etc.). These settings are applied to the images generated through conversion of anchored frames present in FM documents.

Pagination Settings
There are two workflows available for TCS users to paginate their large FM documents to smaller RoboHelp topics.
Based on FM Styles: Users can now specify FM styles (e.g. Heading1, Heading2) for pagination.
Based on Marker: Users can also specify a marker in FM document based on which pagination can be done in RoboHelp.

Support for DHTML Styles
Users can now specify text in FrameMaker itself on which DHTML effects are to be applied. FrameMaker in TCS has a new menu item named "Adobe RoboHelp" which allows for applying these effects. Once, these effects are applied in FrameMaker, the corresponding text in RoboHelp Topics has the particular DHTML effect applied to it after conversion.

There is a long list of enhancements done in this area. Please refer TCS help and keep visiting this blog to explore further and deeper into various TCS features.

July 22, 2009

Changing and Adjusting with the change at ease!

,,,,,,


Hello!


Yesterday, I went to a music concert and after the concert I decided to talk to the guitarist who had nearly taken a control over my senses. This person has been playing guitar for past many years. During the conversation, he revealed that initially he used to play inexpensive guitars as he didn't consider himself as an expert and secondly he was afraid that his parents would scold him if he damages the sophisticated ones. This continued for many years but he was still an unknown name in the field of fame.


But within a few years he realized that it was a must to play a sophisticated tool for carving his own niche in the path of success. He had to move beyond the basics. Though there was some amount of training required but the right selection of the tool was also very critical in the path of success.


Similarly, for a few pages document, a letter or a memo, it's common to work with tools like Microsoft Word but then as soon as we talk about technical communication, there is an expectation of being more professional, sophisticated, robust and organized.


You folks already know about the robust structured document support in FrameMaker. This could be native structured, XML or specific XML standard based like DITA. FrameMaker 9 Hierarchical books provide great flexibility in aggregating legacy content with the newly created documents and ...


I think I should stop here otherwise I'll start giving you tips and tricks on migrating content to structured FrameMaker. Well, I said that I will stop here but you should definitely do a deep dive into it by attending the upcoming seminar by RJ Jacquez on Migrating to and Benefiting from Structured Authoring using Adobe FrameMaker 9

Details for this 90 minute live eSeminar are available at

http://blogs.adobe.com/rjacquez/2009/07/migrating_to_and_benefiting_fr.html

I highly recommend that you make full use of this opportunity!

Take care

- Mahesh

July 7, 2009

Toolbars in FrameMaker9

, , ,

FrameMaker9 introduces new toolbars to the framers. These toolbars are new to the user in the sense that--they have a new look-n-feel and allow more flexibility. Also, the older .ini model of toolbar has been done away with, with the new .XML model. New toolbars could be of great use as they can enhance user's productivity in an easy way. One may place toolbars nearer to the work-area, or dock them to the nearest dock, or change orientation vertical/horizontal, or choose customized icons for any toolbar or create customized toolbars.

Toolbars Dockable at top and sides:

Graphics, Quick Access Bar (QAB), Table Formatting, Object Alignment, Object Properties, Track Text Edits. When any of these toolbar is docked on the sides and dragged out to float. A small arrow icon appears at the top dark-grey area. When this is clicked one may change the orientation of the toolbar from vertical double-column to vertical single-column to horizontal.

Toolbars dockable at top only (control bar):

Text Formatting, Parargraph Formatting Bar


Toolbars in FrameMaker9 Vs earlier

 

FrameMaker9

FrameMaker8 & before

Info File

$FMHOME\fminit\toolbars\tag-description.xml

$FMHOME\fminit\fmtoolbr.ini

Docking

Dockable at the top & sides in any order.

Docks were not present earlier

Orientation

Except the formatting toolbars (containing a dropdown) toolbars may be placed horizontally/vertically/single-column/double-column

Only QAB had limited control over orientation

Visibility

All toolbars are viewable together.

QAB had a page-by-page view. One had to change the page of toolbar to view the next.

Look

New Grey look that changes to colored on mouse-over

Mouse-over used to darken the contrast of the colored icon.

Segregation

Better segregation of commands. (FrameMaker9 has 7 customizable toolbars, excluding Graphics Bar)

FrameMaker8 had three toolbars and one sidebar. QAB consisted of four scrollable pages in itself.

Icon Images

The icon image can be customized

Image name of the icon was restricted to fmcustom.dll only

FrameMaker8 had a QuickAccess Bar, Formatting Bar and Track Text Edit Bar. A sidebar above the vertical scrollbar also served as a bar for frequently used icons. With the new design in FrameMaker9 those icons were adjusted in Quick Access Bar (QAB).

Earlier we used to have one .ini file ($FMHOME\fminit\fmtoolbr.ini) to define all the toolbars. Now the fmtoolbr.ini has been changed to a more modular architecture.

  1. The toolbars now exist in the $FMHOME\fminit\toolbars AND <FM9-User-Area>, i.e. %appdata%\Adobe\FrameMaker\9\toolbars\. The toolbars present in the <FM9-User-Area> supersedes those present in $FMHOME just like the maker.ini. So, multiple users using one FrameMaker build may design their own toolbars by storing the toolbar files in their user area.
  2. Also if one needs to add a new toolbar, he just can create another XML file and add its entry in fmtoolbar.xml. The usage of toolbars is defined in tag-description.xml.

If one desires some frequently used icons of the toolbar to stand out, one may do so by tweaking the .xml file of the respective toolbar. Here is a small change that is done to make the Enable/Disable icon (first icon in trackchanges.xml) stand out:

  1. Open the .XML file of the toolbar you wish to change. One may edit the file present in <FM9-User-Area>. The $FMHOME toolbars would serve as a backup.
  2. In the XML file interchange the "rollover" name with the "normal" name. This would bring the bright image as normal and the grey image on rollover.
  3. - Before: <images normal ="P_EnableTrack_18x18_N.png" rollover ="P_EnableTrack_18x18_R.png" dark_normal="P_EnableTrack_18x18_N_D.png" dark_rollover="P_EnableTrack_18x18_R_D.png"/>

    - After: <images rollover ="P_EnableTrack_18x18_N.png" normal ="P_EnableTrack_18x18_R.png" dark_normal="P_EnableTrack_18x18_N_D.png" dark_rollover="P_EnableTrack_18x18_R_D.png"/>

  1. If this doesn't make the desired difference, one may go on to creating new custom icon images. Those icons can be kept at any custom defined path too. Icons can be kept at:
  2. - User area

    - Custom Path

    - A custom dll file with the full name being <DLL path>\<image-name>.<extension>. At present the icons are kept in fmcustom.dll present in $FMHOME\fminit. Its entry is present in maker.ini as: AlternateResources=fminit\fmcustom.dll

Some more information:

  • User can create any number of toolbars.
  • All the menu items\Commands that end up executing an FCODE can be used here
  • Only Formatting toolbars cannot be docked in vertical orientation - Text Formatting, Para Formatting. Rest other toolbars may be oriented to vertical or horizontal position.
  • Graphics toolbar doesn't have its .XML file, it was not customizable even in earlier versions.
Utilize the power of the new UI and let us know your feedback about it!

regards,
Amit Agarwal
FrameMaker Engineering

June 30, 2009

Update on Updates!

,,,,,,,,,,,,


Dear Framers


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.


Let me briefly describe the fixes of 9.0.2



  1. 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.

  2. FrameMaker DOES NOT crash on inserting any file of a type other than the type defined for the column in a reltable.

  3. FrameMaker DOES NOT crash while opening a file with view->options set as "Facing Pages"


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.


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 "something" is expert help on specializing  DITA in FrameMaker.


We spent lot of time writing, reviewing and polishing expert help and published a white paper named "Integrating DITA Specialization with ADOBE® FRAMEMAKER® 9".


You can download this paper from http://help.adobe.com/en_US/FrameMaker/9.0/DITA/framemaker_9_dita_integration.pdf


I am also including it below.





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


Take care


- Mahesh



June 15, 2009

Scripting for TCS Unleashed

[Enhanced Anchored Frame Conversion in FM Linking]

Scripting in TCS

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.

Enhanced Anchored Frame Conversion through Scripting

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.

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.

We can observe that the problem involves two steps.

1. Mention the image settings for each anchored frame

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.

Insert this marker before the anchored frame. Consider two image settings as of now viz. image replacement and image resizing.

GraphicMarker.jpg

 

resize=150 means zoom in the image size to 150% while inserting in XHTML topic.

replace=true means  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.

(Non-programmers may skip this section further and jump to the next section to start using the script)

2. Process and apply those settings to the corresponding image

 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.

This script shall be executed once the RoboHelp topic has been generated from RoboHelp User Interface.  This script shall patch the image tags of the topic with the help of following steps.

a.  Start reading the HTML of the topic in the form of a token list. Here is an example of an HTML token list  <html> <head> <title> </title> </head>  etc.

b. Look for marker (basically XHTML PI) in the topic. The marker in HTML looks like this <?rh_marker name="Graphic" text="resize=150,replace=true"?>

c. Obtain the maker name and text and check if its name matches with our “Graphic” marker.

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;

//Looking for marker PI
if ((token.tokenType == tokenPI_Identifier) && (strName.indexOf(markerToken) != -1))
{
// Extract the string with attribute name
strMarkerName = strName.substring(strName.indexOf("name=")+6, strName.indexOf("text")-2);
// extract the string with attribute text
strMarkerText = strName.substring(strName.indexOf("text=")+6, strName.indexOf("?>")-1);
// if the marker is of type graphicsStyle
if (strMarkerName = graphicMarker)
{
//Process marker
}
}
}
}


d. Find marker attributes “resize” and “replace”


var strResizePercent = FindMarkerTextAttributeValue(strMarkerText, "resize");
// see if the processing instructions contains resize
if (strResizePercent  != "")
{
nResizePercent = parseFloat(strResizePercent);
bResize = true;
}
var strReplace = FindMarkerTextAttributeValue(strMarkerText, "replace");
// see if the processing instructions contains replace
if(strReplace == "true")
bReplace = true;

e. Look for image <img> tag. When found, do resizing and image
replacement stuff.


For resizing, read the current width and height and calculate the new
width and height as per the percentage mentioned in the marker text. For
replacing the image, update the “src” attribute of the img tag with the
new image path. New image path can be obtained by the image folder path
mentioned in the script and the current image name.



if(token.tokenType == RoboHelp.TokenType.TOKENTAG && token.tagType == RoboHelp.TagType.TAGIMAGE)
{
// Do resizing and replacing stuff
}

f. Save the topic.


g. Repeat this for all the topics in the project.

The Complete Functional Script

Please download the attached script file for the entire functional script. The script has the following variables which should be updated by the user before using the script.

var imagePath = "/Images";  //Image folder path relative to the project folder
var graphicMarker = "Graphic";  //FM marker type

Further Enhancements to the script

  • This script can be further enhanced to include other image settings like image margin, image border etc. for each image.
  • The script can be changed to not to replace the RoboHelp generated images and do some post processing of generated images using Adobe Photoshop.

Several other TCS functionalities may be designed using scripting.
Explore the power of scripting and extend TCS features.

Happy Scripting !!!

Mayank Agrawal
RoboHelp Engineering

Continue reading "Scripting for TCS Unleashed " »

June 9, 2009

Numbering in Hierarchical Books

,,,

Adobe FrameMaker9 has introduced hierarchy in books. Two new logical entities Folders and Groups have been added in books to support hierarchy.
file5.jpg
Figure 1: Book containing Chapter, Section and Sub-section

Levels in Hierarchy


1.Chapter Level
All the files and components that are directly present at the root level are considered to be at Chapter Level.
2.Section Level
All the files and components that are directly under the Folder present at root level are considered to be at Section Level.
3.Sub-section Level
Files and components that are present directly under Folder at Section Level are considered to be at Sub-section Level.
Note:Group’s should always be ignored while determining the level of hierarchy.

Selecting the components at different levels

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.

Setting the Numbering Properties

file2.jpg Figure 2: Selection and status of Numbering tabs on Chapter level components.

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.
file3.jpg
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.






Open in a different window
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.

Numbering in Child Book components.


file4.jpg
Figure 3: Book containing Child Book

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.






Open in a different window
Please let me know your comments and suggestions.

Thanks and Regards,
Mayank Gupta
FrameMaker Engineering


June 1, 2009

You, Me and Conferences

,,,,,,,,

Hello Framers!

Hope things are going great with you. It’s been a while since I met some of you.

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.

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!

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.

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!

I am including a picture from STC 2008. When I meet you next, it would be easy for you to relate the change!

STC%202008.jpg

Please keep sharing your feedback and I hope to meet you soon.

Take care

Mahesh

May 26, 2009

Workspaces in FrameMaker 9

,,,

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.

 

A Workspace created for doing same task may differ from user to user - the main criterion being the Panel Usage & 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.

 

Advantages with Workspaces in FM9

 

Earlier Versions

With Workspaces

Panel docking

 

 

Time saved in reopening Panels

 

 

Effective Screen Usage

 

 

Toggle hide/show all panels feature

 

 

Book as a panel

 

 

 Workspace Switcher

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 "Reset Workspace" Option in the Workspace switcher. "Reset Workspace" 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.

 

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’.

 

While using Workspaces it might help to have the option Hide Panels On Close ‘unchecked’ (File->Preferences->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.

 

More Workspace Facts:

  • The shipped Workspaces are also configurable.
  • A Workspace is auto saved when FM exits.
  • Workspace loads when the first document in FM is opened.
  • Opening a book as first file doesn’t load a Workspace.
  • 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:
  • Goto Workspace switcher > Save Workspace > Provide a different name. The Workspace gets saved and becomes a new non-overridden Workspace.
  • Reset the original Workspace restores the original one.
  • Once you choose to save the Workspace, it will then be available on the Workspace switcher menu.
  • The Workspace panels can be made to temporarily hide (and toggled back) with the “UI Visibility” icon on ‘AppBar’.UI Visibility icon
 

Advanced Information:

  • Each Workspace has a corresponding .fws file.
  • The shipped Workspaces are provided at the location: $FMHOME\fminit\WorkSpaces
  • The overridden Workspace files & new user created Workspaces are present in FM user-area: <FM-USER-AREA>\WorkSpaces\. (Start > Run > %appdata%\Adobe\FrameMaker\9)
  • Structured & UnStructured are the corresponding folders containing these files for the chosen FM Product Interface.
  • 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)
  • Though these files are written by FM but a user may hand-edit these files to a limited extent (at your own risk :).
  • For example if a user wants a blank Workspace he may delete all information from all docks - top, bottom, left, right.
  • Incase your default Workspace starts troubling during first document open, you may change it via the <FM-USER-AREA>\maker.ini entry: LastUsedWorkSpaceInStructuredMode=Authoring where “Authoring” is name of the Workspace.

 

Additional Information on Workspaces:

 

Enjoy the power of the new UI and let us know what can we do to make it better!

Thanks and Regards,
Amit Agarwal
FrameMaker Engineering

May 11, 2009

XML Authoring Projects using Hierarchical Books

,,,

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

XMLproject_book.JPG
Fig 1. Snapshot of a Book which contains XML files and all other structured application files in a logical Folder.

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.

ExcludeStructFiles.JPG
Fig 2. A book which has an excluded Folder that contains all the files necessary to open the XML document in FrameMaker.

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.
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.

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

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.

imageRepository.JPG
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.
Similar repositories can be created for other such commonly used files in an authoring project.

Please let me know your comments and suggestions.

Thanks and Regards,
Nakshatra Bhardwaj
FrameMaker Engineering



May 6, 2009

DITA specialization using FrameMaker



,
,
,
,
,


What is specialization

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.

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 <xref> Element drop down.

Types of specialization

    Specialization can be broadly categorised into two types
  • Structural Specialization
  • Domain Specialization
  • 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.

    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 <DTable>, it should be available whereever table element is, in the element hierarchy.

    NOTE: We dont support attribute based specialization in FrameMaker.

How to specialize DITA elements in FrameMaker

    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'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.

  1. 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.
  2. Combine the specialized DTDs into a base dtd.
  3. 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.
  4. Import the base DTD as EDD in FrameMaker using the read write rule file and DTDs created in step 1-3.
  5. 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.
  6. Make FrameMaker specific changes in the EDD file as listed below

    - For topic specialization :-

    • 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.
    • Change the content model of element properties to "fm-propheading?, fm-propertybody+".
    • Change the content model of element choicetable to "chhead, fm-chbody" and simpletable to "sthead, fm-stbody.
    • Change the content model of sthead to "fm-stheadrow" and chhead to "fm-chheadrow".
    • 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.
    • Add fm-linktext where ever linktext or any specialization of linktext is allowed.
    • Hide the elements fm-graphic, alt, index-base, index-see, index-see-also and index-see-also using conditional tag.

    - For Map specialization :-

    • Change the content model of reltable to (fm-reltablemeta)?,( relheader)?,(fm-reltablebody).
    • Change the content model of relheader to (fm-relheaderrow).
    • Copy elements fm-relheaderrow and fm-reltablebody from standard Map edd to current EDD.
    • Add fm-topicreflabel to content model of topicref.
  7. 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.
  8. 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.
  9. Change the new application name in DITA option dialog (DITA-Topic Application, DITA Map Application) and click on save.
  10. You should be able to see your specialized Topic/Map in the DITA->New DITA file submenu. Start authoring. Its simple.

DITA elements with special handling in FrameMaker for specialization

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. image/alt:-We need to make declaration in read write rule file for specialized image element to work as Frame graphic object. We don't support specialization of alt element.
  6. 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 <xref/link> element.
  7. linktext:- We need to add fm-linktext in the EDD, as a valid choice, at all occurrences of specialized linktext element.
  8. 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.
  9. 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.

NOTE: For all the above elements with some special handling, empty class attribute is allowed for the base element.

Download PDF for this Topic


How to make changes in DITA DTDs for specialization

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.

Making changes in DTDs for structural specialization

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 :-

  1. Copy any existing MOD file and rename it. e.g. refrence.mod to objectsp.mod.
  2. 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.

  3. <!--========================================================-->
    <!-- SPECIALIZATION OF DECLARED ELEMENTS -->
    <!--======================================================= -->
    <!ENTITY % objectsp-info-types "%info-types;" >

    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.

  4. Declare the new entities for the specialized elements required till the top of the hierarchy.
    <!--====================================================== -->
    < !-- ELEMENT NAME ENTITIES -->
    <!--=======================================================-->
    <!ENTITY % myobjecttype "myobjecttype" >
    <!ENTITY % mybody "mybody" >
    <!ENTITY % myp "myp" >
    <!ENTITY % myobject "myobject" >
    <!ENTITY % myxref "myxref" >
    <!ENTITY % myfootnote "myfootnote" >
    <!--======================================================= -->
  5. Declare the new specialized elements.
    <!--======================================================= -->
    <!-- ELEMENT DECLARATIONS -->
    <!--======================================================= -->
    <!-- LONG NAME: myobjecttype -->
    <!ELEMENT myobject ((%myxref;)*, (%myfootnote;)*)>
    <!ATTLIST myobject
    declare (declare) #IMPLIED
    classid CDATA #IMPLIED
    codebase CDATA #IMPLIED
    data CDATA #IMPLIED
    type CDATA #IMPLIED
    codetype CDATA #IMPLIED
    archive CDATA #IMPLIED
    standby CDATA #IMPLIED
    height NMTOKEN #IMPLIED
    width NMTOKEN #IMPLIED
    usemap CDATA #IMPLIED
    name CDATA #IMPLIED
    tabindex NMTOKEN #IMPLIED
    longdescref CDATA #IMPLIED
    %univ-atts;
    outputclass CDATA #IMPLIED
    longdescre CDATA #IMPLIED >
    --------------------------- and so on for other elements
  6. 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).
    <!--====================================================== -->
    < !-- SPECIALIZATION ATTRIBUTE DECLARATIONS -->
    <!--=======================================================-->
    <!ATTLIST myobjecttype %global-atts; class CDATA "- topic/topic myobjecttype/myobjecttype " >
    <!ATTLIST mybody %global-atts; class CDATA "- topic/body myobjecttype/mybody " >
    <!ATTLIST myp %global-atts; class CDATA "- topic/p myobjecttype/myp " >
    <!ATTLIST myxref %global-atts; class CDATA "- topic/xref myobjecttype/myxref " >
    <!ATTLIST myobject %global-atts; class CDATA "- topic/object myobjecttype/myobject " >
    <!ATTLIST myfootnote %global-atts; class CDATA "- topic/fn myobjecttype/myfootnote " >
  7. 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
    <!--========================================================-->
    <!-- TOPIC NESTING OVERRIDE -->
    <!ENTITY % info-types "topic | concept | task | reference | ? myobjecttype | glossentry" >
    <!--========================================================-->
    <!-- TOPIC ELEMENT INTEGRATION -->
    <!--========================================================-->
    <!-- Embed topic to get generic elements -->
    <!ENTITY % topic-type PUBLIC ?"-//OASIS//ELEMENTS DITA Topic//EN" ?"topic.mod" >
    %topic-type;
    <!ENTITY % objectsp-type PUBLIC ?"-//OASIS//ELEMENTS DITA Topic//EN" ?"objectsp.mod" >
    %objectsp-type; HOW TO MAKE CHANGES IN DITA DTDS FOR SPECIALIZATION MAKING CHANGES IN DTDS FOR DOMAIN SPECIALIZATION
    ---------- and the other existing ones

    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.

Making changes in DTDs for domain specialization

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 :-

  1. Copy any existing MOD file and rename it. e.g. utilitiesDomain.mod to domainsp.mod.

    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

  2. Open the new mod file e.g. domainsp.mod and in section "ELEMENT NAME ENTITIES", declare the new entities for the specialized elements.
    <!--====================================================== -->
    < !-- ELEMENT NAME ENTITIES -->
    <!--=======================================================-->
    <!ENTITY % Dlink "Dlink" >
    <!ENTITY % Dprolog "Dprolog" >
    <!ENTITY % Dimage "Dimage" >
    <!--=======================================================-->
  3. Declare the new specialized elements.
    <!--======================================================= -->
    <!-- ELEMENT DECLARATIONS -->
    <!--======================================================= -->
    <!-- LONG NAME: Dimage -->
    <!ELEMENT Dimage (%alt;) >
    <ATTLIST Dimage href CDATA #REQUIRED
    keyref NMTOKEN #IMPLIED
    alt CDATA #IMPLIED
    longdescref CDATA #IMPLIED
    height NMTOKEN #IMPLIED
    width NMTOKEN #IMPLIED
    align CDATA #IMPLIED
    scale NMTOKEN #IMPLIED
    placement (inline | break | -dita-use-conref-target)
    "inline"
    %univ-atts; outputclass CDATA #IMPLIED >
    --------------------------- and so on for other elements.
  4. 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).
    <!--====================================================== -->
    < !-- SPECIALIZATION ATTRIBUTE DECLARATIONS -->
    <!--=======================================================-->
    <!ATTLIST Dprolog %global-atts; class CDATA "+ topic/prolog
    domainsp-d/Dprolog " >
    <!ATTLIST Dlink %global-atts; class CDATA "+ topic/link
    domainsp-d/Dlink " >
    <!ATTLIST Dimage %global-atts; class CDATA "+ topic/image
    domainsp-d/Dimage " >
  5. 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).
  6. Open the ENT file and declare the entities for integration of new elements with the existing one (using domain extensions)
    <!--====================================================== -->
    < !-- ELEMENT EXTENSION ENTITY DECLARATIONS -->
    <!--=======================================================-->
    <!ENTITY % domainsp-d-image "Dimage" >
    <!ENTITY % domainsp-d-link "Dlink" >
    <!ENTITY % domainsp-d-prolog "Dprolog" >
  7. 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.
    <!--====================================================== -->
    < !-- DOMAIN ENTITY DECLARATION -->
    <!--=======================================================-->
    <!ENTITY domainsp-d-att "(topic ank-d)">
  8. 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
    • First we need to do the vocabulary declaration and define the new domain.
      <!--========================================================-->
      <!-- DOMAIN ENTITY DECLARATIONS -->
      <!--========================================================-->
      <!ENTITY % domainsp-d-dec PUBLIC "-//domainsp//ENTITIES DITA
      domainsp Domain//EN" "domainsp.ent" >
      %domainsp-d-dec;
      -------- and the other existing ones.
    • Do the vocabulary substitution and define the elements from the which the domain specialized elements are extending from.
      <!--========================================================-->
      <!-- DOMAIN DOMAIN EXTENSIONS-->
      <!--========================================================-->
      <!ENTITY % image "image | %domainsp-d-image;" >
      <!ENTITY % prolog "prolog | %domainsp-d-prolog;" >
      <!ENTITY % link "link | %domainsp-d-link;" >
      -------- and the other existing ones
    • Do the vocabulary attribute declaration.
      <!--========================================================-->
      <!-- DOMAINS ATTRIBUTE OVERRIDE-->
      <!--========================================================-->
      <!ENTITY included-domains "&ui-d-att; &hi-d-att; &pr-d-att;
      &sw-d-att; &ut-d-att; &indexing-d-att; &domainsp-d-att;" >
    • 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.
      <!--========================================================-->
      <!-- DOMAIN ELEMENT INTEGRATION -->
      <!--========================================================-->
      <!ENTITY % ank-d-def PUBLIC ?"-//domainsp//ELEMENTS DITA User
      Interface Domain//EN" "domainsp.mod" >
      %domainsp-d-def;
      -------- and the other existing ones
Download PDF for this topic
Download the sample files as explained in the topic

Thanks and Regards,
Ankur Singla

FrameMaker Engineering


April 30, 2009

How to use Ditaval Filtering ?

, , , , ,

Adobe FrameMaker 9 allows to use Ditaval based filtering of content while producing following output from a DITA Map:

  • PDF
  • Print Output
  • FrameMaker Book (with FM Components)
  • Composite Document

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.

While creating the PDF, FrameMaker Book (with FM Components) or Composite document from a DITA Map, following shall be done to use Ditaval filtering:

  • Choose the option ‘Prompt For DitaVal File’ in the ‘Save Document’ dialog (as depicted in image below).
  • After clicking on Save, a ‘Choose DitaVal File’ dialog appears. In this dialog, select the Ditaval file to be used to apply the content filtering.
  • On choosing the file, the desired output gets generated as per the filtering specified in the Ditaval file.

DitaVal.JPG

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

Following is a demonstration for 'Using DITAVAL Filtering while generating PDF output from a DITA Map' :

view in a separate window





Please let me know your comments and suggestions.

Thanks and Regards,
Tarun Garg

FrameMaker Engineering

April 23, 2009

How to integrate FrameMaker 9 with a WebDAV based CMS

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.

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.

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.

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.

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.

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.

View in a seperate window




Please feel free to put your comments to the post.

Jatin Sanghvi
FrameMaker Engineering

Continue reading "How to integrate FrameMaker 9 with a WebDAV based CMS" »

April 20, 2009

All about Output from DITA Maps

, , , , ,

Adobe FrameMaker 9 supports generation of following output from a DITA Map:

  • PDF
  • Print
  • FrameMaker Book with FM components
  • FrameMaker Book with XML components
  • Composite Document

Adobe Technical Communication Suite 2 supports generation of following output (in addition to above) from a DITA Map:

  • AIR
  • HTML
  • Flash Help
  • Microsoft HTML Help (or CHM)


Adobe FrameMaker 9 enhances the output generation for DITA Maps with additional support for the following DITA constructs:
  1. Attribute ‘print’: While generating output form a DITA Map, ‘print’ 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 ‘yes’. User has the option to enable/disable this feature using the ‘UsePrint’ option in ditafm.ini file. Set ‘UsePrint = 1’ to enable this feature.
  2. Relationship Table Support: 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 ‘UseReltable’ option in ditafm.ini file. Set ‘UseReltable = 1’ to enable this feature.
  3. DITAVal Filtering Support: 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.
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.



DITAMapOutputUsingFM.JPG

A DITA Map can be saved to one of the following formats, to carry out the required post-processing before producing the final output:
  1. FrameMaker Book with FM components: 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.
  2. FrameMaker Book with XML components: 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.
  3. Composite Document: 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.
Also, a direct output can be generate from a DITA Map, in the form of PDF/Print output. While doing this, the content from all the referenced Topics/Maps is collated to create a single output document (similar to the Composite Document).

Following table summarizes the availability of output related DITA features , while producing different outputs for a DITA Map:

DITAFeatures.JPG
*For this output, the topicrefs where 'print' attribute is set to ‘no’, do not get dropped from the output book. Rather, corresponding component’s ‘Exclude’ flag gets set in the output FrameMaker Book.

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

Following table lists the ‘Save as Type’ option to be used for different outputs:

Output ‘Save As Type’ Option
FM Book (FM Components) Book 9.0 with fm components (*.book)
FM Book (XML Components) Book 9.0 (*.book)
Composite Document Composite Document 9.0 (*.fm)
Print Output -N/A-
PDF PDF (*.pdf)


Following is a demo to 'Generate FrameMaker Book (with FM Components) from a DITA Map' :

view in a separate window



Following is a demo to 'Generate PDF output from a DITA Map' :

view in a separate window





Adobe Technical Communication Suite 2 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:
  1. Using FrameMaker 9, generate a FrameMaker Book (with FM/XML components) or a FrameMaker Composite Document, from a DITA Map. (Note: 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.)
  2. Import the generated output into RoboHelp 8, using RoboHelp’s menu command ‘File->Import->FrameMaker Document’.
  3. Do the required post-processing and/or the settings. Generate the desired output (AIR/HTML/FlashHelp/CHM) using RoboHelp 8.

DITAMapOutputUsingTCS.JPG




Following is a demo to 'Generate HTML output from a DITA Map' :

view in a separate window





Please let me know your comments and suggestions.

Thanks and Regards,
Tarun Garg

FrameMaker Engineering

April 16, 2009

Understanding the 9.0.1 FrameMaker Patch

,,,,,

Dear Framers

Welcome back!

I hope most of you would have taken a break during the vacation.

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

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.

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:

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

Note - 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.

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.

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

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

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

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.

7. Para Designer doesn’t get updated in the minimized mode now.

8. In German locale, messages appear correctly in XML Schema Log.

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

10. The issue of graphics getting dropped in CMYK PDF is fixed now.

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

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.

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

Tips

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

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

Please keep giving your valuable feedback.

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

Thanks and regards
Mahesh

Continue reading "Understanding the 9.0.1 FrameMaker Patch" »

April 10, 2009

Editing XML files on the WebDAV server using Browser Plug-in

,,


You can open and edit XML files stored on the WebDAV server using FrameMaker 9.
When FrameMaker 9 is installed on your computer, the Edit with FrameMaker plug-in is added to the browser's toolbar and is listed as an option in the edit menu for XML files.

To edit XML files on a WebDAV server:
1. Open Internet Explorer browser.
Note: This feature is supported in Internet Explorer 6 and later.
2. Enter the URL of the XML file you want to open.
3. Click the edit icon on the browser’s toolbar, and select “Edit with Adobe FrameMaker 9”. FrameMaker is launched.
FrameMaker accesses the WebDAV server, checks-out the XML file and opens it in FrameMaker.
Note: To use the browser plug-in functionality on Windows Vista the user would need to disable the Protected Mode in the Windows Vista browser. To do this access-Tools>Internet Options>Security and uncheck Enable Protected Mode.
4. In the choose application dialog box that appears, select an appropriate Application to open the XML document.
Note: This dialog box does not appear if you have already specified the Application in the Generic Application Selector PI of the XML document.
5. Edit the document in FrameMaker and save the changes. The changes are saved back to the server depending on the setting kept in the Preferences. Users have option to either upload the file on each save or to save changes when the user closes the file currently being edited.
6. Close the document. FrameMaker saves the XML file on the WebDAV server. The file is now checked-in and unlocked on the WebDAV server.
You must log in to the WebDAV server the first time you open an XML file. Your login credentials are verified by the
WebDAV server before the XML file is locked and checked out for opening in FrameMaker. The valid credentials will be maintained for that particular FrameMaker session. Other users can open the locked XML files in view-only mode only.

A link to a small demo on using the Brower plugin to edit XML files over WebDAV is provided below.
View demo

Nakshatra
FrameMaker QE team

April 1, 2009

Generic Application Selector-New PI's in XML

,,,


Adobe FrameMaker 9 has introduced support for associating an XML file with a structured Application. XML authors can now provide the information about the structapps.fm and the Application required to open the XML document using a Processing Instruction(PI).

FrameMaker will be able to understand the PI in following three forms:
1. <?Fmwd AppLocation "structapps_path" AppName "Application"?>
FrameMaker will silently read file from structapps_path and associate Application both at the time of opening and saving XML file.
2. <?Fmwd AppLocation "structapps_path" ?>
FrameMaker will silently read file from structapps_path at the time of opening/saving XML file and will prompt user to select one of the applications within structapps.
3. <?Fmwd AppName "Application"?>
FrameMaker will use the current read structapps and associate the Application given in PI to the XML while opening/saving the file.

The PI should appear before the root element in the XML document with the following syntax:
<?Fmwd AppLocation "structapps.fm" AppName "ApplicationName"?>

For example the below code snippet for an XML file shows the usage of PI instructions.

<?xml version="1.0" encoding="utf-8"?>
<?Fmwd AppLocation "http://cms-fm/FM9/structapps.fm" AppName "SendMail"?>
<Mail xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="email.xsd">
<from>Asterix</from>
<to>Obelix</to>
<subject>Lost Dogmatix</subject>
<body>Please Help.</body>
</Mail>

While opening this XML file FrameMaker 9 will silently read the structapps file available at the path mentioned and will use the 'SendMail' application read from the structapps to open the XML file. This should save time involved in opening the structured application file, reading the application definitions and selecting the Application in the Choose Application dialog.

Points to be Noted-
• If Application is not found in structapps, XML will be opened/saved with No Application.
• structapps_path can be absolute/relative paths and they can point to either HTTP or local paths

FrameMaker uses the structured application definition file to locate referenced files, such as read-write rules,
templates, schema and DTD. In cases where the structured application referenced files are located on a web server FrameMaker will download all the referenced files from the server to a temporary location on the local disk. An author can provide such references using an absolute path or relative path with respect to the XML file being edited.
Please feel free to share your feedback.

Nakshatra
FrameMaker QE team

March 24, 2009

Structure View Enhancement in FrameMaker 9

,,,


The Structure View allows for real-time validation of the structured element content while editing. It discourages the author from violating the constraint rules set by the EDD or XML schema which was earlier possible only while saving or exporting the document. The Structure View is now capable of pointing the constraint error for integer and float data constraints. The content will turn Red indicating that the content does not satisfy the data type constraint.

Enhancements include:
• Using min/maxInclusive schema constraints an author can define a valid range and data type for an element in an XML file. Alternatively user can add range information for an element in the EDD of a document using Range element in the EDD.
• The author can validate the document and figure out the reason why the element content does not satisfy the data type constraint.
• Using “Element > Validate” Menu FrameMaker would be able to indicate whether the component is outside the specified range or is an invalid data for a component.
• Author will now be able to rectify the error before actually exporting or saving the document.

A small demo on working with the real time Structure View validation while editing an XML document is shown below.





View demo in a new window.

Please let me know your comments and suggestions.

Nakshatra
FrameMaker QE team
(nbhardwa@adobe.com)

February 22, 2009

New User Interface of FrameMaker 9

,,,,,

Hello Framers

You kept asking but till 8, we said wait! Now 2009 ends this wait with 9.

Yes, I am referring to the enriched User Interface of FrameMaker 9. I am sure you are enjoying the power of this power pack which boosts your productivity and efficiency with your existing workflows and also brings new functionality which you can leverage to create new workflows which you could just conceive earlier but couldn’t implement.

But I do understand that after working with the same interface for a really long period, the new interface might mean some change for you. A few of you wrote to me that you need more education on the new interface. A couple of you found the interface a bit confusing.

This makes me think of an interesting change I made some time back. That was about my new mobile phone. My old phone had a crude interface, no profile setting and limited functionality. I wanted to use new features offered by the latest technology in the market. I evaluated and upgraded to a new phone. This new phone came with smart looks, new features and tools but getting used to it took me some time. Believe me, for initial two days, I used to keep the phone back in my drawer thinking that it’s difficult to learn, this is not for me. But gradually I started playing with the phone, explored the features, got help from product help and started enjoying the enhanced and new productivity benefits brought by this phone.

A month back, somebody asked me if I had a phone for donation. I searched and found the old phone. Out of curiosity, I inserted my SIM Card, charged the phone and started typing an SMS. Oh my God!! How difficult and cumbersome… I just couldn’t come to the agreement with truth that this was the phone I didn’t want to change. I smiled and said to myself… Mahesh! You made the right move of initiating, accepting and adjusting to the change which now I am enjoying thoroughly!

With newer technological developments, I might want to change to a newer phone in the future but I don’t have the fear of change as I know this only ‘constant’ will be for good only…

I am sure you would like to know more about the FrameMaker 9 User Interface. A small demo on working with conditional text through new UI is shown below.





RJ Jacquez, Senior Evangelist, will be explaining the new UI in detail to you. I recommend that you please attend his elearning session on Feb 26th.

Details are available at http://blogs.adobe.com/rjacquez/2009/02/elearning_session_on_the_new_u.html

This time FrameMaker Chautauqua conference didn’t materialize but I plan to be present at WritersUA in Seattle. We can discuss more on FrameMaker and Technical Communication Suite in person if you are attending the conference. We can plan a meeting in advance. You are always welcome to write to me at mahesh@adobe.com

-Mahesh

January 21, 2009

Adobe FrameMaker 9 is here!

,,,,,,,,,,


Hello Framers

It gives me a great feeling to connect with you in this New Year. There’s a lot ‘new’… New year, New US President and the New version of your favorite product ‘FrameMaker’ now.

Yes, your ‘FrameMaker 9’ has been announced. Please visit the link http://www.adobe.com/products/framemaker/

FrameMaker 9 has a host of features which you have been asking for. The UI is considerably enhanced, there is support for hierarchical books, PDF import comments and so on…

I am sure you are eager to know about them at length. FrameMaker 9 Reviewer’s Guide gives details on FrameMaker 9. Please click below to access the guide.


URL for accessing the guide is

https://share.acrobat.com/adc/document.do?docid=75864237-da11-4fbf-bbcc-90cda2bed045

The guide also includes captivate demonstrations and there are several ‘try-it’ exercises. For viewing the demos, you should save the guide on your machine. You’ll need a set of files for the exercises and this is available as a zipped file at

https://share.acrobat.com/adc/document.do?docid=9339409a-b884-49ae-a06d-157d69b17b8d

Please review, try the product and please provide your feedback.

 

-Mahesh

October 23, 2008

Tekom 2008

,,,,,,

Hello Framers!

I plan to attend Tekom 2008 conference this year scheduled to be held in Wiesbaden, Germany.

As I always look forward to meeting you, our valued customers, I plan to reach Wiesbaden, Germany by November 3rd. Conference period is November 5th – 7th.

Please let me know if you would like to meet and share your thoughts, suggestions and feedback on FrameMaker. Meetings can be planned in/around Wiesbaden on Monday evening and Tuesday.

Once the conference begins, meetings can be held at the conference venue itself.

Please write to me at mahesh@adobe.com

I again look forward to this opportunity!

 

Thanks and regards

Mahesh


July 6, 2008

Hotfix for FrameMaker

,,,,,,,,,,


Hello FrameMakers

I have some good news for you!

 

Some problems which you have been facing for long and have been informing me on the same are fixed now – courtesy Microsoft. Yes, I would like to express my sincere thanks to Microsoft for fixing some of our issues in a recently announced Hotfix.

This Hotfix should fix almost everything for which you used to delete ‘Fntcache.Dat’ as a workaround.

To summarize, the following problems have been taken care of with this fix:

  • Save as PDF leading to a crash.
  • Text dropping out of PDF created from FrameMaker.

This Hotfix is available at the following location:

http://support.microsoft.com/?id=952909  (Gives details on the Hotfix)

http://support.microsoft.com/Hotfix/KBHotfix.aspx?kbnum=952909&kbln=en-us  (Direct Download Link)

 

-Mahesh

June 18, 2008

Structured FrameMaker: Using variables in EDD

,,,,,

Similar to text insets, you can use variables in a FrameMaker EDD. In the example below (see Adobe Captivate demo), I have used a set of variables as attribute values.  A paragraph style is applied based on the attribute value as part of a context level formatting rule. If you add a new attribute value to your structured template, you can use one of the pre-defined variables to add that attribute value to the context rule.  Context level formatting rule is updated based on the new attribute value.  Importing element definitions again updates the template.

June 16, 2008

Structured FrameMaker - Using Text Insets in EDD

,,,,,

Text insets in Adobe FrameMaker enable re-use of content.  You can import a document into another document as a reference and update the content when the source document changes. 

You can also use text insets in EDD - enabling you to re-use context level formatting rules and elements across elements and structured applications.  First step is to identify the re-usable component.  Once you have identified the re-usable component (for example, an element definition as shown in the Adobe Captivate demo below), you can do the following -

  1. Copy the re-usable component (element definition, here) from an existing EDD
  2. Go to reference pages
  3. Insert a text frame
  4. Paste the element definition in the new text frame
  5. Add a tag to text frame
  6. Come back to Body Pages
  7. Select the element and delete it
  8. Import the element definition from the same EDD.  Please select reference flow and tag name of the text frame to identify the content.

You have created a re-usable element definition.  Same can be repeated for context level formatting rules.  Please see the Adobe Captivate demo below.

May 13, 2008

FrameMaker 8.0.3 Available!

,,,,,,,,,,,,,,

 

We heard!           We worked!           We fixed!

 

Hello everyone

I am just back from the great ‘DocTrain West’ Conference held at Vancouver. I was really excited to discuss the interesting ideas and thoughts you shared with me in relation to both the short term and long term strategies. As I continued meeting you people, some of you told me about a few issues still faced by you in your workflows. We have been listening to you and we have fixed these problems through yet another patch 8.0.3.

FrameMaker 8.0.3 patch is live now and it is available through Adobe Update Manager (AUM). This patch (8.0p276) must be applied on top of 8.0.2 (8.0p273) only. You can check for updates through Help->Updates Menu in FrameMaker. Currently this update is available for English, French and German installations and we would shortly make it available for Japanese too.

With the help of these fixes, following workflows are now enabled/supported:

  • DITA conrefs get resolved properly.
  • Extended characters do not have a preceding space when using Arial Unicode MS font.
  • Higher code point characters are not dropped on MIF open.
  • FM catalogs sort properly.
  • Quotation marks look as per the expectation in documents with Chinese, Japanese and Korean combination fonts.
  • While using combined fonts, non-Asian characters present in the Asian font are now displayed using non-Asian fonts.
  • Random letters do not disappear from text line present in oval within anchored Frame.
  • Use of page range in Index does not randomly add question marks left and right in the generated index file.
  • Characters do not become invisible on the screen on the next line while hyphenating words just before the accented chars.
  • The NextPfgTag is correctly applied when pressing Enter at the beginning of the line.
  • FM does not crash when a document containing hypertext (spread over two lines) to marker is saved.
  • FM spellchecker uses user.dct entries
  • History palette records typing command in text line.
  • FM does not crash on saving a file after deleting split-ed text line.
  • Pressing space button at the start of line does not place cursor at the end of line.
  • Drag does not fail even if the target is a locked range.
  • For a 3D imported by reference, on moving it from hidden to show all after applying conditional text, the referenced path is not lost.
  • FM does not crash when a graphic file with object properties dialog open is overwritten at the system.
  • Importing object to the second file when "Quick Access Bar" and "Formatting Bar" are open and then closing the file, does not crash FM.
  • Converting a cross-reference to text does not crash FrameMaker when the format of the cross-reference has been edited.
  • Performing a find change using the backwards option does not lead to a crash.
  • Change All operation of a character does not crash FM.
  • When an equation is applied in conditional text and hidden, it does not lead to a crash.
  • The hyphenation of words in old Netherland language does not change character case.
  • In Netherland language words do not get corrupted when un-hyphenation is done with the words having dieresis.
  • Garbage characters are not shown in Tab stop list box if a legacy file containing higher ANSI characters in Align field of decimal tab is opened in FM 8.
  • Japanese tab stops now work in FM 8.

 

This patch has fixes for some more issues not listed above.

Please install this patch on top of 8.0.2, retest your workflows and share your feedback with me.

 

Thanks

-Mahesh (mahesh@adobe.com)

May 2, 2008

FrameMaker WebDAV Enhancements for CMS Integration

,,,,

WebDAV is a standard protocol and is supported by most Content Management Systems (CMS).  FrameMaker has built-in support for connecting to any WebDAV server and accessing files.  It enables browsing the repository, selecting files and checking them out from the Server. 

  • When a file is managed by a WebDAV server, multiple users can download copies of the file, but only one user at a time can check out the file. The user who checks out the file can share his or her work with other users by updating the file on the server; however, other users can't make changes to the managed file until it is checked in. This check out/check in system allows multiple users to access the same file but prevents users from overwriting each other's work.
  • Because WebDAV works over Web accessible networks, location doesn't matter. Team members can share files regardless of their proximity.

Your local machine has a directory structure that mirrors the WebDAV server structure, so when you check out files, the files are downloaded to your machine and placed in the mirrored folder.

FrameMaker 8 has extended the WebDAV support to allow authoring and editing of XML files located on the server.  In addition, FrameMaker 8 allows you to specify an HTTP path to import graphics into a document, either by copying or by reference. The HTTP path is preserved in the XML. 

WebDAV provides a standard way of integrating with diverse Content Management Systems today.  The other alternative is to build a custom integration with each of the CMS using the proprietary APIs by the CMS.  A custom integration is not only expensive to build and maintain, but it also locks down customers to a particular version of a particular CMS.  At the same time, WebDAV is a low level protocol (the least common denominator) and hence, to enable a seamless workflow, an authoring tool like FrameMaker needs to build logic to process the referenced files, related topics and so on.  Overall, in my opinion, the benefits of using a standard based approach outweigh the custom integration using proprietary APIs.

In future, I see two pronged approach towards enhancing CMS integration with FrameMaker.

  • Enabling HTTP path for all referenced files – By enabling an http path for all referenced files in a FrameMaker document, book or DITAMap, FrameMaker will provide a better experience for authors working directly from the CMS.  For example, if you have a DITAMap open in FrameMaker and you double-click on the DITA Topic (which has an http path), FrameMaker will open the topic for you. 
  • Enabling WebDAV based access to browse the repository and explicitly check-out and check-in files from the Server. When a file is checked-out, FrameMaker will also bring the referenced files in read-only mode to provide a better authoring experience. 
Please let me know your comments.

April 7, 2008

Adobe Technical Communication Suite, FrameMaker and RoboHelp : Training Videos

,,,,,,,,

Adobe Senior Product Evangelist, RJ Jácquez, has created three On Demand training videos to help customers get started with Adobe Technical Communication Suite.  A large number of customers have been asking us for training material on the Suite. I hope you will find this useful.  Please see the details below-

NEW Training Video! Getting Started with the Technical Communication Suite: Part 1 (http://my.adobe.acrobat.com/p29205929/)

In Part 1, you will learn about leveraging live and interactive 3D models from virtual any CAD/CAM/CAE software in your technical and instructional documents using the Adobe Technical Communication Suite.  This training video includes all exercise files needed for you to follow along with the presenter, and experience first-hand how to convert a 3D CAD file into a highly compressed 3D PDF document and how the included 3D Toolkit software allows you to reuse this model in FrameMaker and then generate an interactive and rich PDF document, that you can distribute to anyone using the free Adobe Reader. The video also guides you through the steps on how to further polish your 3D models using 3D materials and by adding animation that shows your end-users how to disassemble the model.

NEW Training Video! Getting Started with the Technical Communication Suite: Part 2 (http://my.adobe.acrobat.com/p25426010/)

In Part 2, you will learn how to supplement your technical and instructional design documents with engaging Adobe Captivate demonstrations, simulations and quizzes in the Flash format using the Adobe Technical Communication Suite.  This training video includes all exercise files needed for you to follow along with the presenter and experience first-hand how to create engaging Captivate demonstrations, simulations and quizzes that can be imported into FrameMaker documents and saved as PDF files, that end-users can playback using the free Adobe Reader.  The video also guides you through the steps needed to add a printing poster in FrameMaker and how to generate a single .SWF file from Captivate, which includes the playback bar in the PDF file, as well as other best practices.

NEW Training Video! Getting Started with the Technical Communication Suite: Part 3 (http://my.adobe.acrobat.com/p13101233/)

In Part 3, you will learn about adding FrameMaker books and documents in RoboHelp as live links and reusing FrameMaker content for creating Online Help systems, Searchable Knowledge bases, Performance Support systems and even Policies and Procedures.  Just like the first two, the exercise files are also included in case you want to go over the integration features yourself.

Besides Adobe Technical Communication Suite, there are training videos for Adobe FrameMaker 8 and Adobe RoboHelp 7 available on Help Resource Center.  Adobe Certified Trainers (for example, John Daigle is a certified trainer for RoboHelp and Captivate) can help you with formal training, if required.  If you are looking for formal training, you can locate Adobe Authorized Trainers in your area from Adobe site.

January 29, 2008

FrameMaker Chautauqua

,,,,,,,

Hi

I got so occupied with various activities here that I just realized it’s been over 2 months since I made my last post. Now I’ll try to be regular.

So folks, I hope you have finalized your plans for the ‘FrameMaker Chautauqua’ conference. I too have planned to attend.

I am looking forward to use this opportunity by meeting you at the conference.

 

Thanks and regards

Mahesh K Gupta

Product Manager – Adobe FrameMaker


January 21, 2008

Track Text Edits in FrameMaker 8

,,,,,,,

With FrameMaker 8, we introduced an ability to track edits in text. The biggest benefit is in the review workflow.  As we started planning the documentation for the next version of FrameMaker, it became obvious that track text edits in FrameMaker 8 will be a great time saver for both the teams – the product development team (which reviews the content) and the documentation team (which develops the content).  Review is fundamental to ensuring content completeness and accuracy and with incremental development models gaining popularity, content development is also incremental.  This increases the importance of managing content changes through milestones.

I am sure a number of FrameMaker customers are already using from this new feature. Do share your feedback.

Note - For details on what is tracked and what is not, please refer to FrameMaker User Guide.

January 8, 2008

FrameMaker, RoboHelp or Adobe Technical Communication Suite – Choosing the Right Tool for Technical Communication

,,,,,,,,,,

I am seeing a number of debates happening across support forums and mailing lists about which authoring tool (FrameMaker or RoboHelp) is better suited for a specific purpose.  Both RoboHelp and FrameMaker are really powerful authoring tools for technical communication.  FrameMaker provides a print WYSIWYG authoring environment and is the best Print and PDF publishing tool.  RoboHelp provides an HTML WYSIWYG authoring environment and is the best publishing tool for knowledge bases and online help with support for largest number of output formats. RoboHelp supports Dynamic HTML effects while auto-numbering and cross-references are major strengths of FrameMaker. 

Both FrameMaker and RoboHelp provide

  • strong support for single sourcing including variables, conditional tags and snippets (text insets in FrameMaker),
  • support for multiple TOCs, indexes, glossaries,
  • support for tables, images, Captivate demos, Flash, 3D PDFs,
  • template based authoring,
  • support for long documents (FrameMaker books often exceed 1,000 pages) and large projects (RoboHelp projects often exceed 1500 topics) and so on.  

With Adobe Technical Communication Suite, you don't need to choose between RoboHelp and FrameMaker.  You get both of them (with Captivate and Acrobat 3D) at an attractive price. Adobe Technical Communication Suite provides a complete solution for technical communication.  Adobe Technical Communication Suite is probably the right product for you, if any of the following holds true -

  • PDF/print is an important output format for you (need FrameMaker and Acrobat), or
  • You send documentation for review to subject matter experts, customers and vendors (need Acrobat 3D for PDF based review and commenting workflow along with FrameMaker or RoboHelp), or
  • You are publishing or planning to publish for multiple channels – PDF or print and online help (need FrameMaker, Acrobat and RoboHelp). 
  • You are using Structured FrameMaker for authoring XML documents and want a more flexible solution than XSL transforms and reduce the cost to customize and manage XSL transforms for every minor change needed in the Online Help output (need FrameMaker and RoboHelp), or
  • You are authoring in DITA and need a better publishing tool than DITA open toolkit (need FrameMaker, Acrobat and RoboHelp), or
  • You want to improve the effectiveness of your technical communication by using Flash movies or Adobe Captivate demos to illustrate the workflows (need Captivate along with RoboHelp or FrameMaker), or
  • You are part of an industry where 3D visualization can substantially improve  effectiveness of technical communication, for example, manufacturing - engineering, automobiles, construction, aerospace, real estate and so on (need Acrobat 3D with RoboHelp or FrameMaker), or
  • You are currently using or will use two or more products from the Suite (FrameMaker, RoboHelp, Captivate and Acrobat 3D). 

I certainly believe that above scenarios hold true for most of the technical communicators. In a later post, I will discuss further on this topic.

December 14, 2007

Using Hierarchical TOC and Index in RoboHelp for Linked FrameMaker Books

,,,,,

Adobe RoboHelp 7 has one of the most innovative and powerful feature of single sourcing, support for hierarchical TOC and hierarchical Index.  When you bring content from several sources in RoboHelp, RoboHelp enables you to add that content in a specific folder.  For example, for a FrameMaker book, RoboHelp creates a master folder at the book level and sub-folders each representing the Chapters in the book. 

In addition, you can create a separate TOC and Index for each of the FrameMaker documents you add as a live link in Adobe Technical Communication Suite.  In the example here, Agreement TOC and Agreement Index are created specifically for the FrameMaker book - Experience Bank. 


By enabling multiple TOC, Index and Glossary, RoboHelp allows to manage your content in a separate space.  When you update the content in FrameMaker document, the TOC and Index for the linked FrameMaker books are automatically updated.

In RoboHelp 7, you can now add a TOC inside a TOC as a placeholder enabling a hierarchical structure for TOC. Similarly, you can now add an Index inside an Index as placeholder enabling a hierarchical structure for Indices.  This is a really powerful functionality for single sourcing.

Please let me know your comments and suggestions.

Technorati Profile

December 7, 2007

Preserve Changes in RoboHelp for a Linked FrameMaker Book

,,,,,,,

Adobe Technical Communication Suite enables a single sourcing workflow from FrameMaker to RoboHelp for HTML publishing.  While it is ideal to maintain all the content in FrameMaker, there are special situations which may require the RoboHelp content to be out of sync from FrameMaker documents either for short duration or for small set of topics.  These special situations can relate to project deadlines or project requirements which make the process of maintaining a single source difficult.

Adobe RoboHelp 7, as part of Adobe Technical Communication Suite, provides a new and really powerful functionality of managing this Out of Synchronization behavior.  First, it provides a visual indicator the moment there is a change in RoboHelp content for a Linked FrameMaker document.  Second, it allows you to select a set of topics which you want to preserve when the content is updated again.  Since you can manage this at HTML topic level, you can control this at a granular level. Lastly, you can also delete topics and not regenerate these topics during the next update.

Here is a Captivate demo of this feature (Update - I am adding a "Click to Start" button on the demos - Thanks Rick for your suggestion). Do share your comments and suggestions with me.

November 22, 2007

FrameMaker 8.0.1 Available!

,,,,,,,

FrameMaker 8.0.1 patch is live now. This patch has fixes for several reported problems. The key areas include:

  1. PDF: Text going behind tables, tag structure not correct as per accessibility standards etc.
  2. XML / DITA: Fixes for crashers, handling invalid input, bugs related to Unicode etc. Apart from this, two functionality workflows that we have fixed are:
    1. Enabling round-tripping of user-variables in DITA files
    2. Enabling Track Changes in DITA file
  3. Conditional expressions for Books
  4. Track Text Edits: Crashers, some workflow issues. There are fixes for some Japanese locale specific bugs too.

These bug fixes are in addition to localization, installation, FDK, Server, documentation and Suite features.

These patches are available at the following locations:

UNIX - http://www.adobe.com/support/downloads/product.jsp?product=22&platform=unix

Windows - http://www.adobe.com/support/downloads/product.jsp?product=22&platform=win

 - Mahesh


Editing Style Information in RoboHelp for a Linked FrameMaker Book

,,,,,,

Adobe Technical Communication Suite enables a HTML publishing workflow from FrameMaker to RoboHelp.  While adding FrameMaker files as live links in RoboHelp, you can map FrameMaker styles to RoboHelp styles.  RoboHelp uses a specific style sheet fmstyles.css which can be modified for custom needs. 

1. The style information in RoboHelp can also be edited after the content has been imported in RoboHelp.  Please make sure you make these style changes in fmstyles.css since all the style sheets in the RoboHelp project for FrameMaker files are derived from this style sheet.  If you make changes in this style sheet, all the linked chapters from the FrameMaker book will inherit the change which will be consistently applied across the project.

2. If you want to edit the style information specific to a Chapter (from the FrameMaker book), you may want to create a style in FrameMaker for that Chapter. By creating a unique style specific to that Chapter, you can now map this style to any RoboHelp style. If needed, you can also add styles in fmstyles.css.  The style sheet can be edited using RoboHelp User Interface.

I am including a Captivate demo of how you can edit style information for linked FrameMaker files (Update- I have added a "Click to Start" button to the demo). I hope you will find this useful.  Please let me know your comments.

November 21, 2007

Updating linked FrameMaker files

,,,,,,

I have been talking about various features and settings for linking FrameMaker documents in RoboHelp. Today, I’ll take you through the functionality offered when the linking of files is already done. Yes, let’s see how you can update these files.

If you want to change some of the settings you specified at the time of linking files, right-click on the linked file and select ‘Properties’.

FrameMaker Document Settings’ Dialog opens up. All the setting dialogs which were seen during the initial linking can be seen as tabs here.

You can choose to update a particular chapter by changing the settings for that particular chapter or you can update the settings for the whole book (right click the book icon and then change properties).

Once settings are changed, the icon changes to red representing an internal un-synchronization.

As can be seen below, if properties are changed for the whole book, all child level entries too get unsynchronized.

Right-clicking an icon gives the update options. Just choose whether you want a simple Update or Force Update. One the selection is made, RoboHelp will quickly update your files taking care of your updated settings!

- Mahesh

November 16, 2007

How to convert FrameMaker TOC in RoboHelp

,,,,,,

Table of Contents (TOC) is an important part of FrameMaker books. RoboHelp recognizes this importance and allows the conversion of your source FrameMaker TOC to the corresponding TOC in RoboHelp.

I’ll explain the steps with an example. At the time of importing/linking FrameMaker book,

1. Place a check in the ‘ConvertFrameMaker Table of Contents’ box in the Content Settings dialog.

2. Click to open the Browse FrameMaker file dialog.

3. Navigate to the source files folder, select the source TOC and click ‘Open’. By Default, the TOC path would be populated with the first TOC file in the book. If your book has multiple TOCs, you can choose the one of your interest.

4. Select the Create new associated TOC radio button. This will create a RoboHelp TOC for the imported FrameMaker topics.

5. Enter a name for the this TOC. For our example, I have called it ‘TOC1’.

On completion of the import process, ‘TOC1’ would be created under ‘Table of Contents’ folder in the ‘Project Manager’ pod as shown below.

Double clicking ‘TOC1’ would open the TOC.

Snap-shot of the source TOC is shown below. We see that ‘Filter By Attribute’ is a book in the RoboHelp TOC. Topics under this book are same and in the same order as in the source TOC.

The styles in your FrameMaker TOC determine which headings become books, sub-books, or pages in the RoboHelp TOC. These levels are based on the following elements in the decreasing order of priority:

  • Left-most indent
  • Font Size
  • Font Weight

Note: Headings with indented items are converted to book entries.

In Adobe RoboHelp 7, a project can have multiple TOCs, multiple indexes and multiple glossaries. In addition to creating multiple TOCs and indexes, RoboHelp also provides an ability to create a hierarchical structure of TOCs and indexes. For more information, please visit my following blog post

http://blogs.adobe.com/techcomm/2007/10/content_aggregation_workflow_i_1.html

- Mahesh

November 7, 2007

FrameMaker and RoboHelp Style Mappings

,,,,,,

Perhaps the most important, and most powerful, feature of the FrameMaker import process is the style mappings. You can map FrameMaker paragraph and character styles to RoboHelp styles, which will automatically reformat your FrameMaker content for publication in RoboHelp. In addition, you can also specify:

  • New definitions for FrameMaker cross-reference formats (e.g., to remove page numbers from cross-references in RoboHelp output)
  • Style names that will trigger topic breaks in RoboHelp
  • FrameMaker styles to ignore when the styles are imported into RoboHelp
  • A default RoboHelp style to be applied to unmapped FrameMaker styles

Now, I’ll take you through some of these features in detail.

In the Style Conversion Settings section of the Settings dialog, there is an option to Convert AutoNumber to HTML list. This is generally preferred if the FrameMaker document does not include complex numbering (e.g., multilevel section numbering).

If you want to use a user defined HTML Tag for the paragraph styles, you can specify the tag e.g. ‘Pre’ tag. You can even choose the styles where this tag should be applied.

For applying properties, Click Select to open the FrameMaker Styles Conversion Properties dialog. Select the styles where these properties should be applied. Click OK to close the FrameMaker Styles Conversion Properties dialog and to return to the Style Settings dialog.

In the Style Mappings section of the Style Settings dialog, click Edit. The FrameMaker - RoboHelp Style Mappings dialog opens. In this dialog you can map each FrameMaker paragraph, cross reference, and character style to a RoboHelp style.

Select the type of style you want to map from the Style Mapping Type list. By default, the paragraph styles are selected. The individual paragraph styles found in the FrameMaker document and the RoboHelp project are displayed as shown in the screen-shot below. The FrameMaker styles are listed in the left column; the RoboHelp styles are listed in the right column. By default, each RoboHelp style is set to [source], which indicates that the FrameMaker style has not been mapped to a RoboHelp style. Preview of these styles is available in the bottom part of the dialog.

You may want to use different cross-reference styles in print form and Help deliverables. For example, page numbers are useful in PDF documents, but have no meaning in Online Help. You can map FrameMaker cross-reference formats to RoboHelp Cross Reference styles with appropriate definitions for online delivery.

For the screen-shot shown below, you may want to change the ‘Heading & Page’ cross-reference to paragraph text. Click Heading & Page to select the cross-reference style. The current definition includes a page number. Double-click <$paratext> to adjust the cross-reference format to specify only the title of the target topic.

I will touch other aspects in my next post. You can reach me at mahesh@adobe.com

Mahesh


November 4, 2007

DITA support in Adobe Technical Communication Suite

,,,,,

Adobe Technical Communication Suite comprises of Adobe FrameMaker 8, Adobe RoboHelp 7, Adobe Captivate 3 and Adobe Acrobat 3D ver 8. FrameMaker 8 extends the structured authoring functionality of FrameMaker to enable authors to work efficiently with DITA. With Captivate and Acrobat 3D, you can add Flash demo files and 3D models in FrameMaker 8. On the output side, FrameMaker lets you build a FrameMaker book from a DITA map to generate PDF and online help. Once you have created a FrameMaker Book, RoboHelp provides an ability to add them as live links, that is, any update to the Book will get reflected in Help output with just two clicks (Update and Publish). With RoboHelp 7, you can generate any of the output formats like CHM, WebHelp, FlashHelp, JavaHelp or OracleHelp. 

DITA is now core part of our product strategy. As customers adopt DITA and standards evolve, I envision enhanced support for DITA across Adobe Technical Communication Suite.

DITA Support in FrameMaker 8 - The DITA functionality of FrameMaker 8 is provided by a set of application features combined with a set of structure applications, which together provide core tools for DITA authoring and publishing. The DITA functionality of FrameMaker 8 can be extended for a variety of uses.

The FrameMaker 8.0 DITA menu

FrameMaker offers a range of features for DITA support:

  • Import/Export processing: Includes the use of some FrameMaker-specific constructs and elements (notable by their fm prefix), which are present while authoring in FrameMaker but translated to DITA-conformant XML during the import/export process. This ensures interoperability with other systems.
  • DITA map support: FrameMaker offers a structure application for creating and editing DITA maps, as well as managing relationship tables. Double-clicking on a topic within a map opens that topic for editing.
  • Conref support: When you open a file, FrameMaker resolves conrefs, and displays the referenced content as a text inset in the open document. FrameMaker also features the Reference Manager dialog box for inserting conrefs.
  • Xref support: When you open a file, FrameMaker automatically resolves <xref> elements and displays any associated text within FrameMaker. You can turn this feature on or off.
  • Output support: For generating Adobe PDF content, FrameMaker lets you build a FrameMaker book from a DITA map. As the XML authored in FrameMaker conforms to the DITA standard for structure, you can also publish using other DITA tools, such as the DITA Open Toolkit. You can also download the Adobe FrameMaker 8 plug-in for DITA Open Toolkit from FrameMaker Development Center.
  • Publishing to HTML using RoboHelp: FrameMaker lets you build a FrameMaker book from a DITA map.  RoboHelp as part of Adobe Technical Communication Suite provides an ability to add FrameMaker Books as live links. With RoboHelp, you can add breadcrumbs, browse sequences, Index, TOC, Glossary, Dynamic HTML effects to help output and also map FrameMaker styles to RoboHelp styles, generate context sensitive help mapping files and aggregate content from other applications like Word, DreamWeaver.

You can customize the DITA features of FrameMaker using the DITA Options dialog box or by editing the ditafm.ini file.

The DITA Options dialog box

Upgrading to Adobe Technical Communication Suite

,,,,,,,,

Adobe Technical Communication Suite provides an attractive opportunity to upgrade for existing customers of FrameMaker, RoboHelp and Captivate.  You can upgrade from any previous version of these products at a special discount. As a general rule of thumb, if you are currently using or plan to use more than one of the four products, you may find upgrade an attractive option.

Most FrameMaker users also use Adobe Acrobat software. By upgrading to Adobe Technical Communication Suite you get all the new features of FrameMaker 8 — including Unicode, DITA, 3D support, and enhanced conditional text handling—plus all features of Acrobat 3D Version 8. In addition, you get various enhancements that are unique to FrameMaker 8 for Adobe Technical Communication Suite, such as improved integration with Adobe RoboHelp 7, Adobe Captivate 3, and RoboScreen Capture. You can use the complete help authoring and publishing features of RoboHelp 7 to create help systems and knowledge bases. Adobe Captivate 3 enables the production of product simulations and demonstrations in the Adobe Flash® format by combining a realtime screen capture technology with a powerful editing environment for creating professional, interactive tutorials (complete with scenario branching and quizzes), without programming knowledge or multimedia skills. Based on the industryleading Adobe Flash platform, Adobe Captivate 3 automatically generates interactive, Adobe Flash Player compatible content that can be easily inserted into your FrameMaker and RoboHelp projects, Adobe PDF documents, or distributed via e-mail or the Web.

Engineering design and manufacturing professionals benefit from the latest version of Acrobat 3D along with the ability to export to standard 3D formats. With this suite, you will also be able to incorporate 3D models directly into FrameMaker 8, enabling you to produce rich technical PDF documents with live 3D models. In addition, you will be able to leverage the strengths and benefits of RoboHelp 7 and Adobe Captivate 3 to help meet your other technical communication needs, including the creation of help and support systems, product demonstrations, and simulations.

As a RoboHelp user, you get all the new features of RoboHelp 7 (including Unicode support, breadcrumb navigation support, a new user interface, and enhanced support for single-sourcing) plus enhancements that are only available in RoboHelp 7 for Adobe Technical Communication Suite, such as the ability to work with FrameMaker source files by adding them as links in RoboHelp projects. This provides a high level of control over online output by enabling you to define output settings and style mappings. You can embed engaging Adobe Captivate  demonstrations in RoboHelp projects, and select from a range of output formats, including WebHelp Pro and Adobe FlashHelp® Pro.

October 16, 2007

Generating Context Sensitive Help in RoboHelp from FrameMaker Files

,,,,,

When you import or add FrameMaker files (.book, .fm and .mif) in Adobe RoboHelp 7, you can also generate Context Sensitive Map IDs from FrameMaker source files. RoboHelp can convert custom markers defined in FrameMaker to map IDs and create bookmarks in HTML topics created during the import.  

 

Authors can choose any custom marker and apply it at the beginning of the paragraphs in the source files. A unique ID should be specified as the marker text at the time of applying this marker. Since this marker text would be used as the marker ID, the marker text should contain only alphanumeric and ‘_’ (underscore) character as shown in the figure below. The custom marker applied is ‘ExpBank’ and the FrameMaker ID for this paragraph is specified as ‘Marker1_Authorised_Persons’.

 

 

At the time of importing/adding files in RoboHelp, you need to specify the customer marker type. By default, ‘Define Context Sensitive Help Marker’ text-field is populated with the entry ‘TopicAlias’ and should be overwritten with the appropriate marker name, in this case with ‘ExpBank’ (please see the figure below).

 

 

RoboHelp processes the FrameMaker markers with this Marker type. and corresponding RoboHelp numeric Id and associated bookmarks are created. These associations can be seen in the ‘Edit Map IDs’ Dialog (available under ‘Context-Sensitive Help’ in the ‘Project Set-up’ pod).

 

 

First Column ‘Map ID’ represents the same ID specified in FrameMaker as the marker text. Second column gives the numeric Map ID which is used in the output and the third column represents the target bookmark.

Update (posted on March 26, 2008 by Vivek Jain) - The behavior has changed after RoboHelp patch 7.0.1. RoboHelp does not generate the mapIDs automatically and enables you to load the developer provided mapping files. If you are generating mapping files for your developers, please generate it through RoboHelp and export it. For importing the mapping file -> Go to Project Settings Pod, open Context Sensitive Help folder and right click on Map Files. You shall get Import Map File option in the context menu. In the import dialog box you will get option to import .hh, .hm and .h files. Please ensure that Locked option at the bottom is checked. RoboHelp will not touch your file if this option is on.

 

You can also see a report on the Map Ids (Tools->Reports) as shown in the screen-shot below.

 

The Map IDs can be tested through the ‘CSH Test’ tool. This tool (shown in the following figure) can be used for testing online/offline help.

 

In addition, RoboHelp provides several other features like changing the associations, importing and exporting map files etc. 

October 3, 2007

Content Aggregation Workflow in RoboHelp

,,,,,

RoboHelp can import content from Microsoft Word, Adobe FrameMaker, Adobe Dreamweaver and also enables HTML authoring in RoboHTML. In Adobe RoboHelp 7, a project can have multiple TOCs, multiple indexes and multiple glossaries. In addition to creating multiple TOCs and indexes, RoboHelp also provides an ability to create a hierarchical structure of TOCs and indexes. For example, let’s say there are three TOCs defined in RoboHelp, say, TOC1, TOC2 and TOC3. RoboHelp allows you to include TOC2 and TOC3 in TOC1. You can add a placeholder in TOC1 and associate TOC2 with the placeholder. This provides an ability to manage separate TOCs for different content brought in from different sources. Now, you can easily integrate content from several sources in RoboHelp. If you have a linked FrameMaker book in Adobe Technical Communication Suite, you can associate a TOC which is linked to the FrameMaker content, let’s say TOC2. TOC2 will reflect the changes in FrameMaker as content is updated. By placing TOC2 as a placeholder in TOC1, TOC1 becomes the integrated TOC and can be used for publishing the help output. Similarly, you can have a placeholder index – Index 2 in the overall project Index. Thus, you separately manage the changes in FrameMaker and at the same time, aggregate the content in RoboHelp. RoboHelp also provides an ability to apply conditional build tags to TOC entries and an ability to include variables in the TOC entries. By enabling conditional build tags, variables, multiple TOCs and TOC placeholder to create hierarchical structure of the TOCs, Adobe RoboHelp 7 provides unparalleled content aggregation functionality.

August 1, 2007

FrameMaker 8 is available

,,,,,,,

Adobe FrameMaker 8 is available now. 

The year 2007 is turning out be an exciting one for Adobe in technical communication. We already had four product releases - Adobe RoboHelp 6, Adobe Acrobat 3D ver 8, Adobe FrameMaker 8 and Adobe Captivate 3, and we have another 5 months to go before we end this year. 

FrameMaker 8 is probably one of the most significant releases in the history of FrameMaker.  With Unicode, DITA, support for Flash, 3D, conditional text enhancements, Filter by Attribute, Track text edits and so on, FrameMaker 8 is a feature packed release.  This time, we had a very active pre-release program and that has greatly helped in improving the product.  Also, the development team led by Rajat Bansal has demonstrated exemplary commitment in making this release possible.  We have certainly achieved more than what we initially set out to do.

With the release of FrameMaker 8, we are entering a period of accelerated development for FrameMaker.  We have started planning for the next version and if you have a feature enhancement request, do let us know.

Update - We recently announced Adobe Technical Communication Suite and Adobe RoboHelp 7.

July 24, 2007

FrameMaker 8 will ship by July end

,

I feel happy to inform you that FrameMaker 8 has been announced and is expected to ship worldwide by the end of July 2007. (Press Release, FrameMaker 8)

FrameMaker 8 has been designed to help its users take advantage of emerging technologies in technical communication and to meet the new challenges thrown up by a fast globalizing world. I would like to invite you to participate in the eSeminars listed below to see whats new in FrameMaker 8. (click here to register)

You would also be able to download and test a fully functional 30 day trial version of FrameMaker 8 by the end of July 2007. The FrameMaker product team would be happy to receive your feedback on the release.

Thank you

Introducing Adobe FrameMaker 8 : Now with Flash, 3D, DITA and Unicode support!
Thursday, July 26th, 2007 10:00 AM PDT
(click here to register)
Learn about the much anticipated new release of Adobe FrameMaker 8 that will revolutionize how content is authored and consumed. Packed with features for everyone like: track text changes and other review workflow improvements, more XML single-sourcing features, DITA, support for live 3D models and much more.

FrameMaker Deep Dive: DITA Topic-based authoring and single sourcing
Thursday, August 9th, 2007 10:00 AM PDT
(click here to register)
Take an in depth look into new support for DITA Topic-based authoring, advanced single sourcing features and improvements to the review and collaboration workflow (e.g. track text edits).

Benefits of FrameMaker for structured and unstructured documents
Thursday, August 23rd, 2007 10:00 AM PDT
(click here to register)
Learn about Adobe FrameMaker’s capabilities to create structured and unstructured content. Should you migrate to structure and what to consider if you do? How do you structure your content? Explanation of some terms used in structured application development (e.g. EDD, XSLT).

May 23, 2007

STC Minneapolis - Great conference and valuable feedback

,,,,,,,

STC 54th Annual Conference in Minneapolis was a great success. From Adobe perspective, we had a strong presence with eight sessions on FrameMaker, RoboHelp and Captivate.  Each of the sessions included technology sneak peeks for the corresponding Adobe product.  The feedback from the sneak peeks has been very positive. We also had a constant stream of visitors coming over at the Adobe booth seeking more information about these products. More importantly, we had an opportunity to meet a large number of customers, experts and partners.  We also had several 1:1 customer meetings to understand their requirements and collect feedback on our products.

You have most probably seen the discussion on forums and blogs on the sneak peeks. If you have any comments or suggestions, please do let me know.

May 7, 2007

FrameMaker Beta is here...

[2 July 2007 - Adobe is not accepting any more volunteers for FrameMaker Beta Program]

Finally the day lot of us have been waiting for... I am happy to share with you that the FrameMaker Beta 1 is already under testing by a select group of FrameMaker experts. And, their initial reviews are very encouraging.

The FrameMaker product team is looking for volunteers to participate in FrameMaker Prerelease Beta 2. Please click here to apply by filling up the FrameMaker Prerelease participation form. If your application is approved, you would soon be able to download the prerelease build. We would inform you once Beta 2 is available for testing.

Please Note: During the application process, please use the "Existing Users" section if you have an existing Adobe Prerelease system (https://prerelease.adobe.com) account. If you are participating in prerelease programs for the first time and do not possess a prior account, then use the "New Users" section and provide your email address. A mail containing a link to the Prerelease program will be sent to the specified email address as verification. Use this link in that mail to continue with the registration process to join the Prerelease program.

We look forward to your participation.

Thank you

Aseem - FrameMaker Product Manager

April 5, 2007

Windows Vista Support

,,,,,,,

There have been some questions on Windows Vista support. Adobe FrameMaker 7.2 and Adobe RoboHelp 6 do not support Windows Vista. However, the next versions currently under development for both FrameMaker and RoboHelp will support Windows Vista.

Update - , and support Windows Vista and Office 2007. If you are publishing online help or HTML help and looking at a cross platform solution, you can download . RoboHelp Packager for Adobe AIR generates cross-platform online help and provides two additional skins - Multi Tab Accordion and .

March 6, 2007

XML Authoring and DITA: An Interesting Analogy

Very often I come across the question – Why DITA? Here is an interesting analogy to try and answer the same. The purpose is not to define DITA, but to share my perspective on what DITA may imply for the technical authoring community.

In the XML authoring paradigm, the document is split into structure, content and style, which are analogues to Driving Rules (structure), car (content) and road network (style). If the content and the style are as per same structure (DTD/Schema), you can generate the output by combining content with the style-sheet.  However, it would not be possible to generate proper output using content and style sheets based on different structures. Similarly, if the cars and the road networks are designed as per same driving rules everything runs smoothly. However, if they are designed as per different driving rules, there would be chaos. E.g. it is difficult to drive a car designed for the US (right hand drive) in UK, where the road networks are designed as per left hand drive.

In a hypothetical world, where each country has its unique set of driving rules, the design of cars and road networks are unique to each country. It is difficult to drive a car designed for country X in country Y. XML authoring leads to a similar situation. Each organization and team has its own set of driving rules (Structure – DTD/Schema), hence it is difficult to share content or apply the same style sheet to content aggregated from different sources.

Imagine if all countries followed the same driving rules. All cars can be driven in any country, and the road networks could be designed, as per the driving rules, without any knowledge of the actual cars that would drive on it. DITA is similar to these universal driving rules. If everyone follows the DITA specifications, it would be easy to share content and apply the same style sheets to the aggregated content.

There have been other standards (universal driving rules) that have come up in the past. But they were good for specific kind of documents (terrains). DITA is different, as it is based on the premises that the same set of driving rules cannot be applied to all terrains (desert, mountains, city, etc.). Therefore, DITA allows each country to specialize the driving rules for its own unique requirements. In addition, DITA also has recommendations on the content (car) design – i.e. topics. This further makes it easier to reuse, manage and share content.

This is what makes DITA promising and makes it worth a serious consideration.

February 22, 2007

Thank you for the overwhelming response

It was heartening to see the number of emails that I received in response to FrameMaker - Is and will remain to be... The emails were both encouraging and critical. There were good suggestions as well as valid complaints. I would request you to keep the emails and the feedback coming, as it provides us with very valuable inputs.

I received a few mails and comments regarding Mac support. Adobe discontinued FrameMaker software for the Apple Macintosh operating system on April 21, 2004. The decision to discontinue FrameMaker on the Macintosh operating systems was based on the market conditions for FrameMaker. The majority of our customers use FrameMaker on Microsoft Windows and Sun Solaris platforms. FrameMaker 7.2 will continue to be available on Microsoft Windows and Sun Solaris platforms. Adobe is continuing Macintosh development for flagship print and web publishing solutions such as Adobe Creative Suite, Photoshop, Illustrator, Contribute and many others. Having said that, I believe there are some good workarounds available now for using windows applications on Mac. It may be possible to use one of them for FrameMaker

The response from Europe was very encouraging. I do plan to travel to Europe during the 2nd qtr of 2007. It would be great if I could meet some customers and users at that time to understand their Technical Communication workflows and to hear their inputs on FrameMaker. Please send me a message at aseem(at)adobe(dot)com if it is possible for you and your team to take out an hour or two for the meeting.

Thank you

Aseem Dokania, Product Manager - FrameMaker

Comments for this post have been switched off. Please send your comments to aseem at adobe dot com.

February 16, 2007

FrameMaker - Is and will remain to be...

Past few months have been busy.

On one side, I have been meeting FrameMaker users and enthusiasts, and on the other, I have been working with FrameMaker engineering. The most important question is; how can we make sure that FrameMaker continues to be the tool of choice for you? How do we make sure that FrameMaker evolves with time and helps you take benefit from emerging trends and standards? The DITA application pack was one such project designed to help our users adopt the emerging standards.

Over the last few months I met many FrameMaker users, consultants, plugin developers and trainers. It was a very pleasant experience. FrameMaker is like an inseparable part of their work lives. They love using FrameMaker and they love talking about it and providing valuable inputs and suggestions on making it better. What features to add to FrameMaker. What bugs to fix at the earliest. What are the limitations of conditional text. How important is multilingual authoring. The list goes on...

Most importantly, they were relieved to know that FrameMaker would be there for years to come, and it would become better with each release. I have noticed discussions on some blogs and mailing lists regarding the future of FrameMaker. Let me assure you, as the Product Manager of FrameMaker, that FrameMaker is here to stay. We would do what it takes to keep FrameMaker at the leading edge of technology.

All the valuable suggestions that I have received from you play an important role in laying down the product roadmap. I have already met many of you and I would like to meet more of you to learn from your experiences. Please send a message to aseem(at)adobe(dot)com to schedule a meeting. I am also planning to be at the WritersUA annual conference at Long Beach, and the STC annual conference at Minneapolis, where we can meet in person.

Thank you for your time.

Aseem Dokania, Product Manager - FrameMaker

Comments for this post have been switched off. Please send your comments to aseem at adobe dot com.