One of the fundamental parts of any PDM system is its ability to track the history of documents. How it tracks that history can vary from system to system. With SOLIDWORKS PDM, it does this through document versions. So, that begs the question, “What is a Version in the SOLIDWORKS PDM vault?”
The short answer is that a version is a “snap shot in time” of a particular document. Versions are created in PDM as we make changes to the files in the system.
By default, all the files in PDM are locked down and read-only (vaulted). In order to make a change, we have to take ownership of that file. In SOLIDWORKS PDM, we call it a Check out.
When you check out a file, it’s a lot like the library. For as long as you have that file checked out, you are the only one who can make changes to it and also see those changes. When you are done, you check in the file, returning it to the system for everyone to access and see. From there, another person can check out that file, and the cycle continues.
Every time we check in a file, a new snap shot is retained in the system’s history. So if you go through this process ten times, there will be ten versions of that file.
The good news is that the system does all of this for you. You don’t have to worry about version control or how it works. It just does it automatically, but I know a few of you out there want to look behind the curtain, so let’s dive a little deeper.
The SOLIDWORKS PDM System is made up of Archive, Database, SNL, and client machines. When you access PDM, you do so from your client in windows explorer. When you get a file, the client asks the database where that file is located. The database goes to the Archive, finds the file, and serves it to your client. You can then preview the file, check it out, or do other activities directly on your local machine.
On your client, you can only have one version of that file at a time and we are typically working with the latest version. So what happens when I want a different version of the same file?
When you see the file on your machine, all the versions will have the same file name. In a way, they are all the same file, just from different points in time. This is why you can only have one at a time. You can‘t have a file with the same name in the same location. So, what magic is happening in the background? All these files must exist somewhere? They do, and this place is called the PDM Archive.
In the PDM archive, you will find all the versions of all the files in the vault. Even the deleted ones. They are stored in a special way to prevent having the same files in the same place. The archive exists on a server in your network that is inaccessible to normal users. If you were to look inside the archive, you would see a series of folders labeled 0-9 and A-F. And inside of those folders you would see hundreds of folders with hexadecimal names. What we are seeing here is the skeleton of the PDM system. Whenever you add a file to the vault, it creates a new hexadecimal folder in the archive and uploads the file into that folder. To prevent duplicate file names, it also renames the file during the transfer. The first version of a SOLIDWORKS part would be renamed 0000001.sldprt, version two would be 000002.sldprt, and so on. So if we had ten versions, we would have files 0000001 through 0000010.
So, let’s go back to the question: What happens when I want a different version of the same file?
Let’s say we have version 6 of the “10000239.SLDASM” on our client machine and we want to see version 2. When we request the previous version, the client asks the database for version 2 of this document. The database finds the record for that document and retrieves the hexadecimal value for that file. It goes to the archive, finds that folder, and locates file 00000002.SLDASM. It then gets the file, renames it, and then replaces the file on your client with the older version. This is why you will sometimes get a “replace file” warning when you get an old version of a file and you have the file checked out. The system is overwriting the file in your local cache with the version found on the server.
You now know a little bit more about how the system ticks and keeps everything in order. Here are a few more facts about version control in PDM:
The Versions in the archive are full copies of the file. They are not differential copies. This means that if you have a 1mb file with 10 versions, you are consuming about 10mbs of disk space.
You can choose to overwrite a version. This allows you to check in a file multiple times without consuming additional disk space. You do, however, loose that history.
If you only change card data during the check out, you will create a “metadata change only” version. It will increment the version number, but not create another copy of the file. Note that if your data card is linked to custom properties in the file, it may still copy the file since changing a custom property changes the file.
There are version links in PDM. If you have a family of files, like a SOLIDWORKS assembly, there are version specific references. This allows for that “snap shot in time” for collections of files.
You can add a version column to your window explorer details view
You can see when versions where created from the history window
If you would like to know more about anything discussed in this post, please submit a comment below or email firstname.lastname@example.org