Jump to content

Jim Kring

JKI Team
  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Jim Kring

  1. The way that I see it, there are two possibilities: 1) Don't pop open a dialog if the input path is empty. Keep the current behavior where the output "XML File Path (duplicate)" always equals the input "XML File Path". 2) Do pop open a dialog if the input path is empty. Change the input and output paths to "XML File Path (dialog if empty)" and "New XML File Path (Not A Path if canceled)". Option #2 seems like the easier solution for users. And, it doesn't really change the current behavior when an input path is empty. Plus, it is consistent with NI's high-level file utilities like "Read From Spreadsheet File" and "Write To Spreadsheet File". We'll discuss this more with the EasyXML development team.
  2. Hi Shabu, Here is a version that fixes this: Parse_Example_XML_2.vi Yes, the documentation for how to create the LabVIEW structures that map to XML data is here: http://jkisoft.com/easyxml/docs/#Detailed_Documentation Yes, I have a copy of your XML file. Can you be more specific about your requirements? The "Channel" field does not seem to be directly associated with the "" tag. How are you intending to traverse the data? Thanks, -Jim
  3. Hi Shabu, This can be a complex problem, because your data structure is highly compound and recursive. What I mean is that you have structure elements which can contain one or more field elements, which can contain structure, value, or collection elements. A collection contains one or more ordered value elements (with the order defined by the index attribute). The tricky part of this is that creating a tool for parsing this data in a generic way might be nearly as complex as the code under the hood of the EasyXML tool, itself (however, you might not need a generic parser, but a specific parser that expects files with certain fixed structure). What I mean, is this: The XML format that you're trying to parse seems to be a schema for storing arbitrary data from some other programming environment (or data storage system) -- it's not really an application-specific XML schema. For example, your XML format uses: instead of: 2428 Bottom line: your XML format is designed for storing arbitrary field names and types. Now, if you have a specific file or data structure that doesn't change, you can probably create a parser than can extract the data that you are looking for. For example, here is a VI that parses the XML that you posted (note that I had to add a trailing "" tag, in order to make the XML structure valid). Parse_Example_XML.vi What you'll then need to do is traverse this structure to find the fields with the names that you care about and then find the values of those fields. Let me know if this helps you out. Thanks, -Jim
  4. You shouldn't need the XSD file to extract the data in the XML file. Can you post your XML file? That would make helping you out a lot easier
  5. Thanks of reporting this. I can't reproduce the problem on my end. But, here's what I think you might be seeing: If you have several versions of a VI Package that VIPM knows about, when you right-click and choose Remove From Library, VIPM will only remove the latest version of the VI Package (which is the one being displayed). This leaves the previous version visible. So, you need to keep right-clicking and choosing Remove From Library until all known versions are gone. (unfortunately, there is no Remove All Versions From Library at this time). Does this sound like what you are seeing? If not, can you reproduce your issue? Thanks, -Jim
  6. Hi Richard, I haven't seen this problem. It sounds like an issue with the OS and the 8.0.1 run-time and 8.5 development environment installations. I don't have a test system with your configuration, so it will be hard for me to try to reproduce your issue. First, a few background questions: Did you install the 8.0.1 run-time engine before or after installing 8.5? Have you tried re-installing the run-time engine? Does it do this if you exit LabVIEW (so that LabVIEW 8.5 is not running) while you try to run vipm-1.0-linux? I hate to ask this, but have you tried contacting NI technical support? They might have seen this problem and know of a simple solution. Thanks, -Jim
  7. Hi bluesky, Putting UI event handling and work sequencing into separate while loops means that you cannot easily share statefulness between the two loops (using the shift register of state machine data). Generally, this statefulness is important when processing UI events. But, this does introduce the problem of work that takes a long time. There are a couple ways to deal with this: 1) Put the work somewhere else: maybe into another asynchronous while loop, as Omar suggested. 2) If you are building up a long sequence of work (multiple consecutive states), interleave some "Idle" states in there to service the Event Structure. Note that this requires that you have an Event Structure timeout other than -1 (Wait Forever) so that if there are no UI events your state machine will keep processing commands. In either case, you may want to implement some user interface interlocking (disabling of certain UI controls or all UI controls via setting the cursor to busy), which will lock out certain UI elements until the work is complete. We'll create some other examples, soon, that demonstrate how we recommend handling such things. Regarding your specific question about queues, one way that we can do this is to service a queue periodically inside the Event Structure's "Timeout" case, as shown below (note that this requires making sure that the Event Structure does not wait forever): But, as Omar also mentioned, at JKI we prefer to use User Events. We've got some interesting examples/templates that do this, too. Expect more exciting things to come! -Jim
  8. VIPM 2.0.2 has been released as a fix for some minor issues. Please see the VIPM 2.0.2 Release Notes page for more information. To download and install the latest version of VIPM, visit http://jkisoft.com/vipm/.
  9. Yes, I can see how having extra steps on the instructions would have helped. Those instructions do assume that you already know how to configure VIPM to talk to LabVIEW. I've added a final step that should help with this: This article points to the getting started information that shows (among other things) how to configure VIPM to communicate with your installed LabVIEW versions. Thanks again for all your feedback. I'm sure that this will help others, too.
  10. I see what you're saying. We do put some indications of this requirement in the configure port dialog that pops up when you select a LabVIEW version checkbox: Maybe we should add more documentation to the top of this dialog that says something like: "In order for VIPM to manage LabVIEW, it needs to communicate with LabVIEW's VI Server over TCP-IP. Please configure and test the TCP-IP Port, below. After you have adjusted and tested the settings, press OK to accept the settings." Would that help? Or, would you suggest something else? Thanks,
  11. I'm glad that you got it working. And, thanks for the feedback. I agree that the way the checkbox and configure LabVIEW Port dialog work together are too confusing. Thanks, -Jim
  12. Heiko, Yes, you can apply a package configuration with Community Edition. There are two ways to do this: In Windows File Explorer, right click on the VI Package Configuration file and choose Apply. Select File>>Apply a VI Package Configuration from VIPM's menu. Ideally, a Community Edition user would just double-click on a VI Package Configuration in Windows File Explorer to Apply it. This feature is scheduled for a future release. Thanks, -Jim
  13. Thanks for reporting this. I haven't seen or heard of this problem, but this information will be very useful should the issue start appearing again for you or others.
  14. When you get back into work, can you please take a screenshot of VIPM on your non-networked computer that shows the disabled menu items (that are preventing you from doing step #4)? Thanks,
  15. Which VIPM version are you using (this can be found in the Help>About window)? I want to make sure that I'm testing with the same version as you. Also, adding and selecting LabVIEW versions should not require connecting to the Internet. Is the LabVIEW Version selector grayed out? And, the File>>Add Package(s) menu should not be disabled. I'll try to do some more testing to see if I can reproduce your problem.
  16. Hi, Where are you getting stuck? What's the last action that you are taking? What are you seeing and what did you expect to happen? When I select File>>Add Package(s), I see the following dialog: When you select packages and press Add, they should appear in your package list. If you don't see anything, make sure that you have selected a LabVIEW version selected: If no LabVIEW versions are available, make sure that you've configured your LabVIEW versions in the Options dialog. Let me know if this helps or if you still have questions. Thanks, -Jim
  17. Hi Daklu, You've identified a couple great use cases: 1) select a list of packages and then review each of their details 2) browse the package details and add them to a list of VIs "to be installed" (almost like an installation "shopping cart") You're right that it might work well to make the Package Information dialog non-modal to make it easier to browse packages. One trick that you can use to reduce the number of mouse clicks is to use the Escape key to close the Package Info dialog (rather than using your mouse to press the Close Window or Done buttons). Another way we might (some day) be able to achieve use case #1 is to allow you to select several packages and then select Package>>Get Info from the menubar (or right-click on the package and choose Get Info). Currently, the Get Info menu items are disabled when you have more than one package selected. I'm not sure how difficult this would be to implement, but I don't think it would be too hard. One way that you could achieve both use cases #1 and #2 right now (if you have VIPM Professional) would be to open the VI Package Configuration Editor and drag and drop packages from VIPM into the VI Package Configuration. Then you could double-click on a package in the VI Package Configuration editor and click Next to cycle through each of the packages in your configuration. You could easily remove VI Packages from your configuration, if you don't want them. When you are ready to install, you can Apply your VI Package Configuration to install all of the packages listed in the VI Package Configuration. Thanks for the great feedback. Also, if you want to evaluate VIPM Professional, feel free to contact us. We'd be happy to set you up with an evaluation license. Thank you, -Jim
  18. Hi Sylvain, That's great news! Let us know if you have any other issues or questions. Thanks, -Jim
  19. This is slightly tricky... The solution is to use the same name (label) for the numeric as you do for the array: Here is your example, fixed: take3256__fixed.vi By the way, this is covered in the Generating and Parsing Scalar XML Elements with Attributes article, under the List of Scalar Elements with Attributes section. Let me know if this makes sense and if you have any more questions. Thanks,
  20. Heiko, This one ends up being slightly more difficult, because the custom installation locations expect pathroots (e.g., , , etc.). We're planning to improve the usability of this feature in a future release. However, for the various other path controls on the Advanced Settings dialog, setting the Start Path is very easy and you can expect improvements there very soon Thanks, -Jim
  21. Hey Heiko, Thanks for the details on the various use cases: Palette Category Templates Editing Tools > do you have an idea how to create a category in the Control Palette? An MNU can (but doesn't have to) have one functions palette and one controls palette inside of it. I can help with this, off-line, if you want. > So maybe it is simpler to just continue using OpenG package builder for those cases. For an advanced user with highly custom use-cases that are not related to packaging and installing reuse libraries, I think you're right. That said, please continue to let us know about your use cases and ideas. We want to be able to include support for common packaging use cases inside VIPM and thus simplify the process. -Jim
  22. Hello Heiko, Thanks for the great idea -- configurable defaults would sure make things easier when you are creating new packages. Your solution, to have a "template" VI Package Source Folder (or ".vipb" file) that you use as a starting point for new packages is what we recommend for your use case. This is especially useful for organizations where one or more individuals might be creating new packages -- since, default settings would only apply to individual developers and not all developers in the team. Can you provide more information about the nature of the items that you are packaging? For example, what types of items are you packaging, where you need the "rsc" (vs. "lib") in the package name? If we can understand all the use cases, it would help us consider the design of this feature. Thanks, -Jim
  23. Hello Heiko, Thanks for the great feedback. > The browse buttons for the three Installation Folders under Advanced Build Parameters -> Installation Locations are all set to 'Select existing file' instead of 'Select existing folder'. Good catch. I've filed a bug for this, here: 5938 - Custom Installation Location file browse buttons should be set to "existing folder" > It would also be great if pressing the browse button would open the already typed folder, although that might mean having to handle the browse button separately. This is a great idea. This can easily be done by setting the Browse Options --> Start Path (which is a VI Server property of the Path control). 5939 - Installation Locations browse buttons should have start path set to current value Thanks, -Jim
  24. Please see our article, located here: Sharing VI Packages over the Network
  25. VIPM 2.0.1 has been released as a fix for some minor issues. Please see the VIPM 2.0.1 Release Notes page for more information. To download and install the latest version of VIPM, visit http://jkisoft.com/vipm/.
  • Create New...

Important Information

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