Welcome to the VIPM Idea Exchange. Here's your chance to collaborate with JKI engineers and other users to influence the future of VI Package Manager. How can VIPM make your life easier or help you work smarter? Tell us!


To submit an idea:

  1. Type your idea in the box below. The Idea Exchange will show you similar ideas as you're typing.
  2. If someone else has already submitted a similar idea, vote that idea up and add a comment to the discussion.
  3. If they haven't, submit your idea as a new suggestion by clicking Next. Then provide a detailed description in the submission form. Add links, images, and video to make your suggestion clear and compelling!

To vote for an existing idea:

  1. Click the Vote balloon next to any idea to show your support. Better yet, also add a comment to the discussion.
  2. You will be prompted to create a new account if you don't have one, or login, if you do.

If you need technical support for VIPM or any of JKI's other products, click here.

+1
Priyadarsini 3 weeks ago • updated 4 days ago 3
Currently, the VIPM APIs support creating a VIPC given a VI or folder or LVProject. But there should also be a way to create a VIPC given a set of Packages. In this way we can create packages & a package configuration programmatically.
+1
UNDER REVIEW
David Staab 2 months ago • updated 2 months ago 2
When a .lvproj file that has package dependencies is opened, those packages need to be applied (installed, upgraded, or downgraded...and conflicts with dependencies uninstalled) before the project loads. I want LV/VIPM to catch a "project.open" operation and first apply dependencies.

This will probably require a new tag in the project file to specify where the dependencies package is on disk. It'll probably also require access to a new Filter event from LV that notifies some process/tool of an impending File Open operation. So I don't expect much out of this request, but I'd sure like to see it!
0
Francois Normandin 3 months ago 0
Adding package configurations to a project is a great way to always have all my dependencies available for a quick install. However, these files can be quite large and take a lot of time synchronizing with Hg or Git repository.

It would be awesome to be able to create these packages online and store them in our user profile. Consequently, having the ability to share package configurations between users (publicly or privately) would allow to keep small vipc files in LabVIEW project without the need to "include packages" in the configuration file.

+1
Timothy Vargo 4 months ago • updated 3 months ago 2
When I use the "Search" function to filter the displayed packages for certain words, any result must contain my search words in one of the columns Name, Version, Repository, or Company to be listed.  This is insufficient -- I need results returned from package descriptions as well.  For example, type the word "icon" into the search field, and you currently get two results ("IconExpress" and "NI Icon Library Update Tool"); but I want the results to also list "UI Tools" since the word "icon" exists in that package's description text.

I recently gave a presentation on VIPM Professional to a room full of colleagues, trying to convince them that we should all own a copy.  The question was asked "Would this tool provide me with a flexible way to search our reuse libraries for some functionality that I am looking for"?  Alas, I had to answer "No".  This would be IMMENSELY helpful!



The package name "UI Tools" is not in the list above ...



... but it should be because the word "icon" exists in this package's description text.
+5
UNDER REVIEW
Steen Schmidt (GPower) 10 months ago • updated by Timothy Vargo 4 months ago 4
We often have enquiries from our customers to make available a version of our toolsets for an earlier version of LabVIEW than the VIP was developed for. We don't want to develop all our toolsets with LV 7.1 for instance, just to make certain all our users are covered, and it's a huge task to down-save all our toolsets and make new VIPs for those versions. The user also has a hard time doing this, as a simple "Save for Previous Version" doesn't cut it, as the user has to manually recreate the palette in the process (which many users don't know how to do).

VIPM currently allows the user to install for the LV version that the package was developed for, and for later versions as well if we have configured the package to allow this. VIPM uses Mass Compile for this (unless the user has disabled Mass Compile in VIPM of course). I suggest one of two changes:

1) Either allow the end-user to install a package for an earlier version of LabVIEW than the package was built for. This requires the user to have installed the lowest LV version that the downloaded package demands, as well as having installed the target LV version as well. Then VIPM could use the "Save for Previous..." method and re-create the palette for the user.

