16 Replies Latest reply on Jul 12, 2011 10:00 AM by Karen Graf

    I give up - how are parent/child .chm links maintained?

    Tech Writer KC Level 1

      I've been following the letter of the law (help) for three versions now - RH6, RH7, and now RH8 - and I give up.


      What is the magical mystery proper way of maintaining parent/child .chm links in RH8???


      Current issue: Since converting projects to RH8, when searching in Help the "Location" display for results reverted to older project names - e.g. "Product08" instead of just "Product", or "Installing Product" instead of "Product Install". I finally tracked this down to the Project Settings, which apparently retains the original name of the project file even after the actual project files and .chms were renamed.


      The issue is that after updating these settings, recompiling the child projects and then the parent project, the changes are not showing up, and it seems like 4-5 times a year I have to fight RoboHelp to properly show children projects - I'm constantly encountering missing links, failure to display updated content, doubled search results, empty Index files, etc etc etc. Always seemingly triggered by one simple change here or there, without rhyme or reason. I have followed the RH help file instructions for four years now, and I give up pretending that the current system is working on our end.


      So, please, someone, in a dumbed down spelled out Idiots Guide for Dummy Tech Writers for RH8, step by excruciating step, how in the (world) do I maintain such links whenever I make a change in a child .chm? Based on earlier advice, our parent child is pretty much barebones and serves mostly as a shell with links to the children, where all the actual content is held. IE our parent rarely needs updating to its own content, usually once a year for the copyright notice we put on the main title page.

        • 1. Re: I give up - how are parent/child .chm links maintained?
          Peter Grainge Adobe Community Professional

          I work mostly with merged webhelp and have only looked at merged CHMs from an academic point of view. However, the topics on my site do include a section on merged CHMs with RoboHelp 8.




          Whether or not that will help you identify your problem is another matter.


          See www.grainge.org for RoboHelp and Authoring tips



          • 2. Re: I give up - how are parent/child .chm links maintained?
            Amebr Level 4

            One thing we found that help was to ensure that no chm files exist in any of the projects. The main problem is the parent, as RH insists on adding the child chm files to the project, when this is unnecessary. We just delete the chm files and live with the "missing topic" icon in the baggage files - a few hoops need to be jumped through (mostly to do with source control) if you need to change these files, but luckily this is a rare occurrence for us.


            We compile into a folder within our project structure called "Output" so that is the only chm we expect to find within each project. Peter's site recommends compiling outside the project structure which might help minimise some of these issues.


            Additionally, check the [MERGE FILES] section of the parent hhp file.

            1. If there are hardcoded paths to each chm, you may need to compile twice using the following steps. i. compile. ii. open the hhp and delete the paths, leaving on the child chm names. iii. re-compile.

            Some people report that deleting the paths before the initial compile is enough, but I prefer the double-compile to be safe.


            2. Ensure that ONLY the child chm files linked into your TOC are listed. If there are old files that are no longer linked in your TOC, manually delete those entries. Sometimes historical references get left in for some reason.


            We include a search test as part of our release process. This will detect doubled search results and hard-coded paths in the hhp file. Just copy the new chm into a folder with the parent and a few other child chms. open the parent and search on a term that is in all/multiple files.


            If the path is hardcoded, you'll only get results in one file (the parent).


            Usually if we find doubled results (one link will work and one link will show an error page) a re-compile fixes the issue without us making any other changes.  I don't exactly know why this occurs, but it seems to occur if we have extra chm files anywhere in the project folders - RH sort of seems to compile the chms in, even though they aren't actually referenced in the project. Another clue this has happened is the file size will be twice normal.




            • 3. Re: I give up - how are parent/child .chm links maintained?
              Tech Writer KC Level 1

              We seem to have similar issues in terms of the hardcoded paths in the hhp files. I would love to find out how they get these paths, as we compile all of our CHMs into a single folder (we did this to make it easier for the devs to grab the help files when making CDs or zip files of our software), yet the hard-coded paths are always to what would be the default pathway inside the individual project SSL folders. It just feels like these paths are written somewhere and if I could only find and delete the 'source'....


              I've tried deleting the child CHM copies that get stored inside the parent project, but this seems to cause more issues.

              • 4. Re: I give up - how are parent/child .chm links maintained?
                Karen Graf

                We have just upgraded to RoboHelp 9 from version 7.  We are experiencing the same problems.  We used to be able to edit the HHP [MERGE FILE] section to get rid of the hard-coded paths, but this doesn't work in RoboHelp 9.  The hard-coded paths always come back.  We can't get the projects to merge no matter what.


                Any answers yet?

                Karen Graf

                • 5. Re: I give up - how are parent/child .chm links maintained?
                  Tech Writer KC Level 1

                  Haven't heard anything more.


                  Not sure how much this will help, but when I first started at my current place, I found our existing Help had been corrupted/lost at some point, as all of the projects had been recovered from CHM files. Further corruption may have been involved, no one here seems to know what happened, but for the world it looked like maybe a hard drive failure or something else had resulted in the original projects being completely lost and they did the best they could with what they had (by using the recovery feature to retro-create projects from the saved CHMs).


                  I mention this only because the recovery process seemed to hard-wire pathways that kept reappearing in the HHP file no matter what. After asking here and doing other research, there were a couple things that IIRC were suggested as remedies for the issue:


                  1. Our help is organized as one parent .chm and multiple children. Out of frustration, I eventually built a new replacement parent from scratch. This seems to have helped, although everytime we upgrade (from 6 to 7, and then 7 to 8), it pops back up. Unfortunately, I don't have the permission to take the necessary time to do the same with our children files, which I suspect might help with that issue. For now, it's simply been easier to create a new parent from scratch every time we convert our projects to a new version of RoboHelp.


                  2. The hardcode paths seem to be re-added to the HHP whenever the parent project is changed, ie adding new content or something else. As a result, I stripped everything out of the parent so that it's basically a shell. It only has two topics - a title page and an 'about' page - and the TOC is otherwise nothing but links to the children CHMs. The point being is that our parent project only gets updated rather infrequently, as we're at the point that we're not commonly adding or deleting children projects, just updating or adding/deleting to the content within the children.


                  Even if you haven't had any kind of recovery/corruption issues, it might help to A) replace the parent with a brand new one (from scratch), just to see if something is hanging up in your current one (esp with a recent conversion), and B) if possible empty the parent as much as possible so that it itself isn't being updated.


                  I have also found that usually you can "cheat" and update the children without having to recompile the parent everytime. I guess basically my solution is to create a brand new parent and then touch it as minimally as possible! (sad but true)


                  Hope one of those suggestions is applicable to your situation. We just went to 8, so I have no idea what goes on in 9....

                  • 6. Re: I give up - how are parent/child .chm links maintained?
                    Karen Graf Level 1

                    Thanks for the info.  Even though the parent topic only has two topics, I'll try re-creating it to see what happens.  The hardcoded merged child paths in the MCMaster.hhp are still giving me a headache!  I've tried everything.


                    Thanks again,


                    • 7. Re: I give up - how are parent/child .chm links maintained?
                      Karen Graf Level 1

                      Sorry to report that re-creating the parent file from scratch didn't work.  I still get the offending script line error message in the child projects:


                      HHC3004: Warning:
                      MCMaster.hhc :
                      The HTML tag "?xml version="1.0" encoding="utf-8"?" is not a valid HTML tag (it does not begin with an alphanumeric character).


                      Anyone else have ideas?


                      • 8. Re: I give up - how are parent/child .chm links maintained?
                        Peter Grainge Adobe Community Professional

                        I need some help here as I just created a merged CHM setup in RoboHelp 8 and the first stage was fine, all the links worked OK. I noticed though that updates to the Index were not taking.


                        At that point I trashed ALL the CHMs in the projects and compiled again to the separate generate folder. I also use those CHMs when creating cross topic links. I then saw Amber recommended deleting ALL other CHMs so we are at one there.


                        That workflow is described in me Merged Help article for RoboHelp 8.


                        I then upgraded the three projects to RoboHelp 9 fully expecting it to break. It is still working just fine. In each project the CHMs deleted show as broken baggage files but it doesn't affect the output because the required CHMs are in the generate folder.


                        I'm happy to share the test projects to see if anyone can break them and I am happy to look at one of the merge setups being reported as broken.


                        See www.grainge.org for RoboHelp and Authoring tips



                        • 9. Re: I give up - how are parent/child .chm links maintained?
                          Karen Graf Level 1

                          Hi Peter,


                          Thanks for your reply.  I'm experiencing what I think are two separate issues as follows:


                          1. To merge all projects from the top down and bottom up, I used to be able to edit the [MERGE FILES] section of the HHP files to use relative paths.  Now, in RoboHelp 9, my manually edited [MERGE FILES] section of all HHPs are being overwritten with hard-coded paths at the final compile, resulting in child projects not being merged. They don’t "see” the master/parent CHM or each other.
                          2. When I compile with Robo 9, McMaster.hhc (the parent project) cannot be used by child projects.  After I compile all the child projects, I then compile the parent (Master) project and copy the HHC down to the child projects to complete the merge.  Then when I compile the child projects again, the Outlook View displays the following error message but RoboHelp says it compiles "successfully" anyway:

                                       HHC3004: Warning:
                                       MCMaster.hhc :
                                       The HTML tag "?xml version="1.0" encoding="utf-8"?" is not a valid HTML tag (it does not begin with an alphanumeric character).


                          However, when I view the help projects, the TOCs and Indexes are not populated.  The tabs are there, but blank.

                          I have logged this as a bug with Adobe.


                          I can get the help system to merge if the user opens it from the master/parent project if I manually edit the McMaster.hhc, but if they access the help through a context-sensitive project (from a Help button), they can only see that help project contents, TOC, and Index.  There's no way the user can access all the other CHMs.  This is directly related to the [MERGE FILES] section being overwritten with hard-coded paths.


                          The one thing I'm not doing is generating the CHMs to a separate "generate" folder, but I don't see that to be a problem, do you?

                          I have been successfully merging many RoboHelp projects since before RoboHelp 2002, but with RoboHelp 9, I'm stuck! 

                          I'd be grateful if I could take a look at your test merge project results.


                          Thank you!


                          • 10. Re: I give up - how are parent/child .chm links maintained?
                            Peter Grainge Adobe Community Professional

                            A merge should always be accessed via the parent and if you access a child direct, I wouldn't expect to see the full merge TOC. If I am understanding you correctly that is what you want and have been able to achieve with up to and including RoboHelp 8. Correct so far?


                            I do think it worth making a copy of your projects and then trying the method of using a separate folder for generation, after trashing all other CHMs in the project.


                            I will zip up the projects I have been testing with in 8 and 9. Email me via my site and I will then reply with a link to where you can download.


                            Bear in mind most of my work is with merged webhelp. I wonder why?


                            See www.grainge.org for RoboHelp and Authoring tips



                            • 11. Re: I give up - how are parent/child .chm links maintained?
                              Karen Graf Level 1

                              Yes, you are correct.  Up until RoboHelp 9, I've been able to merge all the CHMs no matter how the user accesses the help.  I have been doing this by manually editing and maintaining the [MERGE FILES] section of all HHP files.


                              We updated from TCS 1 to TCS 3, so I've never used RoboHelp 8.......we went from RoboHelp 7 to RoboHelp 9.  The merge process has been getting more difficult with every version release, and finally, I can't work around this issue.  I wish there was a tool that could compile the projects outside of RoboHelp like Help Workshop used to.  We tried FAR, but it did not work.


                              I will try compiling the CHMs to a separate folder.




                              • 12. Re: I give up - how are parent/child .chm links maintained?
                                SHAuthor Level 1

                                We have the same problem with linking merge files. The manual workaround in the MERGE FILES-section in the HHP-file worked for RoboHelp 8, but does not seem to work for Robo Help 9 (search in the child CHMs does not work). If anyone has found a solution to this problem we would be very thankful for any hints.


                                Thank you.

                                • 13. Re: I give up - how are parent/child .chm links maintained?
                                  Karen Graf Level 1

                                  Maintaining Manually Edited [MERGE FILES] section of your HHP files.


                                  Important: Although we’ve repeated this procedure successfully, it has not yet been fully put through the hoops by all our authors.  This is still in a test-bed cycle, and we are refining the procedure. This is only a suggestion for anyone who wants to try it.  You should absolutely back up your projects first. Any testing of this procedure must be on a copy. Please use these suggested steps at your own risk.

                                  Good luck!



                                  Perform the following procedure for each help project in your RoboHelp V9 merged help system.

                                  1.       Delete the help project’s CPD file.

                                  2.       Using Notepad, remove the [MERGE FILES] section from the project’s HHP file.

                                  3.       Using Notepad, remove all <file> entries from the <mergedhelpfiles> section in the project’s XPJ.

                                  4.       Double-click the XPJ file to load the project into RoboHelp 9.

                                  5.       In the TOC pod, add all CHMs that are part of the merged help system, as follows:

                                  a.       Copy all CHMs—except the master (parent) project—into the project’s folder.

                                  b.      In RoboHelp, click the New Merged Project button.

                                  c.       In the Merged Project dialog box, select one of the CHM files, and make sure that its matching HHC file is also selected.

                                  d.      Repeat steps a through c for each CHM file you copied into the project.

                                  6.       Save the project, and generate the HTML help.

                                  7.       From the TOC pod, remove the CHMs you just added. (Do not remove the actual CHM files from the project’s folder.)

                                  8.       Save and generate the HTML help. The [MERGE FILES] section of your project’s HHP file should now contain only the names of the merged CHM files, not the hard-coded paths.




                                  • 14. Re: I give up - how are parent/child .chm links maintained?
                                    Karen Graf Level 1

                                    Sorry about the numbered formatting not holding on my last post, but I think you'll get it.





                                    • 15. Re: I give up - how are parent/child .chm links maintained?
                                      brenwine Level 1

                                      We recently upgraded from RH7 to RH9 and had this same problem. We've been using merged projects and updating the HHP file manually since RH5. After upgrading to RH9, we were shocked and dismayed that updating the HHP file no longer worked. So we tried the workaround posted here, and it worked like magic. I wanted to post a follow up as one more success story and also to note that the workaround isn't as complicated or dangerous as it seems. Basically, you're just remerging all the child projects. What's interesting to me is that that this workaround suggests using the workflow originally recommended for merging projects in RH5. At the time, it didn't work properly, so you had to use the workaround of updating the HHP manually. So to me it seems it's not so much that the HHP workaround is broken but that the original issues are fixed, rendering the old workaround unnecessary.


                                      One thing to note... because of old issues we have a (perhaps irrational) fear of keeping the child CHMs in the master project folder. So we deleted them after adding them for the purpose of remerging, and everything is working fine... so far.



                                      • 16. Re: I give up - how are parent/child .chm links maintained?
                                        Karen Graf Level 1

                                        Hello Brenda,


                                        I'm glad to hear you had such great results.  I'm happy that my forum post helped you out.