Jump to content

Recommended Posts

We are looking to distribute our code. I was wondering if people had suggestions on the best ways to generated compiled help files (chm) for a VI library. I know there are some instructions in the LV help but thought there might be an "all-in-one" tool out there or some handy hints from people that have been doing this already.

Thanks for you suggestions.

John

Link to post
Share on other sites

We are looking to distribute our code. I was wondering if people had suggestions on the best ways to generated compiled help files (chm) for a VI library. I know there are some instructions in the LV help but thought there might be an "all-in-one" tool out there or some handy hints from people that have been doing this already.

Thanks for you suggestions.

John

I have used in the past HelpMaker from vizacc.com. It used to be a free tool but there was some hickup in who is going to maintain it some time ago. Not sure about the current state, it got confusing and I haven't used the tool in a while.

Link to post
Share on other sites

There are numerous programs available that you can use to create .chm files. The good ones are, of course, not free. Or, if they are free, they're only free for personal use, not for a commercial product. I actually use Kompozer to create the HTML pages and Microsoft HTML Help Workshop to create the .chm files. Kompozer is a little buggy, but it gets the job done. HTML Help Workshop is not very intuitive, and its user interface is archaic and downright user-unfriendly, but hey, it's free.

Link to post
Share on other sites

One of NI's tech writers gave a presentation on documentation at NI Week and he (as well as others) use FAR to compile HTMLs into CHMs. I haven't used it personally, but I understand it's fully functional shareware and have seen good results from it.

Also keep an eye on this document as we will soon be releasing a free little tool that analyzes a collection of VIs and creates HTML files similar to the detailed help for LabVIEW VIs. We have had a few of our partners use this along with FAR to create very nice looking Help docs...

Link to post
Share on other sites

For the record, Bob has finally released the VI to XML Documentation Tool. This will analyze a set of VIs and create HTML and XML files corresponding to the VI descriptions and controls and indicators etc. You can plug these into FAR or another CHM creator to make awesome looking documentation.

  • Like 2
Link to post
Share on other sites
  • 2 weeks later...

I have installed the VI to XML Documentation Tool in hopes of creating compiled help files for a VI library. I have also installed the required software programs found at the following link:

https://decibel.ni.com/content/docs/DOC-18765

I am able to complete steps 1 - 3 (found in the same link) but after I tag the VIs and select "Generate Files" I receive an error message that reads similar to: "PERL was not able to generate files for allVI.xml." However, when I open the folder that I had designated for my files, I am able to find and open the .xml files of my VIs. I do realize that I skipped step 4-4, but do not know how to add the required tag before any .xml files are generated. Does anyone know how I may go about adding this tag? Also, because of the error that I get when I generate my .xml files, I am unable to move to the next steps and convert my .xml files to .html files. Any help is much appreciated.

Thank you.

Link to post
Share on other sites

I've not seen this error before and I adopted this utility and had to "bring it back to life" in a sense, so I'm not surprised these errors will occur. I'd also like to open the code up for you all, but there are internal tagging methods used so I'll need to run it by R&D before I can make that happen. So, I'm sorry for the bugs -- let's move on to resolving this one!

For this error, do you see a 'VI errors.txt' or '_errorlog.txt' file in your output directory? Could you post the contents for me if this log file?

To be clear, the steps 1-3 you're referring to are steps 4-1 to 4-3, correct? The error is then reported when you click 'Generate Files', which will parse the VIs...what version of the ActivePerl community edition did you install?

Thanks,

-Bob

Link to post
Share on other sites

Bob,

I do not have any .txt files in my output directory. My output directory consists of ent files, html documents, JScript script files, xml documents, xsd files, and xsl stylesheets. I have completed steps 1 - 3 and am currently having trouble with step 4. Specifically, I am able to complete steps 4-1 through 4-3 but do not know how to execute step 4-4 or step 5. I skipped these two steps and tried to generate the xml files by clicking "Generate Files." This is when I received the error message and found my output directory full of files with the extensions above. Do you know how to add the 'topLevel=True' tag to the xml created for the top level palette? Also, do you know how to include the top level .mnu file for the palette? I am confused as to where to find this created xml file if the xml files are not generated until step 6.

I have installed ActivePerl community edition version 5.14.2.1402. Please let me know if you need additional information.

Thank you for your help.

Link to post
Share on other sites

Ah. The TopLevel = True tag needs to be applied to the xml file created in step 4-3. In your output directory, you will have XML files with the name of your VIs and others for the .mnu file you specified when checking 'XML from Palettes'. There should be an XML for the name of your top level palette file ending in '_pal.txt'; do you see this file or did you not specify a palette mnu in Step 3?