2) Or, allow the VIP-developer to build packages for earlier versions of LV than the VIs are developed for. This poses the same requirements on the developer, having both the source and target LV versions installed, and would enable VIPB to use "Save for Previous..." when building the packages.

I prefer 2), as that basically automates the process I'd otherwise go through to make our VIPs available for earlier versions of LV, but without me having to handle duplicate build scripts for VIPB. And it puts fewer requirements on our end users.

Best regards,
Steen, GPower
+1
UNDER REVIEW
Brian Hoover 4 months ago • updated by Michael Aivaliotis 4 months ago 1
Lets say I have a set of packages that I want to make into a single VIPC file.  I can then copy this file to another machine and install the packages offline if they are included in the VIPC which they are by default.  But lets say I have version 1.0 of an array package that supports 2011 and newer, but version 2.0 only supports 2012 and newer.  At the moment my VIPC would contain only one version.  So I have to either support 2011 and newer with the older package, or use the newer package, but abandon support for 2011 in my VIPC.  

My suggestion is to have the ability to put multiple versions of the same package into a VIPC.  This way when I am installing it offline and not connected to a repository, where all package versions could be available.  I could then use the same VIPC for 2012, or 2011, and in both cases I could have the latest version that is supported.
+1
Priyadarsini 6 months ago 0
Dependencies of a package are installed first followed by the main package itself which is the correct behavior. But uninstallation should be in the reverse. Main package has to be uninstalled first followed by its dependent packages. This will be useful if the main package's custom post-uninstall action uses a VI from the dependent package. Also if there is some issue with the uninstallation process the main package will not be left alone without its dependencies.
+3
Christopher Relf 7 months ago 0
Use some kind of GUID in the package that is the unique identifier between packages, and not the filename. I've had to change the filename of some packages a few times over the last few years (eg: changed product name due to a customer clarification), and it's a pain - now I have two (or more) parallel products that have schismed from the original, all because the filename changed.
+8
UNDER REVIEW
Ton Plomp 3 years ago • updated by Michael Aivaliotis 7 months ago 7

Sometimes my source for folder has old (or not yet finalized) VIs that I don't want to distribute, in my project I remove these VIs from the library/class, but since VIPM picks a whole folder as the build-source these VIs show up in the package. 

By selecting library or class as the build source these functions wouldn't be included.

+2
Mathieu Fortin 11 months ago • updated by Andy Soukup 7 months ago 4
While trying to install a package.  I had Error 8 (something related to Read/Write file).  I spent some time trying or figure what was the problem.  I finaly tried run as admin and it worked.

Nitrof
+3
Ulrik Karlsson 7 months ago • updated by Andy Soukup 7 months ago 3
When I am debugging my code, I often need to make some temporary changes to the installed packages. When the debugging is done, it would be nice to be able to reinstall the package instead of uninstall and then install again.

Ulrik, GPower

+2
UNDER REVIEW
Andy Soukup 2 years ago • updated 7 months ago 5

when creating a new VIP, automatically "exclude from build" folders that match user-defined strings (preferably compatible with labview regular expressions or PCRE). I suggest this because we have a well-defined file structure in our source code repository. all files in certain folders are never included in the build because they are only used during development. It would be nice if this could be auto-configured but only when creating new packages (so there are no surprises when opening an existing package).

+4
UNDER REVIEW
Christopher Relf 2 years ago • updated by Michael Aivaliotis 7 months ago 5
I like that I can add a license to my distributed packages, but I'd love if VIPM supported the Rich Text File format - the quasi-standard for license files.
+3
UNDER REVIEW
Steen Schmidt 10 months ago • updated by Michael Aivaliotis 7 months ago 1
Since password protecting VIs is really not that great a protection, we opt to remove block diagrams from our paid software. When building paid toolsets with VIPB it would be great to have an option to remove block diagrams during the package build, instead of us having to do it beforehand (with the risks that involves of losing the source code completely, although we use SCC and can thus step back if necessary).

When removing the block diagram from reuse VIs destined for the LV Dev environment, we limit that toolset for a single LV version obviously. Thus it would be nice to have the ability to build more than one package with a single build specification; one for each of a number of specified LV versions. Instead of specifying "LabVIEW 2012" vs. "LabVIEW 2012 or later", then maybe an optional selection list where you could tick of which LV versions to build for (resulting in N vip-files).

