Hi John, I've come across this problem a couple of times, and without programming, the procedure below is the only way I can think of.
1) Create new datacards (or modify existing datacards) and variables in the new vault to match the ones from the old vault.
2) Create appropriate mappings to custom properties for those variables (CustomProperty, $PRPSheet etc)
3) When the files from the old vault are added to the new vault, the corresponding entries in the datacards should fill up
4) Create a workflow to handle these legacy files (assign a workflow condition for specific folders etc)
5) Add a transition in the workflow.
6) In the transition properties, add a Set Variable action. This action will update a variable in your new vault with the value of a variable from your old vault.
So for you, you would have Drafter being updated by DrawnBy from the old vault.
I hope this makes sense, if you have any questions, please feel free to contact me.
Ouch, that sounds painful for 20 variables, but not totally unreasonable. Prasad's approach would be easy to test with some sample files, and sounds pretty robust once you have it all set up correctly. If you don't have a lot of time on your hands this may be something it is worth paying a VAR to do, they have tools for such things.
As you may have realized, multiple vaults is not good for data reuse, and more for Admin to maintain.
Yea, that makes sense. But I've tried it,and have a few questions...
1&2) Any reason I can't just export the file card from the old vault and import it for use in the project folder in the new vault? Would this not handle all the variable mapping as well? Anyway, that's what I did and seemed to work fine because;
3) all the corresponding entries fill out the same way...
4) Do I need to create a separate workflow of these files? Id really like them to follow the same workflow as the rest of this vault.
5&6) I've actually previously tried that but it wrote the value in the custom property as "%var_DrawnBy%" instead of replacing that with the value of DrawnBy, so I didn't think that was possible. I've added an action in the initial checkin transition of the existing workflow to map "DrawnBy" to "Drafter" again but the custom property isn't created in the file at all this time. I've even tried manually editing a test drawing to include the "Drafter" custom property leaving the value blank, but after checking in the drawing, "drafter" does not exist in the custom properties. It's being removed...
I'm doing something wrong.
Hi John, thanks for the reply. You don't need to create a separate workflow, I suggested that in case you wanted to keep your old vault files segregated from your new vault files.
As for the properties not being written correctly, assuming the mapping are correct, when the files are checked in, the variables should be mapped to custom properties within the files. Then the set variable action should work.
Would you mind attaching a CEX file of the vault (or atleast the data cards and workflow), would be interesting to have a play.
Thanks for the reply Prasad. Here are the File card and workflow cex files.
I'm fairly new to PDM administration so I haven't got a good grasp on it yet, although I have been thru the class. Several years ago. And then didn't use any of the knowledge til now.
HI John, I think I figured out the problem.
1) You don't have any control on the data card linked to the variable "Drafter". You need to have this.
2) In the workflow transition "Automatic checkin", you have 2 set variable actions for the variable Drafter, one to get the logged in users name, and 1 to get the value of the the variable "DrawnBy". in this circumstance, EPDM is evaluating the actions in sequence, it will first write the logged in username, and then replace that with the value of the DrawnBy variable.
I had a play with the CEX files, see screenshots attached.
Hence I would suggest a new workflow and new datacard for files from your old vault so you can differentiate between the two types of files.
I hope this helps,