I have LabVIEW 8.0 and Microsoft Visual Source Safe 6 (VSS) installed and was looking for help with the correct way to integrate the two environments. This will be used in a team environment and code modules will be shared between team members. I have used and understand the new project manager with it's virtual directory structure. I have also used and understand VSS and its abilities to share and branch vis or project folders.
When you share an item in VSS, the vi is available for use in both projects and physically resides in both projects within your working directory. If I were just using VSS, this is the method I would use (and what is recommended in the VSS documentation). This way an entire project contains all the files and can be retrieved all at once.
When you use the LabVIEW 8 project manager, it appears that the intent is to only have the code in one location and share it through virtual folders. This makes sense and works fine until LabVIEW 8 and VSS are both used. LabVIEW 8 can handle check in/out and adding files to VSS. A LabVIEW project can even use vis that belong to other LabVIEW projects and other VSS projects.
My concern with all this is what happens when a team member wants to bring down code to their working directory or rebuilding my own working directory. LabVIEW's project manager does not appear to provide a direct view to the VSS database. I can go into VSS and pull down a LabVIEW project file (lvproj file only) and open it up. All appears to be fine and all VSS information is intact. What is not there is any indication of which files actually exist in my working directory or any way to perform a "bulk" retrieval of all the files required in my project. If all the files reside in a virtual directory, I don't even know where to go get them from. One solution could be to follow the VSS style and ensure everything is native to a project or at least shared with a project (within VSS). This may be cumbersome and would not follow the LabVIEW project philosophy. I may also miss something since LabVIEW "remembers" where stuff is for you. Following the LabVIEW project method could make it difficult to bring a project back to life and also has the potential to leave some vis out of source code control (sub vis don't have to belong to a LabVIEW project).
Does anyone have thoughts on this subject? What is the most efficient way to ensure that all project items are in source code control and that all projects are retrievable and functional?
Thanks,
Greg Cloutier