I need confirmation on how map files work.
I have created a map file previously and have updated the HTML help with a few new topics and changed the Title on a handfull of topics.
The map file setup is done for the new topics, but I am thinking I need to "fix" those topics whose title has changed.
I have opened the Map.h file I created and looked at the references, for simplicity sake lets say it looks like this:
#define Dials_Setup 1
#define Project_Setup 2
#define Scenario Scenario_Setup 54
I assume the mapping process goes like this:
(1) I hand off map file and the CHM help file
(2) Developer addes the ID of "2" to the Project Setup window form
(3) When the user is on the Project Setup window, they press F1
(4) The Project Setup window form gets the ID of "2"
(5) The Map.h file translates the "2" to "Project_Setup" topic title
(6) The CHM is opened to the topic with a title of "Project_Setup"
So, if I changed the title of the topic from "Project_Setup" to "Project_Setup_Window" would I have to update the line item in the Map.h file from "Project_Setup" to "Project_Setup_Window" for the mapping to work and the client to see the correct topic when the press F1?
I am thinking these all need to be in sync between the Map.h file and the CHM file.
As always, thanks for any guidance.
Michael F Weart
You have it right - basically. I'll just add a few notes.
Yes. Typically you would give the .h and the .chm file to the developer. However, sometimes the developer will give you a .h file created from their IDE tool (e.g., Visual Studio). In that case, you would Import the .h file into your RoboHelp project and map it that way. Or it can be a combination as long as there are no duplicates of Map #s or Context IDs. Another tip: You can also generate a Map File Report (Tools > Reports > Map IDs) which can be a handy guide for the developer.
Note: The alphanumeric string for the Context ID (sometimes also called a Topic ID) does not necessarily have to be formed from the Topic Title. The reason it may seem that way is because RoboHelp uses the Topic Title as a matter of convenience to help you keep track of the which topic is being mapped. The main thing is that there are no duplicates and RoboHelp has a report for that as well. In Microsoft HTML Help (.chm), the actual mapping from the .h Map # to the URL of the actual topic can be found in the .ali (alias) file which can be found in your Project root. The .ali file is compiled into the .chm itself.
Here is a good Online Help topic with more details:
Rob Chandler has really good documentation for Microsoft HTML Help which you will find here:
Adobe Certified RoboHelp and Captivate Instructor