2 Replies Latest reply on Oct 23, 2009 7:19 AM by AdamXT2

    Calling MapIDs from C# Application


      In the past our developers have managed to call Webhelp MapIDs from web-based applications (using the included Javascript APIs).


      But this time they're trying to call Webhelp MapIDs from a Windows C# application. We've found scant RoboHelp 7 information online about this topic.


      Specifically, the developers need to know where RoboHelp stores the MapIDs which correspond to the topic .htm files...similar to what's in the BSSCDefault.h file, but with the .htm file name ("Set Preferences.htm"), not the internal MapID name ("SetPreferences").


      We assume that this information must be somewhere in the compiled WebHelp folder, but we can't find it anywhere. Does anybody know where RoboHelp writes this information? Is it compressed/encrypted, maybe? Or do I have to manually provide the dev team with a report of MapID linkages every time I change them?




        • 1. Re: Calling MapIDs from C# Application
          Praful_Jain Level 3


          RoboHelp provides CSH API files which can be called from C++ code, you can tell the developer to look into the C++ code and call that API.

          The CSH API is located in C:\Program Files\Adobe\Adobe RoboHelp 7\CSH API folder location.


          Apart from this every webhelp output location has a list of all the MAPID along with HTML file location. This is compiled as part of javascript+html.

          you can open the whcshdata.htm file in webhelp output folder and search for SetCsh( function call. This is where the html output get to know about the MAPID and html file mapping.


          Again, it is always better to call the CSH API, then to read the html and parse it and find out the MAPID mapping.



          • 2. Re: Calling MapIDs from C# Application
            AdamXT2 Level 1

            Thanks! The dev guy suspects this will work.