Or maybe I should just automate our dev process some more to do the above myself? Maybe I can use the VIPB API to do that...

Best regards,
Steen
+15
UNDER REVIEW
Jonathon Green 3 years ago • updated by Michael Aivaliotis 7 months ago 4
It would be really cool if you could edit icons in the Enhanced Icon Editor and have their layering preserved, so that next time when opened the image isn't merged. This may be currently impractical due to the state of the API currently available to handle this (which is why I have this idea here). Just thought I'd put it out there... 

+1
Patrick Simmons 8 months ago 0
When creating a package, placing a *.mnu file manually from source files does not allow you to set "Show in Palettes" action.  When a user selects "Show in Palettes" from VIPM, a random subpalette is brought up instead of the top-level palette.  

In this case, the "Palettes" tab in VI Package Builder is not used at all.
+3
Jonathon Green 3 years ago • updated by Michael Aivaliotis 8 months ago 1

It would be really cool if I could add multiple dependency packages to a package as sub-packages so I could ship one package that contained all required packages. 

I can currently do this with a .vipc file, but love the idea that a package could do it.
Another good reason for sub-packages over .vipc files that I forgot to mention: .vipc files currently have to be installed in the same version they were created. For example, this means that to support multiple versions of LabVIEW for a package release, I have to add multiple .vipc files if I want to include dependencies + package in a .zip release. 

To start with I don't mind if its not exposed through the UI - as I would more than happy to do it myself with hooks. 
Backwards support for OGPB would be nice too.

+12
UNDER REVIEW
Jonathan Jay 3 years ago • updated by Michael Aivaliotis 8 months ago 2
There are a few packages currently in the list that seem like they'd be quite useful but until I look at the package's info I don't know if its a free package, a trial for a paid package, or a "buy before use" package. If there was another column added to the list that would very obviously indicate this it would be helpful in both sorting and deciding on what to download and use.
+1
Eichimat 9 months ago 0
I would suggest to implement a possibility to install packages unattended.
This could be useful if you have to setup lots of computers with the same libraries. If a unattended way was provided, this could be put in scrips etc.
Especially in our case this could be a reason why we cannot use VIPM. I created a *.vipc file and imported them manually. This worked very nice and easy but I am not willed to do this on all of our computers. A in my opinion easy and usual approach could be to put the functionality in a command line argument. I.e.:
VI Package Manager.exe /addLibrary "C:\library.vipc"

I know that there is the VIPM API. The problem is, that this is usable with the pro version only. To install the pro version on all of our computer would be too expensive and never needed any more after this step.
+5
Christopher Relf 2 years ago • updated by Jonathan Cohn 9 months ago 2
The current options are folder, folder (preserve heirachy) and llb - I'd like to be able to build as a packed project library to further protect library subcomponents.
0
Ninad Regundwar 10 months ago 0
In VI Package Builder when a new VI is added to the existing vipb the VI should be auto generated in the functions pallet without clicking the 'Auto generate Pallet'

Refer to post:http://forums.jki.net/topic/2227-add-new-vi-to-the-pallet/
+2
K Q 3 years ago • updated by Michael Aivaliotis 11 months ago 1
This feature would allow easy creation of start menu items so that users can access build applications, examples, user manuals, etc. in the same way they do for many other applications.
+6
UNDER REVIEW
Thoric 2 years ago • updated by Michael Aivaliotis 11 months ago 2

I ventured into the wonderful world of VIPM package building recently, and am impressed. However, one thing that immediately caused me issues was the use of a Source Folder as the root of the package definition. I wanted to point VIPM at my existing LabVIEW Project. Why? Because in my harddisk folder I have VIs not included in the Project, legacy files and VIs no longer in use. When pointing VIPM to the root folder it automatically picked up all these unwanted files, and it was a nightmare of "build error" after "build error" attempting to find them all and selectively remove them from the "Source File Settings" tree.


