Developer Center Blog

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 

How to Change Connector Panes in New Versions of an API

Roso
NI Employee (retired)

When developing a new version of an API, have you ever wanted to change a connector pane, but were worried about backwards compatibility for existing users or customers?  Here is one idea to solve this problem.

When changing the terminal assignment of an icon, you can maintain backwards compatibility by creating a wrapper around the existing function with the new terminal assignment and replacing the old function in your palette with the new VI.  Your old function should then be included under your source code directory (in \vi.lib\).  This ensures existing users' code will still locate the dependency after upgrading, but new users and new code can utilize the new VI and terminal assignment.

To demonstrate, take the fictitious example of an OpenG function where the 'dup VI reference' terminal is in a location other than the recommended 'reference' wire location in the top left & right terminals:

   pane1.png

If a developer were to release an update where they had modified the terminal location to set it to the recommended top-right terminal, the old VI would be broken:

pane2.png

Now, if instead the developer were to create a wrapper around this function with the correct assignment and replace the palette entry with the new wrapper VI, old applications will still work and new applications can make use of the new assignment:

pane3.png

Notice, you can also edit the icon for the old version to indicate the function was deprecated.  We recommend documenting this in your upgrade notes and VI description for the old function so users know why the change was made and realize it will not negatively impact execution if left as is.

That's all there is to it!

One caveat to note: the new VI will need to have a different filename from the old one, but you can keep the same name in the palette.

For help re-packaging the new API using VI Package Manager, click here.

For help customizing palettes with VI Pakcage Manager, click here.

Comments