5 Replies Latest reply on Apr 29, 2010 2:04 AM by Amebr

    Context Sensitive Help - RoboHelp 8

    MeWrite Level 1

      Ok, I have read several CSH threads and I've succeeded in confusing myself even more. So here's the scenario.


      I have been hired on to create customized help for a software product that is using .Net. The vendor of the software company has provided the .CHM files and the .MAP files, no source files. I could get them if I push, but the help is IMHO no worth the hassel. I haven't created context sensitive help in years and the last time I did we used the .h files and gave them to the programmer. Since I have been given MAP files I'm hoping it's easier to leverage something, though I've never mapped to a URL file like this.


      Assumption 1: The CHM files are not going to be used nor are they needed because I am going to create a FlashHelp output.

      Assumption 2: Use the map files provided, no need for me to create a MAP file via RH.

      Assumption 3: Change the HelpFile name to the new flashhelp file.

      Assumption 4: Change the path in the HelpTopic to the new one created in FlashHelp.


      Question 1: How do I link our new help topics to their MAP files? I tried to import their files, but they end in a .MAP extenstion and RH doesn't see them. I'm not getting how to link to this url in the map file.The .MAP files provided look like this:


      Filename: SetupsHelp.map


      File Content:

                 <?xml version="1.0" encoding="utf-8" ?>

      - <root>

                 <TopicMapping Key="DD01" HelpFile="setups.chm" HelpTopic="Application\Document_Data\Document_Data.htm" />

                 <TopicMapping Key="DD09" HelpFile="setups.chm"  HelpTopic="Application\Document_Data\Business_Days_Calendar.htm" />

                 <TopicMapping Key="FE01" HelpFile="setups.chm"  HelpTopic="Application\Fees\Fee_Items.htm" />



        • 1. Re: Context Sensitive Help - RoboHelp 8
          Amebr Level 4

          I think the mappings in RH get stored in the projectname.ali file. It's just a text file with the following - one line per topic: map_string=path\file.htm.


          It would be possible to get a script written to convert the .map file you have to the correct .ali format (if you know regular expressions, you could do it in any text editor that supports regex), but given the help will probably be quite different in arrangement, it might be easier to ask for a correctly formatted .h file and reassign from scratch. (See the topic "Map files and map IDs" in the RH 8 Help.)


          It also depends on how the application is written. If they are expecting to use that .map file, I'm not sure it will work, as there is no "HelpFile" per se in FlashHelp, just a whole bunch of htm files and a start page.

          • 2. Re: Context Sensitive Help - RoboHelp 8
            MeWrite Level 1

            Amebr - here's the bizarre thing. The vendor has created vanilla help in RoboHelp (not sure what version). They sent the client 3 CHM files and several .MAP files. No source files. They are telling me that's all I need. I'm supposed to customize what I want, create a new CHM file then update the .MAP files with the new help name or add the new help name. Now I haven't done CSH in a long time, but I was pretty sure I needed a .h type file in order to map the files correctly.


            What I am trying to prevent is me going back to the vendor and asking for map ids or tell them they have to map to our IDs.


            Am I missing something or is it possible the vendor and I aren't speaking the same language?

            • 3. Re: Context Sensitive Help - RoboHelp 8
              Amebr Level 4

              I think we need to step back a bit so I know what is trying to be achieved.


              1. Are you replacing the old chm files with your new help? Or are you adding another help file to the existing help?

              If you are adding a new help file, is it supposed to be merged with the other files (that is, the TOC will show up in 'client1.chm' and a search will search across all 4 files)?


              2. What format are you creating for your file? You mentioned FlashHelp in an earlier post, but now say chm.

              • 4. Re: Context Sensitive Help - RoboHelp 8
                MeWrite Level 1

                OK, so after a few more phone calls today, this is where the big picture stands. The vendor has created online help using RoboHelp. So before I got on site, they provided the client with CHM files and MAP files.


                Enter me: I don't know why the vendor is still using CHM files so I said that and am going to deliver FlashHelp (my preference). The CHMs (I found out today) are stored on a Citrix platform along with the software.Still not sure how a CHM calls a MAP file.


                My original thought was to create FlashHelp and replace the CHMs, but still use their MAP files allievating the whole issue of getting the developers involved with a new map file.


                Problem 1 occurred when they gave me a .MAP file. I just didn't know what to do with that. Then I looked in the file (see original post). I thought ok, I'll just change the *.chm file to the *.htm files created in FlashHelp.So that seems simple enough, except for Problem 2.


                Problem 2 occurred when I realized that RoboHelp doesn't see a .MAP file. How the vendor is using this with a CHM file is still a mystery to me.


                I am going to create a customized help and deploy FlashHelp (CHMs are being replaced). That I am not budging on. What I am trying to figure out is if I can use these mysterious .MAP files to create context sensitve help and not have to go back to the developers in order to map the help to the software.


                Does that make sense? Everytime I think too hard about CSH I just get confused, so if this is still murky, let me know.



                • 5. Re: Context Sensitive Help - RoboHelp 8
                  Amebr Level 4

                  It sort of sounds like the vendor might be using a customised help call which goes through the xml file, rather than just passing the call on to the chm file, although it's hard to tell without access to them.


                  In either case, I doubt that the call they are using for the application will work, as I believe the methods for calling chm vs web/flash help are different.


                  This site might help you understand the "normal" chm context help integration:



                  For our only context sensitive webhelp based help, I think the web developers have hard coded specific help pages, with with semi-absolute URLs (version number folder is plugged in programmatically but the rest is static.) I think there is a specific adobe API for context help for web-based output, but for some reason the help is refusing to open tonight. It should be easy to find, although I don't know how 'helpful' it will be unless you have a good handle on context help to start with. I also don't think this is what the vendor is using.


                  I suppose a quick test could be to substitute the server location for the HelpFile and supply the new path and file for HelpTopic for a single topic and see if it works...(apologies if I don't remember the syntax exactly at this hour.)


                  e.g. HelpFile=\\MyNetworkShare\MyPublishedHelp\ HelpTopic=Introduction\Introduction.htm


                  It might be possible to use the .map file (depending on how the help is being called) if you produce a chm file, but mapping the topic would be a manual process using a text editor.


                  If you want to use Robohelp's mapping ability you will definitely need a .h, .hh of .hm file in the correct format. There is information on that in the RH Help under the 'Context Sensitive Help' book.


                  Hope that is vaguely some help.