04-02-2009 05:44 AM
Hello there,
I'm designing an app using the dynamic/plugin framework. In an ideal world I'd keep the plugin vis on a server and the distributed applications would then check this folder for the plugins. However, testing sometimes takes place in areas where there is no network connection. I therefore need to keep the plugin directory local to the machine.
If the user starts up the application in an area with network access (ie at their desks) I want the app to check the server-based plugin directory and see if any new plugins have been added or if there is a new version of an existing plugin available. If so it should offer to 'upgrade'.
I'm not sure how to copy a vi in this manner or how to check its version number. I'd be grateful for any advice to help point me in the right direction.
Best regards,
Martin
04-02-2009 06:20 AM
Hi,
Each VI has a revision history & revision number and they can be tracked when changes are done to a VI.
In VI properties>>revision history>>, enable the required option(s) that will increment the revision history each time the vi undergoes change.
This revision number can be read using property nodes as shown in the picture. Compare the plugin revision that software currently has and the one in the network drive. If there is a difference then update is available.
A VI can be copied to a network drive using FTP (internet toolkit). Using these you can copy any file to the desired location.
Hope this helps.
04-02-2009 07:27 AM
Hi JK,
Thank you for your response, it's very helpful indeed.
This is probably a stupid question but hey ho... I don't have the FTP toolkit - is there any way I can implement this without buying it? ie. another way around it?
Also, when the application is built as an executable is it still possible to add vis to the plugin directory without those vis being built as well?
Thanks very much,
Martin
04-06-2009 08:09 AM - edited 04-06-2009 08:10 AM
Hi Martin,
Good afternoon and I hope your well today.
If your willing to put some time into developing a solution then I can think of one way.
Basically all a VI is a file. So I would suggest reading the VI for example as text file, then send the information to another computer using TCP/IP - which requires strings. Then just 'rebuild' / save to text file on the other machine.
I have attached an example made in LabVIEW 8.6.
Please let me know how this finds you,