We're trying out LabView this year and I'm finding the experience with Subsystems to be a bit lagging in comparison to the Java or C++ implementation where Subsystems are collected under one directory structure to keep things a bit cleaner in the project. This also helps solve a problem with source control in LabView which apparently doesn't work without the auto-populating directory we've named Subsystems in this example.
I don't understand why one isn't allowed to create a subsystem within an auto-populating directory structure, but if you want its possible to move the files around on disk then force LabView to comply with the move by fixing the conflicts that the move causes afterwards in the software by re-mapping the new homes.
See attached for an example of what I would expect should be possible.
The auto populating folder is just a map to how the files are displayed in windows.
LabVIEW doesn't understand a folder of files as a group set of files.
If you go to the files tab in the project and right click on the folder you can move it but can't copy.
You will have to click on explore and copy the folder in windows.
I wouldn't recommend this as it will create a bunch of file with the same name and you will have to deal with all the conflicts it will generate.
I would recommend you place all the subsystem files in a .lvlib.
LabVIEW does recognize files in a .lvlib as a file group.
you can create an new lvlib and then drag the files into it
Then Save the lvlib preferably in the same folder as the files.
when the files are placed into the lvlib their name space now reflects the lvlib they are link to.
Now that all the files are linked together through the lvlib all the files can be copied as a set using save as.
You will have to create a new windows folder but all the files will be copied together and the lvlib name spacing keeps the same file names from creating conflicts.
I am using this technique to create a subsystem template in a video series I put together for teams I am helping remotely. If you would like to see how I use the lvlib templates they are demonstrated in Demo 1 video starting at 10:40 min.
The video also shows how to make an icon for the lvlib so all the vis inside will have a common icon header.
Here is a link to all the videos if you are interested (Lockport Porterbots team 4292 you tube channel)
Interesting that there is another approach to achieve this, but really all I'm looking for is taking two existing features and melting them together. I like the way the "New Subsystem" created stub code to work with. Combine that with "Auto Populating" folder structure functionality and then there's less issues to be had with Source Control tools like GIT. Thanks for the feedback though .
but really all I'm looking for is taking two existing features and melting them together.
Are you looking to merge 2 vis into one? There is a merge tool that can help do this.
FYI for ideas we should like the thread at the link below.
LabvIEW Idea Exchange - https://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas
Also here are short introductions for GIT and LabVIEW that I've found helpful. I know they might not solve the request but maybe there's information here that can help bridge the gap.
Getting Started With Git and LabVIEW - https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019OWSSA2&l=en-US
Every Developer Needs a Time Machine - https://delacor.com/every-developer-needs-a-time-machine/