6 Replies Latest reply on Apr 24, 2008 7:05 AM by Wugs

    Context-Sensitive Help and Merged Projects

    tripwire45 Level 1
      I have a master project and 4 subprojects created in HTMLHelp and thus far, everything seems to be working ok. I'm fast approaching the point where I need to start developing the context-sensitive help. I understand that I'll need to get the map numbers and topic IDs from the developers to create the map files so that when customers click Help or F1 on a particular page, a window will open with a specific help topic displayed. I've gone through at least some of the RoboHelp help files on the subject (there are a large number of them) and have acquired (I think) a basic understanding of the process.

      I've also taken a look at Peter's website to see if there is a more "human-friendly" tutorial on the subject and found something written for WebHelp. While I understand that WebHelp and HTMLHelp are two different "critters", can anything there be applied to my current situation? I'm particularly concerned with making sure context-sensitive help works in a merged set of projects. Here's the link in question:

      http://www.grainge.org/pages/authoring/calling_webhelp/using_map_ids_merged.htm

      I want to get "all my ducks in a row", at least as much as I can, before approaching the developers with requests for map files. I'm creating this thread *before* I hit a snag to try and head off creating a problem for myself. Opinions are welcome. Thanks.

      -Trip
        • 1. Re: Context-Sensitive Help and Merged Projects
          ---Dirk_Bock Level 1
          Trip,

          setting up context sensivity for H'TML help can be easy or complicated, depending on your requirements.

          The very easy way: Set up your master and slaves as essentially independent helps. Users will see a separate help when calling up context-sensitve help for a slave.

          The sort of easy way: Do the same as above but define the window name of all project as $global_<your desired window name>. This will let all helps shown in the same window. You can seamlessly navigate from the ToC to any part of your help system. When calling up context sensitive help for a topic of one of your slaves, the user will see the ToC for this slave only.

          The cool way: Do the same as above and open the Advanced Properties dialog box of the Window Definition in each of your slaves. In the field Table of Contents, enter:

          <Master>.chm::/<Master>.hhc

          where <Master> would be the name of the CHM of your master project.

          You can also use:

          <Master>.chm::/<Homepage of your master>.htm

          in the Home field, where <Homepage of your master> is the internal path and filename of the homepage of your master project.

          This way would give you the complete merged help system regardless of how it is called up. So when the user calls up context sensitive help of one of hte slave topics, he sees this topic and the complete ToC of all projects. When clicking Home, he is referred to the homepage of the master.

          The problem is that RoboHelp - at least up to version X5 - likes misinterpreting this settings and writing a defective HHP for the compilation. This may result in a slave help without any ToC, e.g..

          If you seldomly have to re-compile a slave, this leads to great results, but if you overhaul your projects regularly, expect to spend some time on getting it straight every now and then and be prepared to learn working with MS HTML Help Workshop and/or FAR to do the final compilations.

          Regards

          ---Dirk Bock
          • 2. Re: Context-Sensitive Help and Merged Projects
            tripwire45 Level 1
            Thanks, Dirk. I found out that the developers submit the map files to me but there is no information about the project I'm working on that's available yet, so I'll have to wait to do any of the work.
            • 3. Re: Context-Sensitive Help and Merged Projects
              MergeThis Level 4
              You say: "the developers submit the map files to me..." If that will be the case, I would suggest that you set yourself a reminder (Outlook?) to request a new .h file from the developers on a regular basis. They'll be constantly changing windows and fields without giving any thought to the Doc writer's need for updated info. This will be your responsibility: embrace it and be happy!


              Good luck,
              Leon
              • 4. Re: Context-Sensitive Help and Merged Projects
                tripwire45 Level 1
                quote:

                Originally posted by: MergeThis
                You say: "the developers submit the map files to me..." If that will be the case, I would suggest that you set yourself a reminder (Outlook?) to request a new .h file from the developers on a regular basis. They'll be constantly changing windows and fields without giving any thought to the Doc writer's need for updated info. This will be your responsibility: embrace it and be happy!
                We use Lotus Notes here, but thanks. Actually, the developers are supposed to update a text file in Subversion that I then access for the updated topic IDs and map numbers but yes, the lot of a technical writer's life is to continually pester the developers for information. ;-)

                • 5. Re: Context-Sensitive Help and Merged Projects
                  mjp 321
                  quote:

                  Originally posted by: ---Dirk Bock
                  Trip,

                  setting up context sensivity for H'TML help can be easy or complicated, depending on your requirements.

                  The very easy way: Set up your master and slaves as essentially independent helps. Users will see a separate help when calling up context-sensitve help for a slave.

                  The sort of easy way: Do the same as above but define the window name of all project as $global_<your desired window name>. This will let all helps shown in the same window. You can seamlessly navigate from the ToC to any part of your help system. When calling up context sensitive help for a topic of one of your slaves, the user will see the ToC for this slave only.

                  The cool way: Do the same as above and open the Advanced Properties dialog box of the Window Definition in each of your slaves. In the field Table of Contents, enter:

                  <Master>.chm::/<Master>.hhc

                  where <Master> would be the name of the CHM of your master project.

                  You can also use:

                  <Master>.chm::/<Homepage of your master>.htm

                  in the Home field, where <Homepage of your master> is the internal path and filename of the homepage of your master project.

                  This way would give you the complete merged help system regardless of how it is called up. So when the user calls up context sensitive help of one of hte slave topics, he sees this topic and the complete ToC of all projects. When clicking Home, he is referred to the homepage of the master.

                  The problem is that RoboHelp - at least up to version X5 - likes misinterpreting this settings and writing a defective HHP for the compilation. This may result in a slave help without any ToC, e.g..

                  If you seldomly have to re-compile a slave, this leads to great results, but if you overhaul your projects regularly, expect to spend some time on getting it straight every now and then and be prepared to learn working with MS HTML Help Workshop and/or FAR to do the final compilations.

                  Regards

                  ---Dirk Bock


                  • 6. Re: Context-Sensitive Help and Merged Projects
                    Wugs
                    Hello, I have multiple slave files which I have already tried to link back to the master TOC as described. I found the robohelp build loses the TOC as mentioned. We have too many slave chms to fiddle with workshop each time we edit if this is a long term problem. Is there any way to find out if this problem is on the list of future fixes, hopefully for Robohelp8. If we knew this was the case, we may be able to justify a short term workround.
                    Thanks