6 Replies Latest reply on Aug 21, 2018 7:47 AM by Alex Waddell

    Workgroups to PDM Standard: a plan for data migration

    Matthew Wypych

      This post describes the method and tools by which I am migrating data from the Workgroups PDM to PDM Standard. I haven't found a discussion on the actual process so this is a conversation starter that will hopefully refine the process.

       

      The starting point:

      • All of the files are stored in Workgroups PDM
      • All users work from a single directory called c:\vault
      • Current Workgroups vault includes a range of projects and assemblies/drawings maybe linked through multiple projects
      • Access to Workgroups vault files is through Soldiworks i.e. not through direct server access
      • Migration is to PDM Standard not Enterprise
      • The new PDM Standard vault has a single state work flow
      • Revisions are managed at the configuration level and hence not at all in PDM Standard

       

      The target:

      • Reproduce the existing project structure as a directory structure
      • Only move the latest rev's
      • Maintain all assembly/drawing links
      • Keep any manual processes to a minimum (or at least make them as easy as possible)

       

      The main challenge in the process is keeping the internal file links active as the files are migrated. Because of using a single directory for the Workgroups PDM vault (a recommended practice) all of the internal links are to the c:\vault directory and do not reflect the project structure. To maintain the correct links all of the part/assembly/drawing files must be moved in a single move operation. The trick is that once all of the files have been checked in they must be moved using windows explorer or Solidworks explorer. Batch file command line moves do not maintain the links.

       

      Here's the process that was followed to achieve this:

      1 Export current vault structure

      To be able to sort the files into the directories we first need to get a record of which project each file is stored in in the Workgroups vault. This can be done using the advanced search within Workgroups using a criteria similar to “Document is not empty” OR “Document is empty”. This should collect all files within the vault and can be output to a tab separated text file and dropped into Excel for post processing.

       

      Note, that some of the file descriptions seemed to cause errors in generating the tab separated variable file and needed to be manually cleaned up. The errors present themselves as consecutive lines with the same description displaced by several columns. Repeated cells were deleted.

       

      1.2 Generate a Workgroups to Standard vault map

      The data exported above has the file name, type of file and the project. This data can be manipulated in Excel to determine where every file in the Workgroups vault will end up in the PDM Standard vault. This means making all those decisions about file locations and structure before checking files into the new vault.

       

      The map can be used to create two useful files. The first is a list of all the directories required in the new vault. This can be passed to a simple batch file for generating all the directories in the new vault (See CreateDir.bat and DirectoryList.txt attached. Note: Directories need to be checked in to be added to the vault and any folder card data needs to be added manually). The second useful file is a list of the file names and the destination folder in the new vault. The use of this file will be explained below.

       

      1.3 Get files from Workgroups

      The next step is to download all of the files from Workgroups into an empty working directory. Either empty the current Workgroups directory or create a new directory and select it from the Workgroup options. Expand all of the projects and assemblies either using the mouse and clicking on the [+] on each project/assembly or using the up/down/right arrow keys. This can be tedious for large vaults so a macro to automate the process makes quick work of it (see attached ArrowMacro.swp - edit the macro to change the number of loops, create a macro button, select the top of the tree in the Workgroups Vault and press the macro button).  Select the desired components and then right-click and select open/check out. Unselect Open now. Continue to get a local copy of every file in the Vault. Note: This may need to be done in a couple of steps. Windows only supports 10,000 GDI objects returning the full list on our file set caused Solidworks to crash.

       

      1.4 Mark the files with target directory

      Once the files are in the PDM Standard vault they can only be moved through windows explorer otherwise the file links break. A system that could automatically sort the files once they were in the vault would be ideal. However, because of the interface and lack of scripting options in PDM Standard the easiest approach is to simply mark each file with the target directory before shifting them into the vault and then manually distribute them to the appropriate directories. To make this manual process as easy as possible a variable was added to the PDM Standard vault called Workgroups Dir.

       

      Each file can be marked with it's target directory using the Solidworks Document Manager and a visual basic script. An example created in Visual Studi Express is attached. (See FilePropEdit.zip. Note: this is provided as an example only. Anyone who wants to use a similar script will need to obtain a Solidworks Document Manager license and consult the Solidworks Document Manager documentation.) This property is then mapped as a variable created in the PDM Standard Vault. The upshot of all of this is that once the files are in the PDM Standard Vault they can be sorted by the target directory and then dragged in groups to their final destinations.

       

      1.5 Move files to the PDM Standard vault

      Drag and drop the entire Workgroups vault directory into the PDM Vault. All Solidworks files must be dragged in a single operation to maintain the correct file links. Then the files must be immediately checked in. If files are opened before check in the links may corrupt.

      1.6 Redistribute the files

      Now that the files are in the vault with the correct links they may be dragged into the destination directory and the integrity of the links will be maintained. Directory by directory, based on the Workgroups Directory variable, drag each group of files into the destination directory.

      1.7 Update the files with the File Version Upgrade tool

      Once the files are in the vault it is important to upgrade all of the files to the latest version of Solidworks. This helps limit incompatibilites that creep into the Soldiworks format over the years. Look for File Version Upgrade tool under swpdmclient\Support in your install files.

       

      My questions:

      • Does anyone know how to automate the sorting of the files in the PDM Standard Vault based on either the exported file map text file or the vault variable?
      • Is there a way to automate the entry of descriptions for the folders?
      • Is there a better way to do any of this?
        • Re: Workgroups to PDM Standard: a plan for data migration
          Conrad Fisher

          Thank you Matthew for this!  We're just slightly more than a 1 man band here and your write-up looks like it will be a HUGE help for us as we go forward.  We're nothing if not procrastinators...and we pushed off moving from Workgroup to Standard...and it's fast coming to the point that we can't wait longer. 

          (rant begin) I'm certain we could have done 100 things differently with this move away from Workgroup...but it really seems this change could've/should've been handled A LOT better by whoever runs the show at SW.  As good as your instructions may be...no way should we be left to dangle on the hopes of a forum post for a move like this. (rant over).

          Thanks again!

          • Re: Workgroups to PDM Standard: a plan for data migration
            Matthew Wypych

            FYI, we went live in early February and it has been a smooth transition. The complete transfer took about 6 hours for the 6000 files we had in the vault. All of our users picked it up the next day and we haven't looked back! Certainly enjoying how much easier it is to rename files and move assemblies compared to Workgroups.

            • Re: Workgroups to PDM Standard: a plan for data migration
              Christian Chu

              My questions:

              • Does anyone know how to automate the sorting of the files in the PDM Standard Vault based on either the exported file map text file or the vault variable?
              • Is there a way to automate the entry of descriptions for the folders?
              • Is there a better way to do any of this?

              Matt,

              Its not too hard to create scrip to sort the files. The issue here is the exporting from wPDM only list all the projects from wPDM regardless it's parent project (root level) or child project(s) -  it ends up the folders  structure in PDM standard is not same as projects structure in wPDM

               

              The next step is to download all of the files from Workgroups into an empty working directory. Either empty the current Workgroups directory or create a new directory and select it from the Workgroup options

               

              EDIT: the other thing if you have Design Library which is not in wPDM Vault but in separate folders which are linked to the Vault then checking out all files to a working directory is not included design library parts. Now there is another issue with the internal link with the design library parts

              • Re: Workgroups to PDM Standard: a plan for data migration
                Alex Waddell

                There are a couple of things that you need to keep in mind trying this procedure.

                1. You cannot "shift select" a group of parts and then check them out if you have ant tool box parts referenced in the selection set. The command just kicks out and does not check them out.

                2. You cannot have any missing referenced files, PDM Standard will not allow you to check in any of the parts that you moved into the vault.

                Other than that, the batch files and the VB tools have worked.

                  • Re: Workgroups to PDM Standard: a plan for data migration
                    Matthew Wypych

                    Thanks for the comments Alex. Both valid points.

                     

                    We used the transition to tidy up our models as we went. Missing links were either found, recreated or deleted and toolbox parts were replaced with our master parts (configuration based hardware files). We have a policy to not use toolbox parts because of the poor portability. A few of them had crept in in select assemblies and we replaced them all as part of the transition.

                      • Re: Workgroups to PDM Standard: a plan for data migration
                        Alex Waddell

                        I just found a work around for the problem #2.

                        "You cannot have any missing referenced files, PDM Standard will not allow you to check in any of the parts that you moved into the vault."
                        In the Admin tool, go to the Admin user properties and make sure that any Warnings are cleared that would stop you from checking in files that are missing references. Make sure that the admin user is not a member of a group that may limit this too.