13 Replies Latest reply on Dec 21, 2006 12:47 PM by MergeThis

    Context Sensitive Help

    dukeofbroadway Level 1
      I have a published RoboHelp X5 Help program. It works fine but now the company wants to add context-sensitive Help. I've been getting confused by mapping IDs, what the RoboHelp author does, and what the application coder does. Any way to make the process understandable to someone new like me? Thank you. (I just want to explain screens--no captivate videos or interactive gizmos).
        • 1. Re: Context Sensitive Help
          Captiv8r Adobe Community Professional & MVP
          Hi dukeofbroadway

          One nice place to begin is by cracking open the help file that ships with RoboHelp. Inside this file is a book labeled "Context-sensitive Help" and it's got all sorts of helpful information inside. I've used it before and it would appear the information they have is more than decent.

          Just a thought... Rick
          • 2. Re: Context Sensitive Help
            Peter Grainge Adobe Community Professional (Moderator)
            Take a look at the topic on my site about Calling Webhelp. That covers Map IDs and points to other topics on the subject such as John Daigle's topic. CHM help is a bit different for the developers but it's much the same for you.

            • 3. Re: Context Sensitive Help
              Peter Grainge Adobe Community Professional (Moderator)
              Take a look at the topic on my site about Calling Webhelp. That covers Map IDs and points to other topics on the subject such as John Daigle's topic. CHM help is a bit different for the developers but it's much the same for you.

              • 4. Re: Context Sensitive Help
                Level 2
                dukeofbroadway,

                In spite of Rick and Peter's good advice to check out well documented resources, I'm going to add a bit because often documentation only tells you one way to do things. You may have a wrench thrown into things and it helps to understand the underlying structure.

                Maybe things are better now but back in version 8, which I still use, there were three errors in RoboHelp's documentation about context sensitive help. One of the problems people have with context sensitive help is that it involes both help author and developer and there is more than one way to divide up the work load. Some depends on the tools the developer is using.

                There are also different ways to call help from the application as the developer can assign map numbers (numeric codes using HH_HELP_CONTEXT_ID) or call your topics by name (using HH_DISPLAY_TOPIC). Most developers will use the map numbers and they will generate their own numbers automatically whatever tool they use.

                The help author then needs to get these numbers somehow. Again there are options, which depend on your company's development model. You can get a file from the developer or you can read them from the application, using a tool such as RoboHelp's BugHunter or HelpWorkshop.

                Microsoft has designed help to use two files, an .hh and an .ali file. You can do context help with just an .hh file but if you do it won't work with bookmarks. The .hh is theoretically supposed to come directly from the developer and the .ali file from the help author but you may end up doing both. These are both text files so they are easy to work with outside of RoboHelp. I do all of our context sensitive help with WordPad, for example, because it works much better than this version of RoboHelp.

                FORMATS:
                .hh file (as many lines as you have map numbers) : #define TOPIC_ID map_number
                .ali file (as many lines as you have topics) : TOPIC_ID= topic_filename.htm

                In theory, you are supposed to get the .hh file from the developer, instinctively be able to decode the development team's cryptic IDs and assign them to topics.

                John
                • 5. Re: Context Sensitive Help
                  dukeofbroadway Level 1
                  I want to thank all who offered answers to my question. I am starting to work with a sample app to see how things go. By the way, was version 8 prior to X5? I am working with X5.

                  I'd still like to hear from those who can help on this topic.

                  Regards!
                  • 6. Re: Context Sensitive Help
                    RoboWizard Level 4
                    Hi dukeofbroadway

                    As far as RoboHelp naming goes, it's awfully funky. Here goes...

                    There were the following versions: (I'll just begin with version 7)
                    Version 7
                    Version 2000 (Logically version 8)
                    Version 9.0, 9.1, 9.2.
                    Version 2002 (Logically version 10)
                    Version X3 (Logically version 11)
                    Version X4, X4.1 (Logically version 12)
                    Version X5 (Logically version 13 and the latest version)

                    Hopefully this helps... Rick
                    • 7. Re: Context Sensitive Help
                      dukeofbroadway Level 1
                      You wrote:
                      >>As far as RoboHelp naming goes, it's awfully funky. Here goes...Version X5 (Logically version 13 and the latest version)

                      Can you give me an example for mapping using X5? (We want to use descriptive names -- not numbers). Thank you!
                      --Duke
                      • 8. Re: Context Sensitive Help
                        Level 2
                        Hi,

                        "Descriptive names, not numbers" could mean a lot of things.

                        If your developer is willing and able, you could call context help using HH_DISPLAY_TOPIC, where the application calls the help by topic filename. This involves no work on your side, except providing the developer with a list of topic filenames. The application simply calls "helpfile.chm::/topicfilename.htm>windowname", HH_DISPLAY_TOPIC from the HtmlHelp API.

                        It could also work that your developer provides you with a list of descriptive IDs (associated with numbers) in a header file. The developer would have called filename.chm, HH_HELP_CONTEXT, mapnumber. You then attach these to topics (by ID) with RoboHelp - perhaps someone else (or RH's help file) can point you to the specific X5 dialog. In older versions of RoboHelp it was "Map IDs" in the "Edit" menu.

                        Good luck.

                        John



                        • 9. Re: Context Sensitive Help
                          dukeofbroadway Level 1
                          I decided to follow RoboHelp's online Help and do it their way. So I created created the ids and mapped the files, etc, as they instructed but when I generate the WebHelp I cannot find the WebHelp folder--not even in the !SSL! folder. What am I doing wrong? This is so confusing! Anyone, please help (I've already looked at all the references above).
                          • 10. Re: Context Sensitive Help
                            RoboWizard Level 4
                            Hi dukeofbroadway

                            If you expand your Single Source Layouts pseudo folder and double-click the WebHelp layout, what do you see in the field labeled: Select Output Folder and Start Page? Pay close attention to the path you see there. Assuming that you aren't having issues that cause the generation process to abort, the location specified here should show you the way.

                            Cheers... Rick
                            • 11. Re: Context Sensitive Help
                              Level 1
                              Related question: I have defined a custom window for my HTML Help output. This window includes tabs for Contents, Index, and Search. I have auto-assigned map ids for all topics. I want to call context-sensitive help in a different window (one that doesn't have the tripane options enabled). I created a new window, and I then attempted to pass this window name to RH's Context-sensitive Help Test Tool. Unfortunately, it doesn't recognize the window name, so it spits out the F1 help in the full tripane window.

                              How do I include the secondary window in the main CHM so that context-sensitive help calls display in a different window? Do I have to provide a separate CHM file whose default window is the single-pane version?

                              Thanks.
                              • 12. Re: Context Sensitive Help
                                dukeofbroadway Level 1
                                Hi RIck,
                                Your answer is a bit cryptic for my lack of knowledge so I will take a guess and ask if the following path sounds right:

                                1: C://...\!SSL!\WebHelp\
                                a: (Yes, I want "WebHelp" generated on the C drive)
                                b: Do I need anything before "\!SSL!\WebHelp\"?

                                2: Do I need the name of the project after \WebHelp\ ? The project name, for example would be "ACME_icm.htm"--do I put this project name after \WebHelp\ ?

                                3: As I said, I already created a working RoboHelp Online project. Now here's the confusing part for me: The company I am working for wants context-sensitive help to work this way:
                                a: User is at application, let's say the "logon page", and the user, according to what my company wants, is suppose to click the HELP button on this page to learn how to use log on.
                                b: The company wants the Help window to pop up with Log On information topic display (ok, makes sense so far). Now here's the confusing part for me: The company I am working for wants the Full RoboHelp Project to be included in the popup Help window.

                                Any ideas if this will work and how I do it? (I am creating one window with one pane--does this sound right?)
                                • 13. Re: Context Sensitive Help
                                  MergeThis Level 4
                                  Back to basics...

                                  Assume your project is:
                                  C:/MyProjects/ProjectA [includes ProjectA.xpj, etc.]

                                  The first time you decide to generate your WebHelp output, RH will helpfully give you a default start page called:
                                  C:/MyProjects/ProjectA/!SSL!/WebHelp/ProjectA.htm

                                  You can change this path at any time,

                                  Three points:
                                  1) The start page is simply a set of browser instructions for laying out the multi-pane output (there is no content); Good practice is to always use index.htm (the W3 standard).
                                  2) The default page is what you want as the "home page."
                                  3) If they call TopicB3 directly, they will effectively bypass the start page.

                                  Another business idea to consider: the brief instructions for logins, information messages, wizards, etc. can be either tooltips created by the developers or separate, stand-alone help projects. The full WebHelp project would contain everything else (OS & platform requirements, procedures, reference material, etc.).

                                  That might be simpler to create and maintain in the future.


                                  Good luck,
                                  Leon