If you do not have an mnu file to document (it will create table of contents similar to documentation in the LV help, with tables representing the palette structure), for now create your 'allVIs.xml' with:

<?xml version="1.0" encoding="iso-8859-1"?>

<allvis>

<vi filename="Convert_to_LabVIEW_Array.xml" />

<vi filename="Find_Object_Children.xml" />

<vi filename="Return_Child_Value.xml" />

</allvis>

Where you replace the filename with the filename of your VI XML files. Then try the next step. I'll try to resolve this issue in the meantime and put out a new package.

-Bob

Link to post
Share on other sites

Bob,

I have resolved the issue but now need your help with something else. After I had completed all of the steps I was able to view my chm file. I wanted to link this to the LabVIEW Help that a user selects from the main screen of LabVIEW (Help - LabVIEW Help). Within FAR, I used the help express wizard to specify the folder to be compressed, the title of the help window, the home page, and the destination help file. I then completed step 10 by specifying the directories of VIs, text files, and help file path. However, I somehow managed to believe that the destination help file should be the same as the help file path and after I restarted LabVIEW looking for my chm file within Lab VIEW Help I only found my chm file. All of the other files were gone. I am able to open the original chm files that were located in LabVIEW Help by searching in the help folder. In order to reverse this process and revert LabVIEW Help to its previous state, must I link all original chm files back to the lvhelp chm? Any help is much appreciated and I thank you for your help!

Link to post
Share on other sites

I have completed the documentation process but when I open the chm file I am presented with an error that states: "The following mnu files did not contain resources or were duplicate filenames." It then lists the directory of the two mnu files that I have created for testing purposes under "Missing Resources." I have no "Duplicate Filenames." Lastly the message says: "Filenames that only have _pal.xml indicate Control palettes, which are not supported." I am still able to view the documentation for my VIs but would like to resolve this issue to properly format the table of contents.

Thank you for your help.

Link to post
Share on other sites
  • 2 weeks later...

I am able to produce documentation for some but not all of my VIs. Occasionally, I am presented with an error that states: "parameters.xml contains an empty attribute." This error is followed by another that directs me to line 2 of the parameters.xml file where an invalid token exists. When I view this line I can see that there is indeed no attribute assigned. The second error also directs me to two other files: Parser.pm and ListSpecifiedDoctypeFiles.pl. Specifically, I am directed to line 187 of parser.pm and line 51 of ListSpecifiedDoctypeFiles.pl. Line 187 has $result = $expat->parse($arg); and line 51 has if($@) {mxDie "[$xmlPath]\n".$@;}.

I would like to remove the bug in this code to prevent the need of manually entering an attribute for each problematic file. I am not sure why this works for some but not all of my VIs but if anyone can help it would be much appreciated. Thank you.

Link to post
Share on other sites

Hi Tadowden,

Sorry for the lack of a reply from my end, I thought I'd set this thread to notify me when a response is posted...

  • You will end up with one .chm file to install into the \help\ directory. This generated .chm will not be linked to from any of the .chm files shipped with LabVIEW, but LabVIEW will auto-populate the 'Help' menu with an entry for your generated .chm. We do not ship the HTML Workshop project file for our help documents with LabVIEW, so I strongly advise against tampering with those files.
  • I am not sure why opening a .chm would ever refer to a .mnu file. Where exactly does this error occur? In the xml files with _pal, make sure your VIs are all listed correctly, there are also log files created when the xml and html files are generated with information about items that were not handled correctly...do your log files show anything?
  • When is the parameters.xml error reported? I'll see if I can post the code unlocked so we can troubleshoot further.

-Bob

Link to post
Share on other sites

Bob,

Thank you for the reply. I have resolved the first two issues but still receive the parameters.xml error. As I said before, this only happens some of the time. The error messages are reported when I select "Generate" on the "Generate Files" tool. The first message says "The parameters.xml file contains an empty name attribute. Please fix the file and recompact." The second message confirms the first and says "not well-formed (invalid token) at line 2, column 171, byte 279." This line within the parameters.xml file ends with <parameter id=""</parameter>, which clearly shows the empty name attribute. At other times when I do not receive this error, this line is complete and does not have an empty name attribute. Lastly, the error message directs me to line 187 of Parser.pm and line 51 of ListSpecifiedDoctypeFiles.pl. Do you think I need to change the code on either of these lines in order to resolve this issue?

Link to post
Share on other sites

Change the code? Maybe. I've not gone too deep into the perl script with these tools and basically re-purposed the tool chain from a set of internal tools used by NI tech writers several years back.

