0 Replies Latest reply on Sep 2, 2008 12:07 PM by du-writer

    CSH script for RoboX5 and conversions

    du-writer
      I apologize in advance for the length of this post, but it’s the only way I can describe my dilemma. I'm having a problem with CSH calls in RoboX5. I'm not a programmer and could use some help with a script. Here is my situation: Originally, our help system was created with RoboHelp Enterprise (RoboHelp HTML 2002). Several RoboHelp projects, corresponding to modules in our application, were published to an address on a server and successfully merged to yield a master Table of Contents. Screen help panels were called from an icon on the application's toolbar using the application's screen IDs, which were also set up as the map IDs in RoboHelp. (Example: Application screen ID was APVD100.01, the corresponding map ID in RoboHelp was APVD100.01.) The following script was used:

      Dim scrnid as string
      Dim URL, FirstPart as string

      Firstpart=" http:// + @"@&RoboHelp@" + "/roboapi.asp?context="

      HostFieldGet Data("scrid",scrnid)
      rem MessageBox("Debug', "Screen ID = " & scrnid, 3,0)

      URL = FirstPart & Scrnid

      URLOpen (URL)
      End

      From what I understand, this script went to a place in our application, picked up the screen ID, and added it to the end of the call for RoboHelp context sensitive help. It worked great - no problems.

      Later on, I found a copy of RoboX5 and updated everything to that. With some tinkering, I managed to convert all the existing projects successfully. The call script mentioned above will still call the panels that were created in the older version of RoboHelp. However, I have created a couple of new projects and added some new topics to existing projects. These new panels were produced entirely in RoboX5, and the script will not call them. The call now defaults to the master project instead of to the project where the help file is located. The developer gave me the example below:

      The call below is working (the help file called WELD100.01 was originally created in the older version of RoboHelp).
      The application sends this url:

      http://38.114.13.60/roboapi.asp?context=WELD100.01

      This is what the address ends up being

      http://38.114.13.60/Robo/BIN/Robo.dll?tpc=%2Frobo%2Fprojects%2Fpropdb%2Fpropcostmaster%2Fw eld100.01.htm&mgr=agm&wnd=PropDB%7CAWindow&agt=wsm&ctxid=WELD100.01&context=WELD100.01


      This is the one that does not work (the help file called was created entirely in RoboX5):
      Again, this is what the application sends:

      http://38.114.13.60/roboapi.asp?context=AOHD900.01

      This is what the address ends up being
      http://38.114.13.60/Robo/BIN/Robo.dll?tpc=%2Frobo%2Fprojects%2Fhorizon%2FHorizonMain.htm&m gr=agm&wnd=Horizon%7CAWindow&agt=wsm&ctxid=AOHD900.01&context=AOHD900.01

      “Horizon” is the name of the master project. The path should go to a project called “AOH”.


      I think it's because in the older version of RoboHelp the map IDs were text strings; now the map IDs are numeric values. The RoboHelp api file we are using is an older one. If we change to a newer one it will want to call map numbers, and I don’t know if that will work in our setup. I believe we will need to call the new panels by topic ID (which I have again set up to correspond to the screen IDs in the application). Is there a simple way to modify the existing script so the application's screen ID will equal the topic ID in RoboX5? (I have read Tyler Waters article on "Calling WebHelp Using Topic IDs", but our situation seems a little different.) Our programmers here don't seem to have any clues about this and the more I read the more confused I get. Am I on the right track about this at all? Can anyone help?