Best Practices to Avoid Losing Work in Enterprise PDM

Article by Francisco Guzman on Jul 23, 2013

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, some support inquiries 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 being practiced. One of the unwanted outcomes of misunderstanding or misusing the software is the 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.

To educate and/or remind ourselves of the best practice usage and the clearing of misunderstandings with Enterprise PDM, this article provides advice to avoid loss of work based on 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.

The best practice for renaming a file in Enterprise PDM is to release ownership of the file by checking it in before 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 before renaming. You can find the direct parent(s) of a file by highlighting it and using the “Where Used” tab in EPDM Vault View.

renaming and moving files in Enterprise PDM

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” (RELATED: Working Offline with SOLIDWORKS PDM Tips & Tricks) if you have lost connection to the 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 can edit local cached files (if writeable), save them, and then check them in when a connection to the server is established. Items in the vault are writable if you check them out before going offline.

working offline and local files enterprise pdm

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.

renamed file local file enterprise pdm

Note: Depending on permissions, you may or may not see the renamed or moved <local file>.

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:”

settings show all files enterprise pdm

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.

attributes read only enterprise pdm

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.

replace writable enterprise pdm

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 have 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:

when not to get latest enterprise pdm

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:

confirm replace checked out file enterprise pdm

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 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 the image below), this will cause the assembly to reference your cached component which is not the latest and greatest. This may seem like a 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 below) 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.

files to check out screen enterprise pdm

Saving and checking in regularly

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 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 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 if 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. 

keep checked out enterprise pdm

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:

Question:

What is the difference between “save”, “save as” and “save as copy”?

Answer:

“Save”

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.

“Save As”

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 the 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 a loss of work because the assembly still references the original. For the assembly to reference the new updated file with a 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 a 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.

  1. Check out assembly and component to be saved as
  2. Open assembly in SOLIDWORKS
  3. Open component from the assembly
  4. Edit component
  5. Once edits are complete, navigate File > “Save as…”
  6. When “This file is being referenced by another document” dialog appears, select “Save as new name”

    this file is being referenced by other open documents screen

  7. In the “Save As” window, navigate to the directory where the file will be saved and give it the new name. Click Save. Do not check “Save as Copy”

    best practices to avoid losing work enterprise pdm

  8. Close the component window and return to the assembly window
  9. Rebuild assembly
  10. Save and check in the assembly with components. If the new component still needs work done, use the “Keep Checked Out” Command for both the assembly and the component
  11. Repeat from step 3 if necessary.

Related Articles

Enterprise PDM SQL Maintenance Plan: Reorganizing Database Indexes

SOLIDWORKS Enterprise PDM SQL 2014 Installation Guide

Installing the PDM Client (Without SOLIDWORKS)

About Francisco Guzman

Francisco Guzman is the PDM Technical Support Lead at GoEngineer, and is pursuing his degree in mechanical engineering at the University of Utah. In addition to providing guidance and support to SOLIDWORKS and SOLIDWORKS PDM customers, Francisco also provides support for DriveWorks design automation. He won the world-wide DriveWorks reseller CPD contest as the best DriveWorks AE for 2015. For fun, he designs, 3D-Prints, builds and races custom first-person-view (FPV) racing drone frames.

View all posts by Francisco Guzman

Subscribe

Get the latest articles delivered daily to your inbox, unsubscribe at any time.