10 Replies Latest reply on Nov 10, 2008 4:41 PM by Amebr-ke0mH4

    Quirky output with merged projects

    anubisascends Level 1
      Hello again.

      I have finally separated my large help file into the sections that I want. I have registered each of the .chm files that are created on the computer so I can link them and place them where I need them to go. I have also got all of the links between the .chm files complete.

      I have, now, only one problem, and I am not sure if they can be fixed or not.

      Lets say that I have two .chm files created (A and B). I have a topic in B that needs to link to A. To do this, I can create a link to a remote topic as such:

      A.chm::/Topic.htm

      Once I merge A and B into another project, I can click on the link in the B merged project and it will display topic from A and show the topic in the TOC appropriately.

      Here's the kicker: I can only use the link if I actually open the 'A' merged project in the TOC prior to clicking on the link.

      So, If I go directly to the topic in 'B', and click on the link that I created to 'A', absolutely nothing happens. Did I create the link incorrectly, or is there something else that I need to do to get this to work.

      Thank you again for all of your help in advanced.
        • 1. Re: Quirky output with merged projects
          RoboColum(n) Level 5
          Is this the same problem as covered here? If it is, you just have to add the master CHM's TOC to each sub-project.
          • 2. Re: Quirky output with merged projects
            anubisascends Level 1
            So, I need to add the Top most project's TOC to all of the sub projects, then recompile?

            I will try that out, thanks.
            • 3. Re: Quirky output with merged projects
              anubisascends Level 1
              This did not work as I expected, but I may be doing it wrong. Here is the actual structure of what I am doing:

              I have multiple .chm files

              A.chm
              B.chm
              C.chm
              D.chm
              E.chm
              F.chm
              G.chm

              Each of the above CHM files is merged into one .chm named SubParentA.chm. I have the following SubParent CHM files:

              SubParentA.chm
              SubParentB.chm
              SubParentC.chm
              SubParentD.chm

              Each of the SubParent CHM files are merged into the Parent.chm. What I did was I took A.chm and added the SubParentA.chm's hhc file, and attempted to recompile.

              The result was a copy of SubParentA.chm, with the A.chm missing. In its place was an infinite breakout of SubParentA.chm.

              Did I not understand what I was supposed to do there?

              Thanks again.
              • 4. Re: Quirky output with merged projects
                Pete Lees Level 2
                Hi, Andrew,

                I don't believe that adding one help file's TOC to another help file will fix the problem that you reported in your initial message. As far as that problem is concerned, it appears that you're coding the hyperlinks correctly. They should be in this form:

                <a href="ms-its:TargetHelpFIle.chm::/path_to/topic.htm">Text that user clicks</a>

                where the "ms-its:" prefix is optional.

                It would be useful to know if this problem arises only when you open the help system from its associated application rather than Windows Explorer. This may give some clue as to where the problem lies. Can you also verify that the locations of the help files are correctly registered (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\HTML Help)?

                The techniques for referencing one help file's TOC in another help file don't really serve any purpose other than to make the referenced TOC visible in the second file's navigation pane. So:

                1) In the TOC of a master help file, you might add an Include statement to merge the contents of a slave file's TOC into the master's.

                2) In the window definition of a slave help file, you might specify that the TOC file to use is that of the master help file. This makes the TOC of the master help file (and therefore the contents of the entire help system) accessible to anyone who opens the slave file.

                Pete
                • 5. Re: Quirky output with merged projects
                  Amebr-ke0mH4 Level 2
                  Further to merging the parent into the sub project - this functionality works a treat when done in HTML Help Workshop, but results in the infinite loop problem when done in RH - I think it was okay in RH2002 and was subsequently "broken" in X4 (possibly X5, but I've lost track of my versions).

                  With ehelp in/just finished its deaththroes and a fix unlikely, we implemented solution #2 here:
                  Helpware - Context IDs with Merged Help

                  Note: we couldn't get redirect.xhtm to be excluded from search etc, so ours is named redirect.1.xhtm

                  Opening the sub help files individually (outside) the program will only show the TOC of that help file, with no indication that it is related to any others. The inter-chm links still work within the topics, but the appropriate TOC won't display.

                  Within the app, the parent chm file is the only chm file opened, ensuring the sub chm TOCs always display. Context calls are redirected through an ini file and special redirect topic in the parent chm.

                  Because we have many large products that may or may not be available depending on who has what installed, we keep our IDs in the individual projects and generate separate ini files containing the mappings.

                  So:
                  SubA.chm has a corresponding ini file SubA.ini which contains references like:
                  1000=its:Master.chm::/redirect.1.xhtm#its:SubA.chm::/FirstFolder/FirstTopic.htm

                  Our developers kindly wrote a batch file that converts the Robohelp MAP ID report text output to a nicely formatted ini file, so all we have to do is assign IDs in RH, run the report and run the batch file.

                  Hopefully one of the solutions on this page can be of use.

                  Also, perhaps submit this functionality to the Adobe wishlist - I'll have to remember to do that myself.
                  Adobe Feature Request Form
                  • 6. Re: Quirky output with merged projects
                    anubisascends Level 1
                    Pete,

                    Unfortunately, because of the way the old help system was for the application, there was no context sensitive help setup. Even when I get these files completely done, it is unlikely that we will actually have context sensitive help in our application (a shame really, but a fact).

                    What I am doing to get this behavior is opening the topmost project's .chm file in Windows Explorer. By the way, I am using Vista Ultimate for my testing, if that matters at all.

                    I have ensured that all of the .chm files are properly referenced in registry. All of the files are stored in the following folder on the C:\ drive:

                    Program Files\ALPHAV8\Help\

                    I have tried to organize the folders so that they are not all just in one folder. To test out a few things, I have even lumped all of the .chm files into the same folder, and it does not have any positive effects.

                    Amber,

                    Thanks for the information!

                    All,
                    So, do I need to be doing this in HTML Help Workshop? Or can I continue to use RoboHelp for this? Also, each time I open a project in the HTML Help Workshop, it asks if I want to save my files, will saving anything there adversely effect how RoboHelp uses the files?

                    Thank you everybody for your help.
                    • 7. Re: Quirky output with merged projects
                      anubisascends Level 1
                      Another note on this.....


                      I found out that this only really happens on the deeply merged projects. Let me explain that a bit more:

                      As I explained before, I have several 'base' projects, several sub-parent projects, and a master project to hold them all together. I have a few sub-parent projects that do not have any child projects in them (I didn't need to break those down at all).

                      When I click a link that links two projects that are on the same level, in my structure, I get no lag or delay. So all the links between all the sub-parent projects work properly, all the links between base projects work fine. The links between base projects, to a sub-parent project however, shows the problem that I am seeing.
                      • 8. Re: Quirky output with merged projects
                        Pete Lees Level 2
                        Hi, Andrew,

                        I run into the same (or very similar) problems when I try to reproduce your issue — always when linking to a .chm file that is higher up in the hierarchy. So, it would appear that just registering all the help files may not be enough to permit you to link seamlessly between them when they are stored in different folders.

                        My guess is that you need to give the help file that contains the hyperlink some "advance knowledge" of the file that it is to link to. You can achieve this by doing either or both of the following:

                        1) Changing the window definition of a child help file so that it displays the TOC of its parent rather than its own TOC. This is the technique that is described in the "Step 3 - Slave Windows Definitions" section of the article to which Colum referred.

                        2) Adding the parent help file to the child's Merge Files list. The section called "Step 2 - The [MERGE FILES] statement" in the Helpware article is describing this technique.

                        I'd guess that you can perform both these activities in RoboHelp, but as I'm not currently a RoboHelp user I can't confirm this.

                        Good luck,
                        Pete
                        • 9. Re: Quirky output with merged projects
                          MergeThis Level 4
                          Instead of "several 'base' projects, several sub-parent projects, and a master project to hold them all together," might you be bettor off simplifying things?

                          That is, make all projects equal children and do your indented structuring in the TOC of the master? I haven't done merged .chms in years, but this method works well in WebHelp output. You could try something with copies of just a few as a test.


                          Good luck,
                          Leon
                          • 10. Re: Quirky output with merged projects
                            Amebr-ke0mH4 Level 2
                            Apologies, I should have clarified my explanation. The only work we did in HTML Help Workshop (HHW) while investigating the functionality, was to set the parent/child and child/parent merging, then compiling in HHW. All editing was performed in RH.

                            Unfortunately - and the main reason we implemented a separate workaround - was that none of the nifty RH functionality like conditional tags work when you compile through HHW. I don't believe saving in HHW adversely affects the RH code, but from memory I think RH does wipe out the merging info, so that has to be done each time. (I'm not completely certain of this, as we worked on it several years ago, and I've lost the brain cells that dealt with the issue )