Secrets of the VIPC

Update: For the latest information on VIPC files read our latest knowledge base article here.

Wherever there’s a forum discussion about source code control or reuse library management (e.g. here, here, or here), you’re likely to find a JKI engineer or JKI customer (or both) talking about VI Package Manager Professional, and specifically about VI Package Configuration (VIPC) files.

VIPC files are one of the most important–but least understood–features of VIPM Professional. They help you keep track of the package versions for the project you are working on. This makes them great for:

  • People who switch between multiple projects, or come back to old projects once in a while to fix bugs or add features.
  • People who work on the same project(s) on multiple computers.
  • People who hand-off projects to other developers for maintenance.

If any of these scenarios are familiar to you, keep reading. VIPC Files may solve some real problems for you.

What is a VIPC file anyway?

If you’re serious about LabVIEW development, you probably employ some form of LabVIEW code reuse in your projects. Over time, you will find that each project uses slightly different libraries or different versions of different libraries. Generally speaking, it’s important to know which projects use which libraries. If you don’t, then you run the risk of building your new app with libraries that are too old, or too new, or just plain wrong. Maintaining this traceability saves time and money by reducing bugs and increasing reliability; in many industries it’s even a legal requirement.

VIPC files are VIPM’s solution to this problem. VIPCs make it easy to “apply” package configurations when you switch projects. This control allows you to selectively install/upgrade/downgrade packages on a per-project basis so you use the right packages in the right project every time. Then you avoid the massive risk incurred in the previously mentioned scenarios.

There’s not enough room here to fully cover all the benefits of VIPC files, so here are just a handful of “secrets” you may find helpful:

Secret #1: Creating VIPC files is super-easy

It’s super-easy to create a VIPC file for each of your projects, because VIPM does the work for you. From the VI Package Configuration Editor, simply press the Scan Project button. VIPM will analyze your project, identify the packages you are currently using, and automatically add them to your VIPC file. It will also remove packages that you don’t depend on. As your project grows or changes, your VIPC file stays updated with just a click of a button.

VIPM Package Dependency Scan Results

Secret #2: Packages can be built into VIPC files, or included by reference

If you don’t care about disk space or aren’t sure about your network connection, your VIPC file can include the actual data for each package it contains. Alternatively, if your development machines have reliable network access, you can simply include each package “by reference.” VIPM will automatically download and install referenced packages (from the LabVIEW Tools Network or other repositories) as needed.

VI Packages "by value" and "by reference"

Secret #3: Applying configurations is easy

You can apply a VI Package Configuration either from Windows Explorer or from within VIPM. In each case it only takes a couple clicks to update your project to the latest libraries.

Applying a VIPC

Secret #4: Every edition of VIPM can apply VIPC files

You have to be a VIPM Professional or Enterprise user to create or edit VIPC files, but any VIPM Community user can apply them. This means that a single project lead can maintain VIPC files for a whole team, and makes deploying your project reuse libraries easy.

This is just a brief introduction to the value of VIPC files. Larger teams frequently find that they need the private network repository features of VIPM Enterprise, but for individuals, small teams, and organizations just starting out with LabVIEW code reuse, VIPC files provide a great way to safely manage reuse code for multiple projects or multiple computers.

If you have questions or comments about VIPM or VIPC files, please join the discussion below!

If you would like an evaluation license for VIPM Professional or Enterprise to try out VIPC files for yourself, please contact us and we’ll be happy to help you.

This entry was posted in JKI Software Products, VIPM and tagged , , , , , . Bookmark the permalink.

7 Responses to Secrets of the VIPC

  1. Fabiola says:

    How does this work with source code control (like Subversion or Mercurial)? Would we keep only the VIs in the VIPC files in the repository or only the VIPC or both?

  2. Omar Mussa Omar Mussa says:

    Hi Fabiola,

    For our projects, we keep the VIPC file in the repository (we use the ‘by reference’ version as much as possible to keep the size of the VIPC file low). This way, when a project engineer starts a project, they can do an update from their repository and then apply the VIPC file, and BAM they are ready to start working on the project. The VIs that are in the VIPC files are the ‘source’ for the VIPs (packages), and we keep the source for VIPs that we create in our svn repository as a separate project than the project where we are using the reuse VIs.

    I hope the clears it up, let me know if you’ve still got questions!
    Omar

  3. Fabiola says:

    Hi Omar,

    First of all, I am loving VIPM and the option to create VIPC. They look like a great alternative to “Source Distribution” option in the “Build Specifications” section of the “Project Explorer” in LabVIEW.

    I was going through the steps you mentioned and I noticed that on “Secret #1”, it says:

    “From the VI Package Configuration Editor, simply press the Scan Project button. VIPM will analyze your project,”

    While in fact it is analyzing the project “FOLDER” or a VI, but not the project file (*.lvproj). I think the Package Configuration Editor should be able to scan project files as well.

    Thanks,
    Fabiola

  4. Omar Mussa Omar Mussa says:

    Hi Fabiola,

    Thanks for the feedback! Yes, you are correct, it would be great if VIPM could scan lvproj files, that’s a feature that is on our road map that we’ve had on the back-burner for some time now. I’ve forwarded your idea to the VIPM development team :)

    Omar

  5. Pingback: JKI Blog · VIPM 2010 for Mac OS X Now Available

  6. Pingback: NIWeek 2011: “Five Clever Debugging Techniques” Slides and Code Now Available | JKI Blog

  7. Just wanted to mention that scanning project files is now available in VIPM 2012.

Leave a Reply

Your email address will not be published. Required fields are marked *