5 Replies Latest reply on May 31, 2007 8:53 AM by Phil_Wells

    Conditional Tags in Merged HTML Help


      Im using RohoHelp 5.0.2.

      The software I write help files for is fairly modular in that the same modules crop up in diferent versions of the software.

      To make it more complicated we have two versions of our software - A & B.

      When I write the help file for each module I have two slightly different outputs for A & B using conditional tags.

      To try and keep it obvious for our developers I want to make the name of the output fairly obvious:


      When I build the master file by merging HTML files, is there anyway I can tag the imported .chm files with conditional tags so that the Version A.chm merged files end up in the Version A Help File and the Version B.chm merged files end up in the Version B Help File?

      I'm just wondering if there's a elegant way of doing it?
        • 1. Re: Conditional Tags in Merged HTML Help
          lmarden Level 2
          Correct me if I am wrong, but it sounds like you click on the Compile button up on the toolbar (or use the generate primary layout option on the File menu) to create your .chm files.

          There is a better way if you want to generate two "flavors" of help files from the same help environment, and you have used conditional tags to identify the content to go into each flavor. Sounds like you are using the conditional tags, so you are half way there.

          On the Project pane, all the way at the bottom, open the Single Source Layouts menu - you'll see each available type of output. Right click on the HTML Help option to open the popup menu, and select New Layout. You can set up a different conditional statement and any other feature that must be different than your default layout to generate your second help file. Save the layout, and then to run it, you can double click on it in the SSL menu.

          I run all my output through this menu instead of using the compile button - I actually create three different systems from one help project, using three layouts and conditional tags.

          • 2. Re: Conditional Tags in Merged HTML Help
            RoboColum(n) Level 5
            Hi Phil. You can't add tags to a CHM only to it's contents. Can you not just use the Conditional Build Expression when you compile to include/exclude the appropriate files? It means you'd have to set up multiple expressions (e.g. NOT versionA_Module1 AND versionA_Module2) but once you've done it once that's it. Then you just need to generate the help. You could even set-up an additional single source layout with the appropriate expression and the output going to a different location.
            • 3. Re: Conditional Tags in Merged HTML Help
              RoboColum(n) Level 5
              Sorry lmarden - didn't see you there!
              • 4. Re: Conditional Tags in Merged HTML Help
                lmarden Level 2
                No problem Colum - it's nice to have one's advice echoed by a guru!!!
                • 5. Re: Conditional Tags in Merged HTML Help
                  Phil_Wells Level 1
                  Hi lmarden/Colum,

                  Thanks for quick response.

                  I'm using different SSL's and build tags on the subsiduary help files. For example, for module 1 I output two files - Version A and Version B. These have the appropriate topics selected for version A and version B respectively.

                  The problems comes when I merge those files into the master project.

                  I can import both the Moldule 1 version A.chm and the Module 1 version B.chm files into the master project.

                  The problem comes with the output as the Version A ouput includes both the version A and version B files.

                  I can get round this by just calling the subsiduary file Module 1 (without reference to Version A or version B) and importing/merging this in the master file. I can then compile the Version A and Version B varients and point the outputs towards the Version A and Version B SSL directories in the master project. This means the master help files contain information specific to version A or Version B.

                  The problems if I do this is that because I've had to call the file Module 1, there's no visible difference in the files in the Version A and Version B SSL output directories in the master project - they're both called Module 1. This increases the risk that my developers will ship Version B help files with Version A software.

                  This is why I was trying to find a way to import/merge .chm files with name such as Module1_VersionA and Module1_VersionB into the master project, but control which were exported to which output SSL directory.

                  Just deleting the Module1_VersionB out of the Version A master SSL doesn't solve it (unlike I hoped) because the Version A TOC still shows the Module1_VersionB file is present.

                  As I said, I can work my way round it, but I'd rather find a way to have all the subsiduary files labelled Version A and Version B in the master file outputs because that reduces the chances of an error when the files are shipped.