Context sensitive help is help set up to open at a topic relevant to the field or screen that the user is viewing. This article provides an overview of the way context sensitivity works in Responsive HTML5 help and Multiscreen HTML5 help generated by RoboHelp. This article shows you how you can create URLs to call your help context sensitive. This allows you to create your own context sensitive help calls and allows you to create your own API. I focus on developers and others who want to know what options are available to them. I assume you have some experience with RoboHelp, Multiscreen HTML5 or Responsive HTML5 as I will be using default RoboHelp terminology.
Note: The default API provided by Adobe does NOT support dynamic filters as of yet.
Calling HTML5 help
You can call the help context sensitive through the start file of the project. You add the options you want to the URL to control how the help opens your topic. Responsive HTML5 support the following options:
- Map numbers.
- Topic ids.
In order to let RoboHelp decide the best output for the device used, you call the file default.htm in the output folder. You add the options for context sensitivity using URL parameters. To trigger the context sensitivity mode, add the parameter rhcsh:
Note: If you do not add the parameter rhcsh RoboHelp will not treat your call as a context sensitive call.
Now you can add the other parameters. You can use the following options:
|rhcsh||1||Indicates to the output that this call is a context sensitive help call. All CSH parameters are ignored if this parameter is not set to 1.|
|rhmapid||Topic id||The topic id of the topic you want to call.|
|rhmapno||Map number||The map number of the topic you want to call. If you set this parameter, it will override the parameter rhmapid if that is also set.|
|rhnewwnd||1 or 0||Determine whether the help should open in a new window.
Note: If you want to use this option, provide an empty rhwnd parameter. Otherwise the new window will be overwritten.
|rhwnd||Window name||The window to use.|
|filter||<filter syntax>||Apply a Dynamic Filter to the content when the help is opened. Will work whether filter pane is shown or hidden. For syntax, see:
|showtags||true||Will show tagged content in the output for Dynamic Filters. Not a CSH parameter but great for debugging.
You separate the parameters with the ampersand (&) as is normal with URL parameters. Example:
Note: If you specify a window name (rhwnd), RoboHelp will always open the help in a new window. The parameter rhnewwnd is ignored.
Specifying the Screen Layout
If you call the main start file of the RoboHelp will automatically choose the correct Screen Layout for the user. If you want to prescribe a screen layout, load the start file of the Screen Layout output. For example:
Note: Screen Layouts are for Multiscreen HTML5 only.
Apply Dynamic Filters through CSH call
RoboHelp 2015 introduces dynamic filters. These filters allow dynamically showing and hiding content in output. Apart from setting the filters manually, you can also set the filters in the CSH call:
|<Groupname>||The name of the group that holds the filters you want to target. This is the exact name as specified in the Single Source Layout.
|:||Colon to indicate the end of the groupname and the start of the tags.|
|<Tag>||The name tag to apply. This is the exact name as specified in the Single Source Layout.
|;||Semicolon to separate multiple tags within a single group. Only include when more that 1 tag must be applied.|
|,||Comma to separate multiple groups. Only include when tags from multiple groups must be applied.|
|You can combine setting a filter and opening a specific topic in a single CSH call.|
Take the following filters applied to an output:
The syntax to enable the Account Manager tag in the Role group is:
Note that the space in the filter name is replaced with %20.
The syntax to enable the Account Manager tag in the Role group as well as the Reports tag in the Module group:
The syntax to enable all filters in the Module group:
Using URLs is simple. You just call the file you want directly.
|I do not recommend using URLs for Multiscreen HTML5. When you use a URL you point to a specific Screen Layout. If you use the regular method, RoboHelp will choose the best Screen Layout for the user. For Responsive HTML5, URLs are fine.|
Example (note that you must specify the Screen Layout for Multiscreen HTML5):