Category Archives: RoboHelp

The virtual Technical Communication Suite

Back to work today after a two week vacation to find my PC reimaged following some problems encountered before I left. I normally hate having my PC reimaged as the image applied never seems to contain all you want. All those print drivers, the desktop / theme customisation, toolbar settings and software installation are just never the way you want them. Part of my task for today was reinstalling the Adobe Technical Communication Suite 2.

As I was doing this it struck me just how easy it was to install considering the plethora of bundled applications in it, 16 in all, including major new versions to RoboHelp, FrameMaker and Captivate. The applications include some that also form part of the Creative Suite and therefore maybe new to some Technical Authors. However I am convinced that as time goes by I’ll find more and more uses for them. Of particular interest is Adobe Bridge and Adobe Presenter. Anyway more of this in a later post.

It also reminisced about getting hold of the trial version at the start of this year. Back then, the options were severely limited. You either had to order a DVD containing the trial version. Since then you have the added option of downloading the trial but this waiting whilst several gigabytes of data is transferred. Not really an option unless you have a fast internet connection.

Now there is a third option. Adobe have teamed up with a company called Runaware. They host full versions of software in a virtual environment, delivered via the browser. This means that you can get hold of a trial version of the Technical Communication Suite 2 in a fraction of the time it would take to use one of the other trial options. In addition the product team have included a step by step tutorials of the key product functionality and the various integration possibilities as well as a demo of how to use the virtual environment.

This strikes me as an excellent move to make the Technical Communication Suite to a wider audience. The ease with which you can see the suite in action makes this an exciting development for future Adobe product releases. You can find out more by following R Jacquez’s on Twitter or from the RoboHelp, FrameMaker or Technical Communication Suite product pages.

Useful links for RoboHelp 8 and the Technical Communication Suite 2

I came across a post today from someone looking into the features that RoboHelp had over other HATs. Apart from pointing them to the HAT Matrix, I also offered my personal perspective on what RoboHelp and the Technical Communication Suite could do based on their requirements. John Daigle also posted a response listing the resources below. I am reproducing them for anyone else needing guidance in the future.

  • Adobe RoboHelp 8 Reviewer’s Guide:  A major document highlighting all the new features of RoboHelp 8 and RoboHelp Server 8 and how they can be used to increase your productivity. Included inside are various “Try It” exercises for some of the features.
  • “Try it” exercises: These are a set of exercises that you can use to see for yourself the benefits of RoboHelp as described in the reviewer’s guide. An excellent way to familiarise yourself with the new features.
  • RJ Jacquez’s blog: RJ is the Adobe Technical Communication Suite Evangelist and has lots of using information to hand. Also follow him on Twitter (rjacquez).
  • RJ’s Webinars: RJ frequently performs online training sessions that are recorded for later use. These are a great way to see the features of the Technical Communication Suite at your leisure.

In addition to the above links, there are a number of blogs written by RoboHelp, Captivate, FrameMaker and Acrobat users. These are numerous, but for starters check out the “Forums and Blogs” section of the relevant Abobe Help & Support link on the right hand panel of this blog. For my personal experiences of migrating to RoboHelp 8 from RoboHelp X5, click here.

The Microsoft HTML Help API Commands

How to call a Microsoft HTML Help (.CHM) file programmatically can be a confusing task. There are just so many variables that have to be considered. Do you want the file to open at the default topic or a totally different one? Do you want a specific navigation panel tab to be displayed by default? Do you want the navigation panel displayed at all? Which window is to be used to display the CHM file/topic if it hasn’t been specified in your help file?

If all this seems daunting, there is no cause for worry as all of these questions, and a host full of others, are handled via a series of HTML Help API commands. These enable a Windows program to create a help window that displays a help topic yet maintain complete control over the type, style, and position of it. In addition the HTML Help API commands enable you to provide:

  • Context-sensitive help.
  • Keyword lookups.
  • Interaction between a Windows program and a compiled help (.chm) file.
  • Control over the Navigation pane in the standard HTML Help Viewer.

For a full list of the HTML Help API commands, see the Microsoft Developer Library article. However the most common command opens a .CHM in a particular help window and at a specific help topic. Called HH_DISPLAY_TOPIC the command has the following syntax:

HtmlHelp(
        GetDesktopWindow(),
        "c:\\help.chm::/intro.htm>mainwin",
        HH_DISPLAY_TOPIC,
        NULL) ;

where:

  • c:\\help.chm is the path and name of the CHM file.
  • intro.htm is the file name of the topic to be displayed.
  • mainwin is the name of the window the topic is to be displayed in.

For context sensitive help, the HH_HELP_CONTEXT command is used:

HtmlHelp(
        GetDesktopWindow(),
        "help.chm",
        HH_HELP_CONTEXT,
        5000) ;

where:

  • help.chm is the name of the CHM file.
  • 5000 is the mapid assigned to the topic to be displayed.

Note that is this example no window has been specified in which case the default window is used. If the specified (or default) window is already open, the topic containing the mapid replaces the one currently displayed. If a window is required, just add a greater than symbol and the name of the window after the CHM file topic. For example:

HtmlHelp(
        GetDesktopWindow(),
        "help.chm>mainwin",
        HH_HELP_CONTEXT,
        5000) ;

You can also use the HH_DISPLAY_TOC, HH_DISPLAY_INDEX or HH_DISPLAY_SEARCH commands to display a CHM topic with the Table of Contents, Index or Search tab displayed. If none of these commands are used, the last viewed CHM tab is stored in the user’s HH.DAT file and is used to display the same tab the next time that CHM is opened. As such the HH.DAT file contains details of the last used tab in all the CHMs viewed on the end user’s PC.

Excluding baggage files from your output

Awhile back I saw a post on the RoboHelp forums asking whether there was a way of excluding baggage files from being included in the output generated. The short answer is “Yes” although it is not as straightforward as you may think.

Normally in this type of scenario it is necessary to think about using a conditional build tag. Doing so you can exclude the offending item from the output at generation time. The problem is that you can’t assign a conditional build tag to a baggage file. You can to just about everything else but this particular feature remains unsolved.

However with thanks to Rick Stone who thought of this, there is a workaround that achieves the same aim. Place your baggage files inside a folder of their own. When you need to exclude them, go behind RoboHelp’s back and rename the folder. This has the effect of making RoboHelp loose track of the baggage files thereby excluding them. Once you have generated the output, just rename the folder back to its original name.

Note:

If you have a need to apply conditional build tags to baggage file, I’d strongly urge you to submit a feature request to the Adobe RoboHelp team. The more we (the users) tell them what we want, the greater chance our wishes will be granted.

External HTML editors

To some the prospect of leaving RoboHelp to produce HTML for their help file output is like waving a red rag to a bull. Personally I’ve not had any real problems with the vagaries of RoboHelp’s HTML but there are those that feel that only clean HTML is good enough. The fact that the HTML has significantly improved in recent releases, in fact RoboHelp 8 creates XHTML, still doesn’t wash. An external HTML editor is the only way forward.

Getting another HTML editor is not a problem. There are plenty around but perhaps Dreamweaver is the most common. The problem is, how to ensure that your default HTML editor is your chosen application.

Such an action has its pros and cons. Using an application like Dreamweaver will result in cleaner HTML, especially if you are on an older RoboHelp version. Additionally you may be more familiar with another application’s user interface making you more productive than if you had to learn another. The drawbacks are that you loose the ability to use the features specific to RoboHelp. Take the ability to quickly and easily insert DHTML, related topic controls, etc. Or how about the ability to apply conditional build tags.

However if you are insistent, the ability to set a default HTML editor inside RobeHelp has been around awhile (at least back to version X3). Just click Tools > Options to display the Options dialog. Among the tabs there is one called HTML Editors. This lists all the potential HTML editors installed on your PC when RoboHelp was installed but you can add and remove them.

Note: If you remove an application from the list, it only removes the capability for that application to edit the HTML. The application itself in not uninstalled or affected in any other way.

To add an application to the list, click Add which adds a blank line to the list with the name field active. Enter the name for the application and press Enter. This activates the path from which you can use the browse button to locate the applications .EXE file.

Finally you can make your application the default editor. On installing RoboHelp, the RoboHelp WYSIWYG is made the default editor. You can tell which editor is the default in your installation by a “Yes” in the “Default” column of the HTML Editors options tab. If you wish to change the default editor, click on the required application in the list and click the Set as Default button.