Most of the Enterprise PDM support inquiries that come through our support line are somewhat unique and solutions are usually relative to each customer’s individual set up. However, there are some support inquiries that tend to be similar in that they originate from the same misunderstanding of how the software works. Moreover, it is sometimes found that best practice usage of the software is not really being practiced. One of the unwanted outcomes of misunderstanding or the misusing the software is loss of work. This can be by unknowingly replacing a file that has been worked on for days, losing version history of a file, or even finding that a file has mysteriously disappeared.
In an effort to educate and or remind ourselves of the best practice usage and the clearing of misunderstandings with Enterprise PDM, the article “SolidWorks Enterprise PDM – Best Practices to Avoid Losing Work “ provides advice to avoid loss of work based from commonly received support inquiries.
Renaming and Moving Files
Enterprise PDM (EPDM) manages two main pieces of information that are essential to locate a referenced file – file name and file path. If the file name or path information is changed, EPDM updates the information in the database to maintain references.
Best practice for renaming a file in Enterprise PDM is to release ownership of the file by checking it in prior to renaming. When files are checked in and renamed, EPDM sends the command directly to the database. EPDM then updates the references of its direct parent files (i.e. assemblies that use the renamed component). For this reason it is also important to check in any direct parent files prior to renaming. You can find the direct parent(s) of a file by highlighting it and using the “Where Used” tab in EPDM Vault View.
The same advice applies when moving a file or multiple files. To make sure the new path information is sent directly to the database, check in the file and its parent(s), and then move.
Important: When moving a file, use “cut and paste” NOT “copy and paste”. Using copy and paste will create new local files in the new directory with no version history; and if the original files are destroyed, the version history will be lost with no recovery.
Working Offline & Local Files
EPDM allows you to “Work Offline” if you have lost connection to server or if you need to work outside of the network. The biggest tell-tale sign that you are offline is that the green folders in EPDM are now blue. In this offline mode, you are able to edit local cached files (if writeable), save them, and then check them in when connection to server is established. Items in the vault are writable if you check them out prior to going offline.
One must use caution when working in offline mode. If files are renamed or moved in this mode, the database will not know of the change and new local files with no history will be created. The original unchanged files will still be in the vault, you will need to cache it again once EPDM is back online.
EPDM is both a cache folder and a vault browser. This means that given the right permissions, you can see files that are available in the vault as well as <Local Files> that are in your local Vault View. If you cannot find a local file that was recently created, this does not mean that the work done in it is gone. There is a setting to “Show all files” which will allow you to see local files. This setting is located in the Administration program > expand Vault > Right mouse click on [Users] or [Group name] > Settings… > Explorer > “File types to show:”
Important: If you edit an assembly to reference a <Local File>, you must check in the <Local File> with the assembly to prevent reference issues when another user opens the assembly.
Important: The attribute that makes checked-in files “Read Only” is in the properties of the file itself and can be manually changed to writable by anyone.
Best practice is to not touch the “Read Only” attribute at all. If work is done to a writeable checked-in file, EPDM will replace the cached file with the one in the vault during check out and cause loss of work. Luckily, EPDM will warn you before it replaces the file.
Who would want to alter the “read only” attribute? It is unlikely that someone would want to deliberately change a read only attribute of a cached file to work on it. However the ability to do so is there and for that reason it is important to know the risks.
When to not “Get Latest”
If you have checked out a file, worked on it, and then you get latest version of the file, the latest version from the vault will replace the local file where you have worked. If you worked on it for a long time without checking it in periodically, all the changes made will be discarded.
In the Get Latest window EPDM does notify you if it detects that there is a file checked out by you and you are about to “Get” the vault version of the file and replace your “Local Ver. -/1” in your cache:
Note: The Get Latest command shown above was done to a folder that is two levels up the folder structure. This notification appears if you Get Latest anywhere from the checked out file itself to the top-most folder in the folder structure.
It can be easy to miss the notification described above. If you continue with getting latest, EPDM will still warn you that you are about to replace the checked out file:
If “yes” or “Yes to All” is selected, files that were worked on will be overwritten.
Older Version Files
When an assembly that is in EPDM is opened in SolidWorks, SolidWorks opens the assembly file and components that are cached in the machine. This means that in order to open the assembly in its latest and greatest form, all referenced components must be the latest version.
In a scenario where you have older versions of a component already cached in your machine, then you check out the assembly, but then uncheck the “Get” box (Red Arrow in image below), this will cause the assembly to reference your cached component which is not the latest and greatest. This may seem like loss of work but in reality, you are just opening the assembly and referencing the old components in your cache.
To avoid opening the assembly with the wrong version of components, when checking an assembly out, you must make sure that for every bold older version (blue arrow bellow) of a component there is a checked box (red arrow) to get latest.
EPDM automatically checks the boxes for components that it finds to not be the latest. However, if users do not know what the “Get” and “Local Ver.” Columns are, the users could be unknowingly un-checking the “Get” boxes and reference old components.
Best practice advice for any work done on a program is to save regularly. With EPDM, however, saving regularly is not enough. Say you have a file that has been checked out and worked on it for a few of days, you saved regularly as you should, and then something unexpected happens to the cached file you were working with. Maybe the file was replaced form a “Get Latest” command, maybe the file became corrupt, or the computer crashes. Whatever the cause may be, the cached file you have been working with for a few days is now gone and the work done is gone with it. Now it is time to inform to management that you have lost three days of work. This is an issue that could have been easily avoided. Save and check in files regularly to increment the version of the file in the event that you would need to restore the lost or corrupt file to the last time it was checked in. The three days of work lost is now three hours or less – depending on how frequently you check in.
In the check in window, use the “Keep Checked Out” command to facilitate the process of check in but keep ownership so you can continue working on the file.
EPDM, SolidWorks, and Save As
Using “Save as” in SolidWorks with EPDM can cause reference issues if not used properly. To avoid reference issues, one must first know the difference between using “Save”, “Save as”, and “Save as Copy”.
These SolidWorks commands are explained in SolidWorks Knowledge Base Article S-029123:
What is the difference between “save”, “save as” and “save as copy”?
Copy the file in RAM to the fixed disk, leaving the copy in RAM open. If this file is being referenced by any open SolidWorks files, there are no changes to the reference.
Copy the file in RAM to the fixed disk under a new name or file type, replacing the file in RAM with the new file. The old file in RAM is closed without saving. If this file is being referenced by any open SolidWorks files, update the references to this new file.
“Save As Copy”
Copy the file in RAM to the fixed disk under a new name or file type, leaving the copy in RAM open. If this file is being referenced by any open SolidWorks files, do not update the references to this new file.
If you intend to save an edited assembly component with a new name and update the assembly references point to the new file, you may be tempted to use “Save as Copy” since the new file with new name is essentially a copy of the original file. However, doing so will cause the assembly to still reference the original file because references were not updated. This can seem like loss of work because the assembly still references the original. For the assembly to reference the new updated file with new name, do not use “Save as Copy” just “Save As”.
In the process stated above or a similar process of using “save as” to save the component in memory with new name and update references, stick to a personal workflow that works. Below is one example of a personal workflow that you can adopt to ensure that references are not broken during this type of process. Since there are many ways of achieving the same “save as” results, the example below may or may not fit your personal workflow needs. However, the principle of the example will be the same in any similar case.
- Check out assembly and component to be saved as
- Open assembly in SolidWorks
- Open component from the assembly
- Edit component
- Once edits are complete, navigate File > “Save as…”
- When “This file is being referenced by another document” dialog appears, select “Save as new name”
7. In the “Save As” window, navigate to directory where file will be saved and give it the new name. Click save. Do not check “Save as Copy”
8. Close component window and return to assembly window.
9. Rebuild Assembly
10. Save and check in the assembly with components. If the new component still needs work done, use “Keep Checked Out” Command for both the assembly and the component.
11. Repeat from step 3 if necessary