Return to NI Tools Network Software Requirements
| Requirement | Additional Resources |
| Packaging and Installation | VI Package Manager: An Introduction |
| The add-on is packaged with VI Package Manager. | VI Package Manager: How to Create a Package |
| The package is configured for required and/or incompatible VI Packages. | VIPM Support: Package Configuration |
| The package includes a EULA which complies with the “Restrictions” and “Application Deployment” sections of the NI Software License Agreement. | |
| The package supports at least the latest LabVIEW version. | VIPM Documentation: Install Requirements |
| The package description outlines software and hardware requirements and incompatibilities. | VIPM Documentation: Description |
| If the package requires LabVIEW or VIPM to be run with administrator privileges, the package description communicates this to the user. | Checking LabVIEW Administrator Privileges |
| [Recommended] Package either checks for required software or prompts the user to manually check for required software. | Example: Detect Hardware Drivers Before Loading a VI |
| Licensing and Activation | Choosing the Correct Licensing Method |
| [Recommended] The add-on utilizes the NI License Manager (NILM) 3rd Party SDK for licensing. | NI License Manager Third-Party SDK |
| The add-on is able to be evaluated immediately upon downloading the software. | |
| Users are reminded of the remaining trial time or uses. | |
| Upon the trial expiring, users are prompted to activate the add-on. | |
| The add-on can be activated using appropriate credentials. | |
| If the add-on is not using NI License Manager (NILM) 3rd Party SDK , activation instructions must be placed in the detailed help. | |
| Examples | Example VI Guidelines |
| The add-on includes examples that demonstrate typical use cases to help the user get started. If examples are not appropriate for the add-on, a step-by-step tutorial should be added to the add-on's documentation. | VI Package Manager: Adding Examples, Help, and Tools Menu Items |
| Examples are integrated into the Task or Directory view of NI Example Finder. | LabVIEW Example Finder Hints |
| Examples include VI descriptions viewable from NI Example Finder. | |
| Instructions on the front panel of example VIs describe exactly which steps the user must follow to run the example. | |
| Example VIs are not part of a licensed library. | |
| Example VIs contain unlocked, viewable block diagrams. | |
| Example VI front panels and block diagrams are placed and sized for easy viewing. | |
| Comments are used to explain block diagram functions and algorithms. | |
| Default values of example VIs allow the user to run the example without modification unless documented to the user (e.g. "Specify an input channel for your DAQ device") | |
| Example VIs comply with LabVIEW Style Checklist | |
| [Recommended] Example VIs contain non-default icons. | |
| File Structure | File and Folder Names for Integrating into LabVIEW |
| Add-on files are placed in the correct locations. | |
| All the supporting files should be placed either in vi.lib folder or in a custom folder other than Examples/Help folders. | |
| Files and folders follow a recommended company/product naming convention to ensure namespacing and avoid conflicts with other add-ons. | |
| Palettes and Icons | LabVIEW Palette Guidelines |
| Add-on VI palettes are accessible from an existing logical category in the Functions palette. Any existing category may be used except "User Libraries". | |
| Add-on controls palettes are accessible from a custom top-level category or within the "Addons" category of the Controls palette. | |
| Palette organization follows palette guidelines. | LabVIEW Palette Guidelines |
| VI and palette icons do not contain NI company or product logos. | |
| VI and palette icons contain a similar style or glyph to help users understand the VIs are related. | |
| [Recommended] VI and palette icons use glyphs or images to illustrate the VI's purpose. | |
| API Design | Strategy for Designing an API |
| The API uses a consistent terminal design across all VIs (e.g. reference terminals aligned across all VIs) | |
| API VIs contain error terminals on the bottom left and bottom right of the connector pane. | |
| Left-side terminals of API VIs are used for inputs and right-side terminals are used for outputs. | |
| All API VIs contain VI descriptions visible through Context Help. | |
| [Recommended] API VI descriptions contain a link to the API's detailed help. | |
| Detailed Help | Documentation Best Practices |
| The add-on includes detailed help accessible through the LabVIEW Help menu. This can be installed locally or hosted on the web. | LabVIEW Help Menu Explained - Link to PDF, HTML, etc. |
| The detailed help outlines all hardware, software and operating system requirements. Included Utilities should be also documented for a successful operation. | |
| The detailed help directs users to an appropriate support channel. Free products may list "not supported". | |
| [Recommended] The detailed help describes how and when to use the primary VIs of the product. |
| Deployment | Add-on Development Guidelines |
| The add-on is able to be deployed to all targets with which it specifies compatibility (e.g. LabVIEW Real-Time, FPGA). | |
| Reusable code provided by the add-on must be able to be built into a deployable application (e.g. DLL, EXE). Exceptions or limitations must be documented in the product detailed help. | |
| If there are any special considerations for deployment using the add-on (such as licensing restrictions), these exceptions must be documented in the detailed help. | |
| Utilities | |
| Utility window placements and interactions are intuitive to the user. | LabVIEW Help: Window Run-Time Position Page |
| Utility VIs run when opened and closes after execution. | LabVIEW Help: Execution Page |
| Utility VIs exclude ".vi" from the window title. | LabVIEW Help: Window Appearance Page |
| Utility VIs hide the toolbar during execution. | LabVIEW Help: Window Appearance Page |
| The user is provided feedback during long operations. | Tools for Long-Operation Feedback in LabVIEW |
| [Recommended] Utilities can be launched from the LabVIEW Tools menu. | VI Package Manager: Adding Examples, Help, and Tools Menu Items |
| Miscellaneous | |
| The product does not include or install any malicious software. | |
| There are no unexpected crashes or errors when using the product. | |
| There are no memory or processor resource issues when using the product. | LabVIEW Help: Profiling VI Execution Time and Memory Usage |
| The product complies with the LabVIEW Tools Network Style Guide. | NI Tools Network Style Guide |
| The product name should comply with any NI trademarks, e.g. Product Name for LabVIEW by Company/Product Name for USRP by Company | |
| Custom error codes are registered with LabVIEW using an errors text file. | Error Codes |
| The product and accompanying documentation are localized in English. | |
| It is clear to the user when administrator rights are required for successful use of the add-on. | |
| [Recommended] Custom error codes use a range assigned by the LabVIEW Tools Network team to avoid conflict with errors from other add-ons. | Error Codes |