Idea: Can VIPM analyse the LabVIEW Project tree in the first instance of creating a new package to determine which VIs (files) are wanted and which are not to initialise/populate the Source File Settings?


+5
UNDER REVIEW
Jubilee 3 years ago • updated by Michael Aivaliotis 11 months ago 1
I would like to install all the BSD licensed packages and all the packages with private type of license which is as free as BSD with no binding limitation in the small letters.
At the moment I need to go over each license and find afterwards that I actually installed a trial version or some other tool that I won't be able to use.
If VIPM could organize the packages not only by the name of the license type but also by a deeper understanding of it (there aren't that many license types in VIPM after all) then I'll feel much safer while installing packages from VIPM.
+5
UNDER REVIEW
Jonathon Green 3 years ago • updated by Michael Aivaliotis 11 months ago 0
I would be beneficial IMO if you could see the Compatible with LabVIEW level (standard, silver or gold) of a package in the main screen. 

Of course this would only apply to the LabVIEW Tools Network repo but would be good to know whilst perusing new downloads in VIPM. I expect this would become more important as the LVTN repo grows
+5
UNDER REVIEW
Jonathon Green 3 years ago • updated by Michael Aivaliotis 11 months ago 0

I ran into the situation a few times when I wanted to abort what I was doing but couldn't. This seemed to be for network tasks. I thought it would be cool if I could abort these in the future.


+6
Jonathon Green 3 years ago • updated by Michael Aivaliotis 11 months ago 2
There are times where I want to update code to be distributed e.g. iterate over it and do some custom changes, but I don't want these changes to persist in the source code e.g. update version/build information of a tool, add reuse VIs to a LabVIEW Project Library and mark private etc...

When using OGPB this is doable because of two reasons:
  • There is a API available (see VIPM idea here)
  • I have access to the distributed location of the code before it is packaged 
One way to solve this is to be able to run a script on the copied source code location (which I am guessing would be the hidden folder .source) - immediately after it has been copied.

This would allow me to make these changes (in a well known folder hierarchy - another plus) without having to unpackage the package and go in with a post-build hook.
+10
UNDER REVIEW
Jonathon Green 3 years ago • updated by Michael Aivaliotis 11 months ago 0

I thought a cool new feature would be to allow adding multiple files on Insert... >> VI... to the Palette Editor instead of one at a time (and opposed to the entire folder). 



0
David Staab 11 months ago • updated by Michael Aivaliotis 11 months ago 1
Items with "Place VI Contents" enabled can't be password-protected. We currently have to find all of these VIs in the Source File Settings list and disable password protection inheritance on them manually. Why not do this automatically?
+1
Jed D 1 year ago 0

I would be nice to have the ability to install a package directly into a end user specified project folder instead of being forced to install to a set location.  This would be similar to how NPM manages dependencies for Javacript node.js projects.   


I assume this package would not be installed onto any of the pallets, but it would allow a user to work with multiple projects using different versions of the same packages.  You wouldn't have dependency overlap of installing things into your labview program files or OS user file locations.  I guess this would just be an extension for packed project library but with versioning built in

0
Thoric 1 year ago 0

After starting my build process, and waiting for about 10 minutes, it bombed with an error related to validation of the Automated Online Activation URL. This check is performed by calling "_ValidateAutoActivationURL.vi" from the NI_LV2PLicAPI.lvlib, and can therefore be done at any time. Can I request that this check is performed at the very beginning please? Thanks.

+1
Thoric 1 year ago 0

Star Ratings

With most things you can download these days there's usually some form of user rating, namely in the form of a score out of 5 stars, such as 


The best of the best

There are so many packages on VIPM now, and some I've never seen before and have never tried, that I wonder which ones I might be missing out on. I can't install them all, but if each were to display a star rating I could quickly pick out some candidates to try! I would know that these ratings would be coming from LabVIEW users and that I could trust them to be an honest reflection on the usefulness of the package.


NI Tools Network

The NI Tools Network already implements a ratings system, can we have something similar for the packages list view window? Clearly those that are supported on the NI Tools Network repository would need their rating to come from NI.


Submission

Of course, the ratings need to come from somewhere, and that would be us users. I think it would be great if you were able to provide your own rating for packages you have installed. If you are uninstalling a package, VIPM could ask you to provide a rating whilst it uninstalls so that you can provide feedback on why - it maybe that you hated it and this way you get to provide a low rating.

0
Ashish.uttarwar 1 year ago 0

It will be cool if there is a menu option (right click, menu bar etc.) for building a package of selected VIs?


http://screencast.com/t/bZbEaDixH


With Project Provider mechanism, this seems feasible as well.

+4
Steen Schmidt 1 year ago 0

In VI Package Builder I'd like to be able to specify a less-than-or-equal package version in the Incompatible Packages section.


The use case is this:

I update a low-level reuse VIP A, breaking compatibility with some of the VIPs that depend on A. Currently (VIPM 2013), in A, I can only select Incompatible Packages with versions "greater-than-or-equal", or "equal". What I'd like is for the VIP A installer to tell the user that they must upgrade their already installed VIP B, that depends on A, if they want to proceed with upgrading A. To do that I need to be able to specify package B from a version downwards as an Incompatible Package in package A.


Makes sense?


Cheers,

Steen

0
Ton Plomp 2 years ago • updated by Michael Aivaliotis 1 year ago 1

I have setup a post-build VI that checks all the changing files into our SCC.

However when I hit the 'Show package in VIPM' VIPM will resave the VIPB file with the new (for next build) version information, leaving me with a dirty project.


It would be nice if there were no alterations after the post-build VI.


Ton

Official answer
Michael Aivaliotis 1 year ago

Is this basically a request for NOT autosaving? Just want to clarify.

+1
Andy Soukup 2 years ago • updated 1 year ago 2

What is it?

currently you have the ability to add a file name prefix/postfix to all package files. I am proposing that we have the ability to add a file name prefix/postfix to ONLY the dependencies. This would be identical to the way that NI allows you to rename the dependencies in packed libraries.


Why is this needed?

When migrating your code into packages, you're presented with this series of events:

  1. I have X.vi. It is some piece of re-usable code that hasn't yet made it into a VIP.
  2. I build package A.vip and it has dependency X.vi included in the package
  3. I have application Application.vi that has dependencies A.vip and X.vi 
  4. Now, when i open Application.vi, I am unsure which X.vi will be used?!
Now, as a consequence of me applying configuration management, I have now completely lost configuration management if X.vi! (darn!). Usually, you are able to migrate X.vi into a package fairly quickly, but if you're working with a large library of reusable code (mine is 2300 VIs), this becomes an issue. 


With this change implemented, the series of events changes to:

  1. I build package A.vip and it has dependency X.vi included in the package as A_X.vi (assuming you add "A_" prefix to dependencies)
  2. I have application Application.vi that has dependencies A.vip and X.vi 
  3. Now, when i open Application.vi, the application uses X.vi and A.vip used A_X.vi

for a full discussion of this issue, see this thread http://forums.jki.net/topic/2103-rename-vi-dependencies/page__gopid__5165

0
Bela Komoroczy 2 years ago • updated by Michael Aivaliotis 2 years ago 1

Problem Description: When I use the VI Package Builder, I can make a list of package dependencies, which becomes a .VIPC file in the root folder of VI Package.


There is even a button in the "Package Dependencies" section to "Open VI Package Configuration". This opens up VIPC editor, where I can explicitly select for each entry if I want include only the link to the VIP or the whole VIP.


After closing the VIPC editor I am still in the VI Package Builder. I makes me very confident that the settings I have made in the VIPC editor are valid for the VI package I am editing right now.

But apparently it not this way. It brings up some other problems, which are real problems (not just theoretical) to me:

If a VIP (call it a.vip) has a dependency(call it a_dep.vip) that is used in the Pre or Post-Install steps, than I start to have a dependency hierarchy. If a.vip is a dependency to a new new.vip than it's not enough anymore to just include the the a.vip and the a_dep.vip in a VIPC file with the new.vip. From this point on nothing guarantees that a_dep.vip will be installed before a.vip.


Idea:

The option to have VIP file dependencies copied into the VIP file should be possible in the future. I find it the easiest to just simply reflect the status of the packages in the .VIPC file. There could be a switch like "Import Stored packages from VIPC file?" to keep compatibility with previous versions of VIPM.

0
Christopher Relf 2 years ago 0

...and maybe tell me about updates to packages I don't have installed?

+1
Christopher Relf 2 years ago 0

When I scan my repo, it tells me that there are no new verisons of packages that I have installed. I think it should also tell me if there are any new packages avialable since the last scan.

+1
Ton Plomp 2 years ago • updated 2 years ago 2

I tried to create a VIP that contained the famfamfam.com Silk icon set as a glyph set for the NI Icon editor.

The Icon editor stores the PNG files in the '%Default data directory%\Glyphs' path. Unfortunately the %Default Data Directory% isn't available as a target in VIPM.


Ton

+7
Jonathon Green 3 years ago • updated by Michael Aivaliotis 2 years ago 3

I not sure if this got bought up before (in the beta?) but I would like a better UI for interacting with dependencies then there currently is. I just find it hard to find what I want unless I know the exact spelling of the package name (VIPM 3.0) or display name (VIPM 2010) and scrolling through everything is not that fun :)


