Context Sensitivity in Responsive and Multiscreen HTML5
Contents
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.
- URLs.
Regular method
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:
http://localhost/index.htm?rhcsh=1
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:
Parameter | Expected Value | Description |
---|---|---|
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:
Applies to:
|
showtags | true | Will show tagged content in the output for Dynamic Filters. Not a CSH parameter but great for debugging.
Applies to:
|
rh_debug | true | Will show debug messages from RoboHelp JavaScript framework in the developer console. Not a CSH parameter but great for debugging, especially if you’re creating custom widgets and controllers.
Applies to:
|
You separate the parameters with the ampersand (&) as is normal with URL parameters. Example:
http://localhost/index.htm?rhcsh=1&rhnewwnd=0&rhmapno=8
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:
http://localhost/ipad/index.htm?rhcsh=1&rhnewwnd=0&rhmapno=8
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:
http://localhost/index.htm?filter=<Groupname>:<Tag1>;<Tag2>,<Groupname>:<Tag1>
<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. |
Examples
Take the following filters applied to an output:
The syntax to enable the Account Manager tag in the Role group is:
http://localhost/index.htm?filter=Role:Account%20Manager
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:
http://localhost/index.htm?filter=Role:Account%20Manager,Module:Reports
The syntax to enable all filters in the Module group:
http://localhost/index.htm?filter=Role:Account%20Manager,Module:Accounts;Administration;Reports;Sales
Using URLs
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):
http://localhost/multiscreen/desktop/mytopic.htm
http://localhost/responsive/mytopic.htm
Debra H
The developer says the CSH won’t work in Chrome or Firefox (yes, I’ve downloaded the latest patch for Firefox). Here’s how he’s calling it: http://localhost:40339/help/index.htm?rhcsh=1&rhwnd=CSH&rhmapno=2
Also, he’s having trouble getting the CSH window to open or work properly in IE. Not clear what/why. He says we should just open the help topic in the main help system.
Any help? Thanks!
Debra H
Sorry, should have specified: using RoboHelp 2015, 12.0.4.460, output is Responsive HTML5. My goal is to have the CSH display in a smaller window in the web app, not open the whole help system in a new tab. Thanks for any help.
Willam van Weelden
It seems you found a bug in the API. When using the rhwnd option, the page simply won’t load. When the window parameter is removed, the help opens as expected. Regardless of your window setting, the help always opens showing the full skin. This may be a bug too, but it may be by design. (I’ve never implemented windows in Responsive HTML5). You can report bugs to Adobe here: https://www.adobe.com/products/wishform.html
If your goal is to open only the page, the best option may be to build a popup in your own code. The open the topic file. That opens only the topic (but gives the reader to open the full context). Would that work for you?
Debra H
Thank you so much for your reply. I don’t think the developer will want to create popups in the app, but I’ll ask him about it. For now, it looks like I’ll have to live with opening the help system at the specific page. That’s better than nothing.
Thanks again.
Wee Thansom
Hello Willam,
We are a big fan and always find you very helpful. I have a quick question regarding CSH. My issue is: every time when CSH is called, it “flickers through the landing page (where all the tiles are), then the TOC, and then the topic” in approximately 2 seconds. It looks like it has to go through the hierarchy of the online help system to find the topic. My Developer is using .java provided by Adobe and the call is this http://www.domain.com/help/xyz/index.htm?rhcsh=1&rhmapno=1
Do you know if we need to add anything to the call to stop the “going through the hierarchy” to find the topic? Thank you so so much, Willam. BTW, I replied to this thread on the forum, but someone said you’re not active there any more, hence reaching out to you here
https://community.adobe.com/t5/RoboHelp/Indigo-flickering-via-CSH/m-p/10674749#M126873