6 Replies Latest reply on Oct 10, 2014 12:18 AM by moszapy1

    RH10 not creating XML files in whxdata

    MAHorniak

      We converted from RH7 to RH10 earlier this year, and our application uses the XML files in whxdata to connect help buttons to topics.  It seems that RH10 is not creating these XML files, which is breaking this functionality.

       

      Some searching indicates that these files should be created when the primary WebHelp layout is being built.  I can't find any settings anywhere that indicates whether or not they should be created. 

       

      Is this a consequence of the conversion, or does RH10 not create these files anymore?

        • 1. Re: RH10 not creating XML files in whxdata
          Captiv8r Adobe Community Professional & MVP

          Hi there

           

          First off, it always helps to check the basics. Are you certain you are looking at the correct location?

           

          Assuming you are, look at the properties for the single source layout. Specifically, the Navigation section on the left side and the "Optimize Speed for" option on the right side.

           

          Click the image below for a larger and clearer view

           

          tmp1.png

           

          As far as I'm aware, this is the specific setting that determines whether your navigational elements are broken into smaller chunks.

           

          Lastly, I'm a bit confused. To my knowledge, only the navigational elements (TOC, Index, Glossary and Search) are affected and XML data created for these. I'm rather surprised to hear that your development team is somehow using the XML files created for these in order to establish context sensitive help.

           

          Cheers... Rick

          • 2. Re: RH10 not creating XML files in whxdata
            MAHorniak Level 1

            I'm not sure what practice established using the XML files, but I know that they could not connect the help topics if there was not an index entry for the topic.

             

            I have checked all of these settings, and they do not change the output. 

             

            I should clarify, though, that there are files being generated, just not the ones that we would prefer.  See the screenshot below.xmlstuff.png

            • 3. Re: RH10 not creating XML files in whxdata
              Captiv8r Adobe Community Professional & MVP

              Ahhh forgot about that. Yep, the dev team renamed them all from .XML to the .JS. Not sure why.

               

              You might consider submitting a bug report as this affects you.

               

              http://www.adobe.com/go/wish

               

              Cheers... Rick

              • 4. Re: RH10 not creating XML files in whxdata
                moszapy1 Level 1

                Hi MAHorniak,

                 

                Yes, for better output experience RoboHelp is creating JS instead of XML. If you still need XML compatible with older RH version, we can provide you a script which can convert index JS file back to XML format. You can download the VBScript file from https://workspaces.acrobat.com/?d=kSpoteg40Fi*Z3*f0QNTxg

                 

                How to use:

                1. Download script to some local folder where you have write access.
                2. Run script and give path of whidata0_xml.js which can be found in whxdata folder in your generated WebHelp output.
                3. Click OK to complete the conversion operation

                Result: File named whidata0.xml will be created at <MyDocuments>\RoboHelp_xml.

                 

                 

                The generated XML file is ready for your workflows


                 

                Thanks and Regards,

                Mohd Sameer.

                Adobe RH team

                • 5. Re: RH10 not creating XML files in whxdata
                  AMAGARWA@ADOBE.COM Adobe Employee

                  Since workspaces.acrobat.com is retiring soon, placing the (above) refered file here itself:

                   

                   

                  ---------------------------------------------------------

                   

                   

                   

                  Set objFSO = CreateObject("Scripting.FileSystemObject")

                  Set wshshell = CreateObject("WScript.Shell")

                  Documents = wshShell.SpecialFolders("MyDocuments")

                  startWriting=false

                  sCurPath = Documents+"\RoboHelp_XML"

                  if not objFSO.folderexists(sCurPath) then

                            objFSO.CreateFolder(sCurPath)

                  end if

                  xmlfilePath=sCurPath+"\whidata0.xml"

                  bThrowUI=1

                  strMyXML=""

                  message="Provide full path of whidata0_xml.js file"+vbcr+"eg. C:\output\whidata0_xml.js"

                  title="Index JS to XML convertor"

                  if WScript.Arguments.count=1 then

                  jsFilePath= WScript.Arguments(0)

                  bThrowUI=0

                  end if

                  if bThrowUI=1 then

                  jsFilePath = InputBox(message, title, new_build,6000 ,5000)

                  end if

                  if jsFilePath="" then

                  msgbox "Action cancelled"

                  Wscript.quit

                  else

                   

                   

                  if not objFSO.fileexists(xmlfilePath) then

                            objFSO.CreateTextfile(xmlfilePath)

                  end if

                  if not objFSO.FileExists(jsFilePath) then

                            msgbox("Specified JS file could not be found")

                            Wscript.quit

                  end if

                  Set objFile = objFSO.OpenTextFile(jsFilePath, 1)

                  set writefile=objFSO.OpenTextFile(xmlfilePath,2)

                  Do Until objFile.AtEndOfStream

                      strCharacters = objFile.Read(1)

                            bSkip=false

                      if strcomp(strCharacters,"<")=0 then

                            startWriting=true

                            end if

                            if startWriting=true then

                                      if strcomp(strCharacters,"\")=0 then

                                                bSkip=true

                                      end if

                                      if strcomp(strCharacters,">")=0 and NOT bSkip then

                                                strMyXML=strMyXML+strCharacters+vbcrlf

                                      end if

                                      if not strcomp(strCharacters,">")=0 and NOT bSkip then

                                                'writefile.strCharacters

                                                strMyXML=strMyXML+strCharacters

                                      end if

                            end if

                   

                   

                  Loop

                   

                   

                  length=len(strMyXML)

                  writefile.Writeline Left(strMyXML,length-2)

                  writefile.close

                  if bThrowUI=1 then

                  msgbox "Required xml file successfully created at "+sCurPath

                  end if

                  end if

                   

                   

                   

                   

                  ---------------------------------------------------------

                   

                   

                  ~Amit Agarwal

                  • 6. Re: RH10 not creating XML files in whxdata
                    moszapy1 Level 1

                    Hi,

                     

                    We have updated the script to recursively convert all RH10/11 js inside whxdata and resource folder in to XML format. The steps to use the script is as follows:

                     

                    2)      - Double click on the script.

                    3)      -  Provide path of whxdata folder of RH10/11 output. All the js files will be converted to XML and will be placed in My Document\RoboHelp_XML. Now copy all the XML thus created and place it inside                   whxdata folder of RH10/11 output. If any message to override file is thrown then select not to override. Also, Keep all original js files intact.

                    4)      - Provide path of resource folder of RH10/11 output. Resource js will be converted to XML and will be placed in My Document\RoboHelp_XML. Copy this XML and place it inside resource folder of RH11      output. If any message to override file is thrown then select not to override. Keep all original js files intact.

                     

                    ------------------------------------------------------------------------------------------ --------- Script starts----------------------------------------------------------------------------------- ----------------------------------------------------

                     

                    Set objFSO = CreateObject("Scripting.FileSystemObject")

                    Set wshshell = CreateObject("WScript.Shell")

                    Documents = wshShell.SpecialFolders("MyDocuments")

                    startWriting=false

                    sCurPath = Documents+"\RoboHelp_XML"

                    if not objFSO.folderexists(sCurPath) then

                      objFSO.CreateFolder(sCurPath)

                    end if

                    set objsCurPath=objFSO.GetFolder(sCurPath)

                    for each oldFilePath in objsCurPath.Files

                      objFSO.DeleteFile(oldFilePath)

                    next

                    bThrowUI=1

                    strMyXML=""

                    message="Provide full folder path where js files are present"+vbcr+"eg. C:\output\whxdata"

                    title="Robohelp output JS to XML convertor"

                    if WScript.Arguments.count=1 then

                      jsFilePath= WScript.Arguments(0)

                      bThrowUI=0

                    end if

                    if bThrowUI=1 then

                      jsFolderPath = InputBox(message, title, new_build,6000 ,5000)

                    end if

                    if jsFolderPath="" then

                      msgbox "Action cancelled"

                      Wscript.quit

                    else

                      if not objFSO.FolderExists(jsFolderPath) then

                      msgbox("Specified JS folder could not be found")

                      Wscript.quit

                      end if

                      set jsFolder=objFSO.GetFolder(jsFolderPath)

                      for each jsFilePath in jsFolder.Files

                      strMyXML=""

                      startWriting=false

                      if lcase(objFSO.getExtensionName(jsFilePath.path))="js" then

                      xmlfilePath=sCurPath+"\"+Left(jsFilePath.name,Len(jsFilePath.name)-7)+".xml"

                      if not objFSO.fileexists(xmlfilePath) then

                      objFSO.CreateTextfile(xmlfilePath)

                      end if

                      Set objFile = objFSO.OpenTextFile(jsFilePath, 1)

                      set writefile=objFSO.OpenTextFile(xmlfilePath,2)

                      Do Until objFile.AtEndOfStream

                      strCharacters = objFile.Read(1)

                      bSkip=false

                      if strcomp(strCharacters,"<")=0 then

                      startWriting=true

                      end if

                      if startWriting=true then

                      if strcomp(strCharacters,"\")=0 then

                      bSkip=true

                      end if

                      if strcomp(strCharacters,">")=0 and NOT bSkip then

                      strMyXML=strMyXML+strCharacters+vbcrlf

                      end if

                      if not strcomp(strCharacters,">")=0 and NOT bSkip then

                      'writefile.strCharacters

                      strMyXML=strMyXML+strCharacters

                      end if

                      end if

                      Loop

                      length=len(strMyXML)

                      writefile.Writeline Left(strMyXML,length-2)

                      writefile.close

                      end if

                      next

                    end if

                    if bThrowUI=1 then

                    msgbox "Required xml file successfully created at "+sCurPath

                    end if

                     

                     

                    ------------------------------------------------------------------------------------------ --------- Script ends------------------------------------------------------------------------------------- --------------------------------------------------

                     

                     

                    Thanks and Regards,

                    Mohd Sameer.

                    Adobe RH team