Hello,
I am currently stumped with a problem related to excluding unused Map ID files in a Responsive Html 5 project. I suspect I may be approaching the problem wrong.
My project is online help documentation for our website, and we have a total number of around 150 different topics used in 6 different final versions. The 6 final products are very similar and reuse much of the same content. I originally tried to share resources so I could have 6 separate projects, but I learned that you cannot share layouts between project, so I went another route. Instead, I created a single large project, and the 6 final products are now distinguished by the compiler settings: each has a unique Title Bar, output folder, branded layout, TOC, Variable Set, Default Topic, and Map files—all of which are contain in my single master project. This works fairly well, and by excluding unreferenced topics, I can successfully use my master project to generate 6 unique sub projects that do not contain any inapplicable content. Our website then calls the Map ID numbers I set for the topics for context-sensitive help, and it works fine.
There are two primary downsides to this method:
1) It doesn't appear that RH was intended to work this way, and it's a pain to keep the 6 separate Map files updated with the correct topics, since there's no way to automatically create or update a Map file by TOC. To do this, I have imported my 6 TOC (.hhc) files into Excel, cleaned out the unnecessary data, pasted it back into the map.h file, and then made sure the alias (.ali) file updates properly. It works fine doing it this way, but it’s a pain to set up and maintain.
2) There is no way to save 6 separate versions of the Responsive HTML 5 compiler settings, so I have to manually reenter all my variables each time I generate the 6 different versions, which leaves a lot of room for human error. In an effort to get around this, I tried to create a copy of Responsive HTML5.ssl file for each of my six versions after setting all of the appropriate variables. By keeping these 6 HTML5.ssl files in separate folders, I can simply grab one and then overwrite the file in my main project to effectually save and load a specific configuration of compiler settings. This works, but I think I may have corrupted the HTML5.ssl somewhere along the lines by doing this. Now when I generate any of the 6 versions and choose the option to excluded referenced topics, the output folder now somehow includes the opposite Map files that I select: for example, for final product C, I chose to include Map file C.h and select “exclude unreferenced topics,” but after compiling, when I look in the output folder, I now see Map files A, B, D, E, and F. It’s as if the exclusion variable has been corrupted in the HTML5.ssl file somewhere and it's now opposite day.
In order to resolve the issue, I suppose what I need most is to figure a better way to either A) save my compiler settings for each of the 6 versions, and/or B) figure out another way to organize my project so that I can still generate a unique product that excludes all topics not referenced in that particular TOC. I would also very much like to know if there is an easier way to generate a list of Map IDs for only topics in a specific TOC.
The answer to all my problems may be that I need to force myself to go back and create six separate projects with shared resources (knowing that I can’t share Layouts), but I don't want to jump to this without trying to first figure out as I have it structured now. Any thoughts are greatly appreciated!
I am using RH 11.0.1.235.