Free Basic Data Management System for Pro/Engineer, Solidworks and other files.:
This method utilizes the free (GPL) software Subversion server, TortoiseSVN client and a simple Windows batch file ProReNumber to rename the Pro/Engineer files on the client (not required for Solidworks or other files) and some self-discipline of the users.
If you use a folder structure (very helpful) then you can also create a batch file to create a search.pro file in the top directory. Then when you start Pro/Engineer in that folder all the paths are set for all the subfolders. You can also have the batch file start Pro/Engineer. Just create a batch file with the following line(s) in it:
dir /a:d /b /s >search.pro
Rem The next line will start Pro/Engineer (you must update this to your start command)
This software will allow users to:
Upload files (Import). This adds new files to a new repository. It uses the subfolder structure within the folder you select.
Check Out files. This copies the files and creates a link to the server.
Download flies. This makes local copies but does not link to the server (dumb copies).
Lock files: So no one else can upload them. They can still modify them.
Update files: Download only the outdated files.
Commit files: Upload only the changed files.
Branch files: Try a design path that may or may not get merged into the main project
Tag files: This is the equivalent of releasing a file. If you have one sub-folder per assembly then when you release the assembly you can "Tag" the folder to release it.
Check out Branch or Tag files: Similar to "Check Out As Stored" in Intralink.
Plus more features that we have not look into yet (email notifications, Submittal reviews / approvals, etc).
What this will not do:
Track dependencies between files: The user must understand and manipulate dependant files together manually. This is where using folders and having common names for drawings and models helps.
Prevent duplicate file names in instances. In fact the server will have no knowledge of family tables and instances.
Modify the file in any way. You cannot use it to rename files and have parent files get updated. The Parent files will fail regeneration.
Handle Pro/Engineer's changing file extensions (.1, .2, .3, etc.). This is where the ProReNumber is used.
Handle Pro/Engineer's, Solidworks' and other temporary files (.inf, .tst, etc). This is where the ProReNumber can be is used and / or you can create "Ignored" file rules.
It is strongly suggested that the users keep the working folders "clean".
Download the files.
Install Subversion on your Windows 2000 or higher file server.
You can install the SVN server to use Apache (http) web server or its own Snvserver executable server (simpler install but less configurable).
Read the text file in the Program's folder.
You will have to create a folder for the Repository and subfolders for each project you wish to control independently (most likely just one subfolder).
Install SVNserver as a service: From an DOS prompt enter "sc create svnserve binpath= "\"C:\Program Files\CollabNet Subversion Server\svnserve.exe\" --service -r C:\SVN" displayname= "Subversion Server" depend= Tcpip start= auto" using your own paths.
Install TortoiseSVN on the server (optional).
You will only use this to "initialize" the Repository's subfolders.
Install TortoiseSVN on the clients.
Install ProReNumber on the clients.
Initial upload of your files:
Create a folder and subfolders and move your Pro/Engineer, Solidworks and other files there.
Right click on the folder in Windows Explorer and select "Import" from the TortoiseSVN menu.
Enter the URL for the server (svn://<server name>/<repository subfolder"). You will also have to enter your password now.
Initial check out of your files:
Delete all the files and folder in your working folder.
Right click on the folder in Windows Explorer and select "SVN Checkout".
Enter the URL for the server (svn://<server name>/<repository subfolder").
Now you are ready to start working.
Remember if you are using Pro/Engineer it is important to always run "ProReNumber" before any operations with the server (Commit or Update).
Please let us know if you have any suggestions or techniques that we should add here.