Hi there Sounds like you have a fairly decent grasp on things. I think of it like this in my own mind. A map file is literally like a map that you would have all folded up and kept in the glovebox of your vehicle. It provides the route you take to get to a destination. You know where you are at any given moment. In an application, you might be on the File > Open dialog. And just as any location on our planet has "geo coordinates", where you are should have a unique identifier. So in the application, there is typically an identifier with the "geo coordinates" for that specific dialog. (or sometimes, each field within a dialog) Of course, the goal is to determine where the matching help topic is for that location. And that's what you create (or open) the map file to configure. So the developer knows their beginning locations, the help file developer knows their destinations. And it's up to the help file developer to kind of "dance" with the application developer to make it all happen. Sometimes, the application developer creates a header (.h) file with only a list of all the "geo coordinates" for each dialog or field and provides the .h file to the help file developer. If this is the case, the help file developer opens the .h file and begins the process of mapping locations to topics. And sometimes, the help file developer creates the .h file with things all mapped up and provides it to the developer. Presumably to ensure things are correctly mapped. I don't fully understand how the next bits work, but when the help file is compiled (for CHM) or generated, the map file is used. I'm assuming it is stored as a single file inside a CHM, and the calls that are made to open the help are understood by the process used to link up a CHM. I'm even more unclear on exactly what happens if a web based output such as WebHelp or Responsive HTML5 help is created. I'm aware of something known as an API comes into play. For the web based outputs, I understand that the API exists as essentially a JavaScript file that is used and the calls to open help topics contain parameters that the API understands. Cheers... Rick
... View more