10 Replies Latest reply on Mar 28, 2008 2:03 AM by Peter Grainge

    1st row of ALI-file does not work

    Spotuser
      Hi,

      Me and my colleagues have been wrestling with a weird issue the last few days.

      We’re working at a software company making a Windows application.
      We are using RoboHelp 7 to create a CHM for this.
      In RoboHelp we’re adding lots of Map IDs, and assigning these to various topics in order for the HELP buttons in the application to launch specific topics.

      For example, we could create a topic that has the HTML file: bar_chart_properties.htm
      This we’d create a Topic ID for: bar_chart_properties
      …and map this to a Map Number: 100120

      The developers here would then use this Map Number to hook up the appropriate HELP button to launch the CHM on the proper topic. Everything works fine so far.

      RoboHelp has two files that are relevant for context-sensitive help mapping.

      BSSCDefault.h which looks like this and maps Topic ID to Map Number:
      #define intro_introduction 10000
      #define cross_how_to_use_the_cross_table 102000
      #define bar_how_to_use_the_bar_chart 103000


      myProject.ali which looks like this and maps Topic IDs to HTML-pages:
      bar_properties_fonts=bar\bar_properties_fonts.htm
      curve_details_reference_line=curve\curve_details_on_reference_line.htm
      load_details_on_search_for_the_missing_file=load\load_details_on_search_for_the_missing_f ile.htm



      Okay, so here’s the issue: the topic that happens to be on the first row of the ALI-file will not open, when clicking the HELP button for that.
      We’ve tested this pretty extensively. Doesn’t matter which topic it is - if it’s on the first row, it won’t work.
      We tried running RoboHelp on both Windows XP and Windows Vista to see if that had any relevance, but no.
      For a while we thought it was the presence of a so called UTF-8 BOM marker at the beginning of the ALI-file, but that had no impact.
      It’s just the first row that somehow doesn’t get properly handled when compiled into the final CHM.
      If we edit the ALI-file and change places between topics, and then open RoboHelp and compile a new CHM - then the new topic that is on the first row will not launch from the corresponding HELP button in our application.

      Anyone else have encountered similar issues? And have suggestions for how to solve the issue, or a workaround?

      We tried placing a dummy entry at the top of the ALI-file which sort of works, but as soon as you edit a Context ID from within RoboHelp, it shuffles all the entries in the file, seemingly at random, so the dummy entry gets moved.

      Best regards,
      /Tom Lindahl
      Sweden
        • 1. Re: 1st row of ALI-file does not work
          Level 2
          Hi Tom,

          I have never seen this myself and I have done a lot of context-sensitive help, although I have an older version of RoboHelp. The latest versions of RH have been more directed at WebHelp and single source development, so I don't know what might be added to the CSH source files specifically for those other formats.

          The .h and .ali files are text files and need not have any info except the #define MAP_ID mapnumber (.h or .hh file) and MAP_ID=topic name (.ali file).

          I actually do all of my context help in Wordpad and don't touch it from within RoboHelp. It might be possible for you to do this as well. It is not as daunting as it might sound as long as you are not making huge changes from version to version. In fact, I find it easier than the RH dialog.

          John
          • 2. Re: 1st row of ALI-file does not work
            Pete Lees Level 2
            Hi Tom,

            I believe you need to change the encoding in your .h and .ali files from UTF-8 to ANSI. (You can use Notepad to do this.) If either or both files use UTF-8 encoding then you'll encounter this problem.

            Pete
            • 3. Re: 1st row of ALI-file does not work
              Spotuser Level 1
              Thanks for the answers,

              I tried saving both the .h and .ali file in ANSI encoding from Notepad, then starting up the Robohelp project and building my CHM right away. Tested it, and same problem is still there - the topic listed on the first row of the .ali file will not work.

              We've not noticed this problem in previous versions of Robohelp. We've used X5 for a long time before upgrading to 7 some months ago. Maybe something broke in the Robohelp code when Adobe introduced multi-language support and all that?
              • 4. Re: 1st row of ALI-file does not work
                Pete Lees Level 2
                Tom,

                quote:

                Maybe something broke in the Robohelp code when Adobe introduced multi-language support and all that?


                That certainly sounds possible. Is compiling outside RoboHelp an option, either with HTML Help Workshop or from the DOS command line (using the command hhc YourProjectName.hhp)? That would permit you to change the encoding of the two files to ANSI without having RoboHelp change them back to UTF-8 at compile time.

                Pete
                • 5. Re: 1st row of ALI-file does not work
                  Spotuser Level 1
                  Well, I guess the most straighforward workaround is to manually edit and make sure that the ALI-file has a dummy topic on the first row, before building the CHM from Robohelp. It's not every day that we add or change the context-sensitive help parts of the project, so I guess one can make a note of manually checking the ALI-file before building after doing changes to context-sensitive mappings.

                  We do have to build from within Robohelp since we use conditional build tags and such.

                  Thanks again for your response!
                  • 6. Re: 1st row of ALI-file does not work
                    Pete Lees Level 2
                    Would be worth reporting this problem to Adobe via the Bug Report form, which is here:

                    http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform&product=38

                    Pete
                    • 7. Re: 1st row of ALI-file does not work
                      Fly Molo Level 1
                      We've encountered a very similar problem. Seemingly random topics (not just the first one listed on the ALI file) have ceased to function in the context-sensitive sense. Changing the encoding back to ANSI on the .H and .ALI files help. It's just that we've got 35,000+ topics across 20+ help projects (I'd ballpark .hh files at 100+) and many of these files are modified often.

                      I'll definitely file a bug report, but this has become a big hassle for us. (And a release is due Friday...argh.)

                      I don't suppose anyone has heard from Adobe on this issue? (I know it isn't likely.)
                      • 8. Re: 1st row of ALI-file does not work
                        MortenMueller
                        No news I'm afraid. Just wanted to share with you that we experience a somewhat similar problem with CSH, which appears when we change values of user defined variables; see http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=65&catid=449&threadid =1344542&enterthread=y . We've bug reported the problem to Adobe.
                        • 9. Re: 1st row of ALI-file does not work
                          Spotuser Level 1
                          Ah, looks like there's more of us that has similar problems then. Strange that some of us get things to work by saving the .h and .ali files in ANSI format and some not.

                          Anyway, I've bug reported this with Adobe as well.
                          • 10. Re: 1st row of ALI-file does not work
                            Peter Grainge Adobe Community Professional (Moderator)
                            OK guys, an update to the "1st row of ALI-file does not work" problem. Hopefully this workaround will help.

                            Generate your CHM with exactly the same name as your project. So myproject.xpj means your chm has to be myproject.chm. You can rename it after generation.