+1
Brandyn Adderley 2 years ago • updated by David_L 2 years ago 1

I would like the ability to categorize VI packages that are built.  If my company has 3 basic categories for a toolkit (1. use at own risk 2. Semi-tested 3. Certified). Then this category can be displayed when a user installs a package.  


Furthermore, once this information is gathered, you can then possibly search and install only Rock solid packages, for example


+3
Olivier-jourdan 3 years ago • updated by Michael Aivaliotis 2 years ago 2
As far as I've seen "custom action" VI cannot have SubVIs. It might be useful to allow that.
One of my use case is to create a package to "install" QuickDrop shortcut in LabVIEW.ini file. Source code could be too large for manage user interface dedicated. Workaround I've used is not satisfying.
I should understand that my use case is perhaps  a wrong usage of VIPM. 

+13
Jonathon Green 3 years ago • updated by Michael Aivaliotis 2 years ago 3

I think it would be really cool if a dynamic palettes (I will call it that after the OpenG package name, but there maybe a better descriptor for it?) were a first class feature of VIPM. There would be nothing better than being able to open up a native LabVIEW palette and being able to select from your code - all conveniently in the one place just like the OpenG ogrsc_dynamicpalette package does for OpenG etc...


+2
Aristos Queue 2 years ago 0
VIPM 2012 can create links that when users click on them in the browser will open VIPM and install the file... but only on Windows. For Mac and Linux users, there is no way to use a link, since there's no way to download the file and then open the package. The main VIPM menus need an equivalent to File >> Open File but for opening URLs. (Or fix the system so that links will open VIPM on these other platforms, but I get the impression that's hard to fix.)
+2
Christopher Relf 2 years ago • updated by Michael Aivaliotis 2 years ago 3
I'd like to see a wizard added to the repo interface - i figure most people need help when they're setting up their first repository.  or, better yet, make the repo interface more like the package builder interface.
+8
Olivier-jourdan 3 years ago • updated by Michael Aivaliotis 2 years ago 3
It would be great to be able to install a package for each compatible version installed on a computer.
+1
Bela Komoroczy 3 years ago 0
In the VI package buider in the 'Palettes' section you have the possibility to edit the icons.
It would be very useful if besides 'edit icon' and 'autogenerate icon' there would be an option to change the way the icon autogeneration happens.
For example in the LabVIEW icon editor, if you choose a template (which can be fully customised) which has a header, than the text entered in the icon editor is automatically placed under the header. Options like this, and also some other clever ways to cusomise the autogeneration of icons would make the customisation easier.
+2
John Lokanis 3 years ago 0
When I am browsing the LabVIEW Tools Network, packages that I have already installed are not marked as INSTALLED.  So, I cannot be sure if I already downloaded something.  I would like to see thiswork like the Apple App Store, where it shows me what is installed and alsolets me know what is new and what is updated.