10 Replies Latest reply on Apr 20, 2015 6:03 AM by rphox2003

    RH11: Purposes of BSSCDefault.h and whcshdata.js

    rphox2003 Level 1

      When mapping for context-sensitive Webhelp, which of these two files should be used?

        • 1. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
          johndaigle Level 4

          Hi. These two files both relate to Context Sensitive Help, for different uses.

          The "BSSCDefault.h" is a text file that "maps" (associates) topics to Topic IDs (alphanumeric) and/or Map Numbers (numeric) so that application developers can call the relevant help topic at the right time for the end-user.

           

          You can create your own custom "map files" (sometimes called header files or .h) or use the BSSCDefault which is created (empty) whether you want it or not each time you create a new project. The cryptic BSSC initials are a throwback to the original "Blue Sky Software Corporation" which first created RoboHelp back in 1991.

           

          The whcshdata.js is a Javascript related file which translates the map file information for use with the CSH API. (The author does not have to manually create or do anything with this file. It is generated automatically each time you generate a fresh batch of WebHelp. It will be published (along with the rest of the output) from the !SSL! folder to the Webserver. You can read a lot more particulars on these pages:

           

          The online help has a wealth of information for both the author as well as the application developer.

          Adobe RoboHelp 11 * Context-sensitive Help

          Also good, are these resources from Peter Grainge and Willam VanWeelden

          Calling Webhelp

          Context Sensitivity | WvanWeelden.eu

           

          John Daigle

          Adobe Certified RoboHelp and Captivate Instructor

          Evergreen, Colorado

          www.showmethedemo.com

          • 2. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
            rphox2003 Level 1

            Thanks.

             

            Can I assume that:

            • RH updates BSSCDefault.h with all Map IDs every time I generate a CHM file?
            • RH updates whcshdata.js with all Map IDs every time I generate Webhelp?
            • 3. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
              johndaigle Level 4

              Yes. When you generate any Single Source Layout (WebHelp, CHM, Printed Docs, whatever) the content of the !SSL! output folder is first emptied and then completely filled with the most current content and ready for publishing. Whatever changes you make to Map Files are reflected in the newly generated content.

               

              John Daigle

              Adobe Certified RoboHelp and Captivate Instructor

              Evergreen, Colorado

              www.showmethedemo.com

              • 4. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
                rphox2003 Level 1

                Thanks again.

                 

                Not meaning to be too much of a bother, but:

                1. I remember seeing the !SSL! folder when I was working with RH9, but I don't think RH11 has it. Correct?
                2. The type of map file depends on the output generated. Generating a CHM file produces a new BSSCDefault.h file, while generating Webhelp produces a new whcshdata.js file. Correct?
                • 5. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
                  Jeff_Coatsworth Adobe Community Professional & MVP

                  1.       Nope, you get a \\ folder each time you generate whatever flavour of help.

                   

                  2.       If you’re doing CSH, a new BSSCDefault.h file is created for whatever flavour you create. The .js file is there to translate the .h file when called by one of the CSH methods (see your RH install folder for a CSH folder with all the different API methods).

                  • 6. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
                    Captiv8r Adobe Community Professional & MVP

                    Hi there

                     

                    I'm not exactly sure what Jeff is referring to by saying you get a \\ folder. To my knowledge, RoboHelp has never created a folder named \\. I've not tried in order to test, but I'm not even sure it's possible to name a folder \\ in Windows.

                     

                    By default, RoboHelp will create a folder inside the !SSL! folder for each of the outputs you create. UNLESS, you choose to override the folder location in the properties of the layout. Some folks choose to do that for various reasons. But the bottom line is that RoboHelp will operate as John said and normally clear the content from the folder (wherever it happens to be pointed) in preparation for creating the new output file(s).

                     

                    Cheers... Rick

                    • 7. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
                      Jeff_Coatsworth Adobe Community Professional & MVP

                      Nuts! Looks like my angle brackets in the path caused them all to be stripped out – I was referring to a \project_name\!SSL!\output_flavour\ path

                      • 8. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
                        rphox2003 Level 1

                        I'm still fighting with this issue. It seems the Edit Map IDs dialog box is worthless. I've found myself manually editing both BSSCDefault.h and whcshdata.js files. And even after the edits, I go into the dialog box and find problems, such as the Map ID I just edited is not assigned to a Topic. So that I do via the dialog box.

                         

                        I think Adobe dropped the ball on this interface.

                         

                        Plus, Jeff_Coatsworth, RH11 does not have an !SSL! folder. In my project, which was setup using default settings, the BSSCDefault.h file is in a top-level folder called Adobe RoboHelp 11 while the whcshdata.js file is in a folder called WebHelp, which is a subfolder of the <project_name> folder.

                         

                        One more think: in the Advanced tab of the Topic Properties dialog box, the Assigned Map IDs text box has Map IDs that cannot be updated and don't seem to don't always reflect reality.

                        • 9. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
                          Jeff_Coatsworth Adobe Community Professional & MVP

                          If you create new RH project in the “best practices” location of c:\projects\project_name\ - when you generate WebHelp, the default location for the output will be c:\projects\project_name\!SSL!\WebHelp\ etc.

                           

                          Yes, I agree that the Edit Topic IDs screen is wacky – a couple versions ago I discovered you can resize the screen, but there’s no visual indicators that it’s possible. I’ve found that if I save a new project and then come back to it later, that all the topic names in the left pane are all missing, even though the Map IDs are still there.

                          • 10. Re: RH11: Purposes of BSSCDefault.h and whcshdata.js
                            rphox2003 Level 1

                            Thanks. I'll take your word for it.

                             

                            FYI: My folder structure (if I remember correctly I used the default settings) looks like this:

                            • Adobe Robohelp 11
                              • !Language!
                              • !ScreenLayout!
                              • <Project Name>
                                • CHM
                                • WebHelp
                                  • resource
                                  • whdata
                                  • whgdata
                                  • whxdata