All of HSE’s open-source core reuse libraries are now maintained via VIPM and installed into vi.lib. This strategic shift away from keeping dependencies local within each project enhances our ability to share DQMH template modules more easily. This move lays the groundwork for more exciting developments we have in the pipeline.
The Importance of Reuse Code
The primary goal of our reuse code is, unsurprisingly, to be reused. This goal is only achievable if the code remains unchanged across different projects. When modifications are made within individual projects, they might not make their way back to the original reuse library repository. Consequently, updating the reuse library with new versions becomes problematic without overwriting these custom changes.
Challenges with Project-Based Dependencies
While having all dependencies within the project repository (clone it, and everything is ready to go) is convenient, it complicates the sharing of various libraries that might build on one another if they are not installed into a common location like vi.lib
.
Consider an HSE-flavored DQMH module template installed in your Windows user home directory. This module depends on our HSE Core Libraries. If these libraries reside within your projects (each repository has its own set), which library should the DQMH module template link to? This scenario is a recipe for constant problems. The only viable solution is to install reuse code into vi.lib
, a special symbolic path within LabVIEW.
Benefits of Moving to vi.lib
Due to the specific way LabVIEW handles linking to dependencies and the special status of vi.lib
, we believe that relocating our reuse code to vi.lib
will significantly simplify the process for us to provide reuse code and for the community to consume it. Here are the key benefits:
- Centralized Management: By moving to
vi.lib
and using JKI VI Package Manager for installation, all dependencies are centrally managed, avoiding multiple versions scattered across projects. - Simplified Updates: Updates to the reuse library can be easily integrated without the risk of overwriting project-specific modifications.
- Enhanced Collaboration: Sharing and collaborating on code that builds on existing libraries becomes seamless, fostering a more robust development environment.
Our New Core Packages: Reworked And Reorganized
HSE Core: Libraries v4
The hse-libraries form the basis of all our applications, similar to a very basic framework. They are a collection of useful VIs developed over the years for and within our real-life projects.
HSE Core: DB
This new package is a collection of database drivers and DQMH modules for DB connectivity.
HSE Core: Framework
The framework offers a set of generic DQMH modules that serve as the foundation for the UI components of the HSE Application template.
HSE Core: GenNet
This package is an evolving collection of helper modules and libraries designed to enhance our Generic Network DQMH modules. While this project is a work in progress, we are also focusing on upgrading our Generic Networking Examples to ensure comprehensive improvements. We appreciate your patience as we work to deliver these updates, which may take a little longer to complete.
Transforming the HSE Application Template
Our HSE Application Template and its companion tool, the HSE Application Template Wizard, are built on the HSE Core Libraries and we are excited to announce the release of version 4 of these libraries. This update includes important cleanups and the removal of unused legacy code. However, the biggest change is that we are moving from project-based installation to deploying the libraries as VI Packages. Now, you can install them using the JKI VI Package Manager (VIPM) directly into lv.lib
, making the process more streamlined and user-friendly.
We strongly recommend using the new package-based HSE Libraries for all new projects, starting with the HSE Application Template Wizard. This wizard simplifies the creation of a new HSE Application directly from the “Create Project…” menu in LabVIEW.
If you have an existing project using HSE-Libraries version 3, it is possible to migrate to version 4. Due to how LabVIEW manages project dependencies, this migration process can be time-consuming, typically taking several hours depending on the project size. In an upcoming post, we will detail the migration procedure and introduce a tool designed to streamline this process.
How to Install All Needed Packages
To simplify the setup for your projects using DQMH and the HSE App Template, all required packages are available on the VIPM Community repository (https://www.vipm.io). You can install them effortlessly using the JKI VI Package Manager, compatible with LabVIEW versions from 2020 onwards.
To get started, search for “HSE Application” in the VIPM search box and install version 2.0.0 of the “HSE Application Template Wizard” package. This single installation will automatically fetch and set up all necessary dependencies in lv.lib
.
If you only require specific packages from our libraries, search for “HSE Core” and select the ones that suit your needs best.
What’s Next?
We value your feedback! Whether you encounter hiccups, have suggestions, or wish to request new features, we rely on your input to make our core libraries the best they can be. Help us make this release the greatest yet by sharing your thoughts.
Feel free to visit the respective GitLab project to add new issues:
- HSE Libraries v4 Issue Tracker
- HSE DB Issue Tracker
- HSE Framework Issue Tracker
- HSE GenNet Issue Tracker
- HSE Application Template Issue Tracker
- HSE Application Template Wizard Issue Tracker
And, if you prefer a more synchronous type of communication, hit us up on our Discord server: