Calling Context Sensitive Help

Frameless Skins

Using Map IDs

The call needs to be in the format

path/index.htm?rhmapno=123

If you are using context sensitive help and want the topic to open with the TOC, add "&rhmapfs=false" to the call. For example:-

path/index.htm?rhmapno=123&rhmapfs=false

Using URLs

Each topic has a unique URL and the help will open with all the navigation components.

Responsive Skins

Using Map IDs

The call needs to be in the format - path/index.htm?rhmapno=123

Using URLs

If you use the URL of the topic in the format path/topic_name.htm, the topic will open without the navigation controls, the user will have to click a link to open the TOC and other controls.

To open the help with the navigation controls, you need a path that includes the start page of the help, by default that is index.htm.

You then append #t= followed by the rest of the path to the required topic. For example - path/index.htm#t=path/topic_name.htm

Changing from Responsive to Frameless Help

As above, your calls will need to change if you choose to upgrade and use URLs rather than map ids. However, your users may have bookmarked topics and they will have saved URLs. On changing to frameless help, those bookmarks will break and they will get a 404 Page Not Found message.

In this forum thread, davidd99046111 posted a nice solution whereby instead of getting a 404 Page not Found message, the user is taken to the help home page where an explanation can be added.

I have added a couple of tips and Adobe have suggested another solution as well as adding a caution if the frameless home page is used.

Steps

  1. Create a topic with the file name index.htm. That should be in the root of the Contents.
  2. Add the topic to the TOC with the Exclude This Topic From Search option selected so that it is not found by a search.
  3. Set a different topic as the default. That should contain a note somewhere to tell users who have used a bookmark why they have landed here and tell them how to locate the required topic and create a new bookmark.
  4. Generate the help.

To Test

  1. Open the help.
  2. Amend the link in the browser from say file:///C:/00_Test_Projects/Outputs/Frameless/Topic_Name.htm to file:///C:/00_Test_Projects/Outputs/Frameless/index.htm
  3. Paste that into a new window and when you press Enter, the help opens perfectly to the default topic.
  4. Append an HTML call as below. That is the link a user will have. That will appear in the browser momentarily and because it cannot be found, the output will be opened to the default topic. That should include a note explaining the user needs to change their bookmark.
    file:///C:/00_Test_Projects/Outputs/Frameless/index.htm#t=folder1%2Ffolder2%2Ftopic.htm

Adobe have suggested that javascript can be added to the index.htm file created in Step 1 that could redirect the user to the new topic. Maybe your developers can assist with that.

One caution they have added is if you are using a home page in the frameless output, that will create an index.htm file causing a conflict. You will need to change the name of the start page to something else. I believe that home.htm and default.htm will both work in the same way as index.htm but check that with your developers. The user will then land on the home page where you can add an explanatory note.

WebHelp

The difference between responsive help and webhelp is simply that latter does not change as the screen is resized. Now instead of using webhelp skins, responsive skins are used but you can choose to disable the Responsiveness option.

This does mean your help calls will need to change.

Using Map IDs

In Classic Versions, the format of the call was path/index.htm#<id=123>>newwnd=false

Now the format is path/index.htm?rhmapno=123

Thus #<id=123>>newwnd=false is replaced by ?rhmapno=123

Using URLs

The format of URLs in Classic versions was path/index.htm#path/target_topic_1.htm.

Now the format is path/index.htm#t=path/topic_name.htm. Note that the # symbol is followed by t=.

Merged Help

Using Map IDs

If you call topics using map ids, the parent and all the child projects should have unique map ids in their map files. 

If a child topic uses a map id which is same as a parent topic, then using Parent/index.htm?rhmapno=123 will result in loading the parent’s topic (if it exists). 

If for some reason you cannot avoid duplication, then use the child project’s own index.htm file path.

For example - Parent/mergedProjects/child_one/index.htm?rhmapno=123

Using URLs

Frameless Skins

Each topic has a unique URL and the help will open with all the navigation components.

Responsive Skins

If you use the URL of the topic in the format path/topic_name.htm, the topic will open without the navigation controls, the user will have to click a link to open the TOC and other controls.

To open the help with the navigation controls, you need a path that includes the start page of the help, by default that is index.htm. 

You then append #t= followed by the rest of the path to the required topic.

For example - path/index.htm#t=path/topic_name.htm

CHMs

To create CSH with CHMs (Microsoft HTML Help), use the RoboHelp CSH API described below.  It can be found at C:\Program Files\Adobe\Adobe RoboHelp\CSH_API

Using Map IDs

To call a topic using a map number, make a call to the HTML Help API using the following syntax

HWND HtmlHelp(Window(), “c:\path\helpfile.chm”, HH_HELP_CONTEXT, Number);

Using a File Name

To call a topic using the file name, make a call to the HTML Help API using the following syntax

HWND HtmlHelp (Dialog(), “c:\path\helpfile.chm”, HH_DISPLAY_TOPIC, "topicfile.htm");

Creating Map IDs

Creating Map IDs is described in Mapping.

Donations

If you find the information and tutorials on my site save you time figuring it out for yourself and help improve what you produce, please consider making a small donation.