LabVIEW Development Best Practices Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Application Distribution of Plug-ins

Hello All,

A colleague and I recently attended the 2011 Developer Day in Dallas, TX.  One presentation we found very interesting was the Object-Oriented Design Patterns (Advanced).  The class based UI Plugin Framework looks very powerful and versatile allowing the upgrade/addition of program capability without the need to re-install the entire program.  What we were discussing today was the mechanism for distributing the plugin components.  Ideally we would like some sort of exe like module that would encapsulate the code and isolate it from potential modification.  We thought perhaps a dll would be the thing but we are not sure that the formatting/architecture of a dll would not support the directory based sort of searching like an exe would.

I was wondering if any of you have dealt with this problem and would be willing to share your solution.  Of course if you haven't but have thoughts or information to share I would like to hear that as well. 

Comments??????

Jason Willis

Wire Warrior

Behold the power of LabVIEW as my army of Roomba minions streaks across the floor!
0 Kudos
Message 1 of 5
(4,811 Views)

I wanted to make sure you're aware that you can download that presentation and the demonstrations from this website: http://decibel.ni.com/content/docs/DOC-15014

The community can chime in with other options, but I believe you'll need to choose from:

- unfile source code

- dll

- source code distribution

- packed project library

- bundling with exe (granted, not the option it sounds like will help you)

I'd also be curious to know if anyone has ever used VI Package Manager for this purpose... it certainly makes distribution of components simple and robust, but I'm not sure how it could be used for a plugin architecture.

Elijah Kerry
NI Director, Software Community
0 Kudos
Message 2 of 5
(3,185 Views)

I ended up with a simlar application... I ended up distributing two types of plugin - both used a source distribution to put the class's files into a single LLB, except that I had the extension changed to be something unique. Them, when using these plugins, LabVIEW could simply use the custom-named LLB as if it were a regular folder.

Message 3 of 5
(3,185 Views)

You can probably also package your plugins with VI Package Manager.

I know what you're thinking:  these plugins aren't LabVIEW add-ons.  But depending on what your requirements are, VIPM can probably manage them anyway.  It can also protect your code if you're running from source, or you can just use it to package and install/uninstall built code, too.

It's not something we talk a lot about publicly because it involves doing some things that are technically unsupported (I think), but if you play with VIPM's Custom Destinations you can do some pretty sweet things.  If you want to look into it, feel free to drop me or anyone else from JKI a line and we'll discuss in detail.

0 Kudos
Message 4 of 5
(3,185 Views)

Actually, that NI document is the one that spurred the question. 

Thanks

Jason

Wire Warrior

Behold the power of LabVIEW as my army of Roomba minions streaks across the floor!
0 Kudos
Message 5 of 5
(3,185 Views)