Is there anything unique about the attribute/name that isn't generated in the parameters file? Is it a standard VI with a fairly normal name or is there something to it that could be throwing off the scripting behind generating the parameters xml file? Does it always occur with the same parameter?

As mentioned, I need to seek approval to open the tools as there are some private methods used -- I'll try to just lock down the sections of code R&D does not want me to release and open the rest of it up.

-Bob

Link to post
Share on other sites

The VI does have a fairly normal name and I do not believe that anything would be throwing off the scripting. I do not know if there is anything unique about the name that is not generated in the parameters.xml file. I also do not know if the error occurs with the same parameter, because I do not know what the parameter should be. I will wait for you to post sections of the code.

Thank you for your help.

Link to post
Share on other sites
  • 1 year later...
Probably you could also try HELPer from http://vigods.com/toolkits/HELPer/helper.html. It's NI certified toolkit for doing exactly what you want. And arguably, with much less fuss over it than in mentioned above solution. Just try it.

This doesn't appear to be "exactly" what was asked for.  The tool you linked to does not generate CHM files at all (correct me if I'm wrong) it only makes HTML help files.

Link to post
Share on other sites
This doesn't appear to be "exactly" what was asked for.  The tool you linked to does not generate CHM files at all (correct me if I'm wrong) it only makes HTML help files.

 

Which isn't a bad thing if you intend to distribute the VIs to other platforms than Windows!

Link to post
Share on other sites
  • 3 weeks later...
This doesn't appear to be "exactly" what was asked for.  The tool you linked to does not generate CHM files at all (correct me if I'm wrong) it only makes HTML help files.

That's right, it generates HTML help files. But as was mentioned earlier for "VI to XML" tool, if you really need CHM, you can always use FAR or another chm-generator to produce CHM out of HTML.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By torekp
      So, according to this NI document
      http://zone.ni.com/reference/en-XX/help/371361L-01/lvhowto/linking_vis_to_help_files/
      It should be possible to link a .chm file into your executable so that a user can choose Help > Help for This VI.  Well, I followed the advice, and no dice.  Here is my LV2017-64bit attempt.  In the development environment, it works fine, but in the executable Help for This VI is grayed out.  The .chm file is a poor excuse, and unrelated to this VI, but never mind that, it's not the problem here.

      LV17helpEx.chm
      html_help_VI.vi
      test_help_html.aliases
      test_help_html.lvlps
      test_help_html.lvproj
    • By HelenaDomo
      Hi all,

      We are a group of students from the University of Cambridge who are developing a new data connectivity system for researchers like us, its up at https://rinocloud.com

      It currently integrates with LabVIEW, Matlab and Python. The plugin will point your data directly at our secure storage where you can automatically add metadata results for easy and fast retrieval. We’re also rolling out plotting features for presenting the data, collaboration features for project teams and an integrated lab book.

      We are looking for new users, researchers like us, to help us to get feedback from our product.  You’ll be able to directly influence the product development so that you get a data system that is useful for you.

      Know more at https://rinocloud.com 
      https://twitter.com/Rinocloud
       
      Thanks, 
      Helena
    • By Mechatroner
      Occasionally, I find the conciseness of the LabVIEW documentation a bit lacking.  Here's an example that I would appreciate some assistance with.
       
      As shown in the screenshot below, the documentation for the "Register for Events" function states that the event source reference must be to a "local object" and not a "remote object".  I'm assuming that:
      the term "object" here refers to an "application, VI, control or user event"; "local" means on the same physical platform as that on which the Register for Events function is located; and, "remote" means on a separate physical platform from the platform on which the Register for Events function is located. Can anyone confirm these assumptions, or better yet, point me to NI documentation that defines these terms?
       
      Thanks in advance for any help you can provide.
       
      (PS - The screenshot below is from LabVIEW 2012, but LabVIEW 2013 has the same description)
       
      -John Bergmans

    • By weld3li
      Hi
      I have designed an application for my graduation project,now i need to built it but i don't have the key for that !!
       
      If any one have the application builder key,and he want to help me  i will send him my (.VI) file,he build it and then he send me th (.exe) file
       
      I don't know if such demand is possible but i really need ur help !!
       
      So please help me
       
      thx
    • By John Lokanis
      I'm looking for a Node Map tool to document my applications using my messaging architecture.
      I want to write some code that can extract relationships between classes (some being processes and some being messages) and then feed that data into a tool to visualize the relationships in my application.  The end goal would be something like the http://www.visualthesaurus.com/.  Unfortunately, the software behind that tool starts at $5k.  I am hoping to find something a bit less expensive.  Has anyone found a solution they like?
       
      thanks,
       
      -John
       
       
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.