How to get latest released version
How to get latest released version
I know there's a way to set up the PDM "Get File" dialog to either
- get the latest version, regardless of workflow state
- get the version of the file that was used when it was last checked in
What I am wondering is, how can I get the latest version of all assembly components that were in the "ISSUED" state and ignore the work-in-progress/draft state of the file? I can probably get something working via API, but I wanted to check if any of you have run into this and solved it with PDM Vault Settings or something similar.
- get the latest version, regardless of workflow state
- get the version of the file that was used when it was last checked in
What I am wondering is, how can I get the latest version of all assembly components that were in the "ISSUED" state and ignore the work-in-progress/draft state of the file? I can probably get something working via API, but I wanted to check if any of you have run into this and solved it with PDM Vault Settings or something similar.
- jcapriotti
- Posts: 1869
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1214
- x 1999
Re: How to get latest released version
I don't know of a way OOTB. Major shortcoming in IMO.
If you have groups that never need to see "in process" versions you can adjust the state settings so they only see "Released". So when getting "latest", they only get latest Released even though there are newer in progress versions.
You can also get "as built" when you select an older version.
If you have groups that never need to see "in process" versions you can adjust the state settings so they only see "Released". So when getting "latest", they only get latest Released even though there are newer in progress versions.
You can also get "as built" when you select an older version.
Jason
Re: How to get latest released version
I've been asking for pretty much the same thing for over a year (started using PDM Nov 19).
We would like a default of "Get by Referenced" instead of Latest, then the designer can get released versions of components. Trying to get the CAD users to understand which version to use is very very tough.
I started looking into a PDM add-in that would get referenced versions whenever the get latest is done automatically (file open, etc) instead of actually getting latest, but I have not been able to determine a plan to do that.
We would like a default of "Get by Referenced" instead of Latest, then the designer can get released versions of components. Trying to get the CAD users to understand which version to use is very very tough.
I started looking into a PDM add-in that would get referenced versions whenever the get latest is done automatically (file open, etc) instead of actually getting latest, but I have not been able to determine a plan to do that.
- jcapriotti
- Posts: 1869
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1214
- x 1999
Re: How to get latest released version
@bnemec
Just show it can be done, here's an old post from the old forum. There was an "Enovia" version of PDM that rebranded the software but also changed a few things. Get Latest Released.
Just show it can be done, here's an old post from the old forum. There was an "Enovia" version of PDM that rebranded the software but also changed a few things. Get Latest Released.
Jason
Re: How to get latest released version
I thought Enovia is their "platform" PDM. So the screen shot is a "Enovia View" I assume? Pretty much a Vault View but the vault is hosted on DSS servers in "the cloud" instead of my own servers (local or cloud hosted )? Maybe not, they did change the icon, so it must be completely different right?jcapriotti wrote: ↑Thu May 13, 2021 9:42 am @bnemec
Just show it can be done, here's an old post from the old forum. There was an "Enovia" version of PDM that rebranded the software but also changed a few things. Get Latest Released.
image.png
I wonder what is used to determine "released" ? Is it by some appointed state(s) in the workflow or by the notion of "working versions"?
- jcapriotti
- Posts: 1869
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1214
- x 1999
Re: How to get latest released version
Enovia is their PLM, which is now known as 3dExperience and is web based. We were demoed this when we were evaluating global PLMs (Enovia, Windchill, Teamcenter). Each company had to show us their SolidWorks integration. I recognized that Enovia's way to manage SolidWorks files was really just PDM, but rebranded. I believe it just a slightly different recompiled version of PDM.
Today, I don't really see this anymore, there is a 3dx plugin in the tree now, so maybe that Enoviaized version of PDM was a stopgap solution at the time.
Today, I don't really see this anymore, there is a 3dx plugin in the tree now, so maybe that Enoviaized version of PDM was a stopgap solution at the time.
Jason
- jcapriotti
- Posts: 1869
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1214
- x 1999
Re: How to get latest released version
Found....mentions its created by the same team that created PDM.
https://www.technia.us/software/enovia/ ... connector/
https://www.technia.us/software/enovia/ ... connector/
Jason
Re: How to get latest released version
Yeah, I suspected this was the case but wanted to be sure before putting time into writing some code. Our engineering team can have different groups working on different subset of components. Sometimes one group will need to use the latest released version of a sub-assembly in their model and the other group is actively updating that same sub-assembly and needs to use the latest version.jcapriotti wrote: ↑Thu May 13, 2021 9:11 am I don't know of a way OOTB. Major shortcoming in IMO.
If you have groups that never need to see "in process" versions you can adjust the state settings so they only see "Released". So when getting "latest", they only get latest Released even though there are newer in progress versions.
You can also get "as built" when you select an older version.
For now, our process is manual in determining which model needs to be which version. It gets tedious with large 200+ piece files which is why I get complaints about the time it takes to get everything just right.
It's good to see that the Enovia platform has this implemented, so I know it will be possible to figure out with a PDM Add-in update.
Re: How to get latest released version
You are out there!!!! I was beginning to think I work for the only company in the world that does this. Or at least the only company that does this while trying to use some kind of PDM with version control!AlexB wrote: ↑Fri May 14, 2021 12:42 pm Yeah, I suspected this was the case but wanted to be sure before putting time into writing some code. Our engineering team can have different groups working on different subset of components. Sometimes one group will need to use the latest released version of a sub-assembly in their model and the other group is actively updating that same sub-assembly and needs to use the latest version.
For now, our process is manual in determining which model needs to be which version. It gets tedious with large 200+ piece files which is why I get complaints about the time it takes to get everything just right.
It's good to see that the Enovia platform has this implemented, so I know it will be possible to figure out with a PDM Add-in update.
We were discussing this very thing again this morning in our bi-weekly "PDM Punchlist Meeting" Which way to go about updating the where used of parts that are revised or how to train the users how to use the correct versions of referenced files in all the files they have in WIP and what about old versions in assemblies that are in Released state? I doubt the same tools would work for both of us, but maybe we can bounce ideas and bewares back and forth?
Re: How to get latest released version
Hahaha, yes we're out here in the trenches too! My initial thought is that I can have our users "Get Latest Released of All" (or some similar wording) before checking out a massive sub-assembly. The only drawback might be that the "as-built" and "latest released" version of some sub-assemblies would then differ in the component versions that it uses. Perhaps that could be an indicator that the sub-assembly where they differ needs updated in CAD. Either way, I'm definitely brainstorming how to approach this for sure.bnemec wrote: ↑Fri May 14, 2021 12:55 pm You are out there!!!! I was beginning to think I work for the only company in the world that does this. Or at least the only company that does this while trying to use some kind of PDM with version control!
We were discussing this very thing again this morning in our bi-weekly "PDM Punchlist Meeting" Which way to go about updating the where used of parts that are revised or how to train the users how to use the correct versions of referenced files in all the files they have in WIP and what about old versions in assemblies that are in Released state? I doubt the same tools would work for both of us, but maybe we can bounce ideas and bewares back and forth?
Re: How to get latest released version
I wrote a pdf/dxf publisher PDM task add-in before I knew much about PDM (yes, dangerous I know and I still don't know much about it) and instead of using the GetFileCopy() with get refs flag and specified version (which gets all the refs by version I know understand) I used the GetReferenceTree() method and put together a list. By doing that you can specify the version of each file along the way. I realized later that I didn't need to do that to get the referenced version of all the files so I switched it to just get the files by referenced version. The point is I know that you can use GetReferenceTree() to recurs down the tree specifying which version to use as you go based on whatever logic you determine, State == Released in our case I assume.AlexB wrote: ↑Fri May 14, 2021 1:10 pm Hahaha, yes we're out here in the trenches too! My initial thought is that I can have our users "Get Latest Released of All" (or some similar wording) before checking out a massive sub-assembly. The only drawback might be that the "as-built" and "latest released" version of some sub-assemblies would then differ in the component versions that it uses. Perhaps that could be an indicator that the sub-assembly where they differ needs updated in CAD. Either way, I'm definitely brainstorming how to approach this for sure.
Re: How to get latest released version
I've been wondering where would you have the users initiate this "Get Latest Released Version" from? I've been encouraging users to use the PDM Add-in if they have the files open in SW. Too many times they try to check the file out or in when it's open in SW then it seems the read only flag is not getting updated by the EdmServer process because the file is open in another process (namely Solidworks), but if they just use the Add-in then all is well.
Anyway, a PDM add-in would work well from the right click menu, but might need to handle the "file open in another process" issue. I fear the users are going to have stuff open in SW when they try to run this. There would need to be a message box telling them to close the files that would need to get a different version.
Anyway, a PDM add-in would work well from the right click menu, but might need to handle the "file open in another process" issue. I fear the users are going to have stuff open in SW when they try to run this. There would need to be a message box telling them to close the files that would need to get a different version.
- jcapriotti
- Posts: 1869
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1214
- x 1999
Re: How to get latest released version
Ideally a prompt should come up on open that gives you options, and a tree to see what is being opened.
It gets tricky though. We have multiple design changes in flight at the same time with all kinds of shared parts. One user may be working on one ECO, and ideally needs to load the latest Released parts except for his parts/assys on his ECO. He needs the latest in progress but only for his files. Not sure how to model that.
I wonder if branching and merging might be an option. Its relatively new though so I would worry whether its complete enough. We are going to Windchill regrettably so no time to check it out.
Windchill has many more options than PDM and can do this, but I wouldn't wish the UI on my worst enemy. The users are thoroughly confused.
It gets tricky though. We have multiple design changes in flight at the same time with all kinds of shared parts. One user may be working on one ECO, and ideally needs to load the latest Released parts except for his parts/assys on his ECO. He needs the latest in progress but only for his files. Not sure how to model that.
I wonder if branching and merging might be an option. Its relatively new though so I would worry whether its complete enough. We are going to Windchill regrettably so no time to check it out.
Windchill has many more options than PDM and can do this, but I wouldn't wish the UI on my worst enemy. The users are thoroughly confused.
Jason
Re: How to get latest released version
That's the other issue that I'm trying to figure out. How do I know who needs what files? Before I can really program any logic, I need to figure out what that logic will be. This may take a little while but the points that you've both brought up will be quite helpful in laying things out. If I figure something out, I'll pop back in here and provide an update.
Re: How to get latest released version
Exactly. I'm not sure that automation should be used to decide which version every time, just having some kind of a default, on file open, "Get Latest Released Version" Would be a huge step in the right direction for what we are talking about.AlexB wrote: ↑Mon May 17, 2021 8:30 am That's the other issue that I'm trying to figure out. How do I know who needs what files? Before I can really program any logic, I need to figure out what that logic will be. This may take a little while but the points that you've both brought up will be quite helpful in laying things out. If I figure something out, I'll pop back in here and provide an update.
@AlexB and @jcapriotti, you both explain the exact same CAD file usage we have where I work; lots of where used and ECs with overlapping affected files. I've found that when using the APIs it is very important to have a manual process mapped out exactly before any code is put together. I've found that if I couldn't clearly explain the process I'm about to automate to a summer intern, then I'm probably not ready to automate it.
I have considered using a variable of the username that transitioned the file from Released to WIP, then using that to help. The idea is that person would most likely want the latest of those files, but latest released of the rest. But I have issues with that:
1) Every conditional statement (if, switch) adds opportunity for errors and makes it harder for users to understand what the automation is doing. If the flow chart takes two whiteboards, sticky notes and several yards of string then people probably won't understand what its doing and won't like it. (I'm preaching to myself here)
2) Collaboration, I dislike using that word because marketing has ruined it, however it is what it is. One person may change the state and others may be participating in the work.
3) Most of our stuff is hurry up and wait, so user is working on multiple EC's and maybe a new project, and they likely share components. So when working on EC "1" they want one set of versions, but since those changes have a long lead time (hard tooling maybe) EC "2" will be worked on and released before EC "1" so sometimes even the same user needs latest version and sometimes they need latest released version.
4) peer reviewing: we use a "review" state in our work flow with peer reviewers. Again since there is much reuse of parts it's likely they need latest version while working on something, but when they take a minute to do a review they will need the latest released in local cache. This switching back and forth is not something that happens once or twice a week, for many it's once or twice a day.
- jcapriotti
- Posts: 1869
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1214
- x 1999
Re: How to get latest released version
I envision something like this (I feel some regret that we aren't staying with PDM and can't actually develop it now that I'm thinking about it).
In this wireframe mockup, the user would attempt to open a file and get this dialogue before the actual open operation. They could check which ECO they are working on and it would show structure changes (on right) to different versions and states of files. They could even select more than one ECO and get the In progress/review versions of those files as well.
I suppose you could add options like a default to "Latest Released" or last checked ECO.
In this wireframe mockup, the user would attempt to open a file and get this dialogue before the actual open operation. They could check which ECO they are working on and it would show structure changes (on right) to different versions and states of files. They could even select more than one ECO and get the In progress/review versions of those files as well.
I suppose you could add options like a default to "Latest Released" or last checked ECO.
Jason
Re: How to get latest released version
Looking at this more it appears we are in the fringes of where PDM meets up to PLM, ie file management vs product management.jcapriotti wrote: ↑Mon May 17, 2021 10:45 am I envision something like this (I feel some regret that we aren't staying with PDM and can't actually develop it now that I'm thinking about it).
In this wireframe mockup, the user would attempt to open a file and get this dialogue before the actual open operation. They could check which ECO they are working on and it would show structure changes (on right) to different versions and states of files. They could even select more than one ECO and get the In progress/review versions of those files as well.
I suppose you could add options like a default to "Latest Released" or last checked ECO.
image.png
Re: How to get latest released version
I like this thought and was thinking something similar. The only question that I had is regarding how to keep up with open ECO numbers and perhaps remember preferences of the users so they don't have to re-select things. Our systems are relatively disconnected in that regard with only a custom property in the part file stating the ECO number. Relying on users to keep this field up to date prior to final check-in isn't really feasible, sadly.jcapriotti wrote: ↑Mon May 17, 2021 10:45 am I envision something like this (I feel some regret that we aren't staying with PDM and can't actually develop it now that I'm thinking about it).
In this wireframe mockup, the user would attempt to open a file and get this dialogue before the actual open operation. They could check which ECO they are working on and it would show structure changes (on right) to different versions and states of files. They could even select more than one ECO and get the In progress/review versions of those files as well.
I suppose you could add options like a default to "Latest Released" or last checked ECO.
image.png
- jcapriotti
- Posts: 1869
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1214
- x 1999
Re: How to get latest released version
This depends on where you're ECO is. We have them in PDM as .cvd files so we can query for "open" ECOs directly from PDM. As for remembering the ECO the user is working on, you could default and check the box if the user's name is a variable on the ECO. You could also store it in a DB somewhere or registry entry. Problem though is what if the user has several ECOs they are working on, which do you check? Maybe add a checkbox "Show my ECOs"?AlexB wrote: ↑Mon May 17, 2021 11:10 am I like this thought and was thinking something similar. The only question that I had is regarding how to keep up with open ECO numbers and perhaps remember preferences of the users so they don't have to re-select things. Our systems are relatively disconnected in that regard with only a custom property in the part file stating the ECO number. Relying on users to keep this field up to date prior to final check-in isn't really feasible, sadly.
Jason
Re: How to get latest released version
Unfortunately, we don't have our ECOs in a digital location that is easy to access. The best solution for this may just be to have the user plug in their ECO numbers so they have a running list on their local computer to compare against the files they're working on. I'm still playing around with a few ideas on this exclusion logic.jcapriotti wrote: ↑Mon May 17, 2021 11:30 am This depends on where you're ECO is. We have them in PDM as .cvd files so we can query for "open" ECOs directly from PDM. As for remembering the ECO the user is working on, you could default and check the box if the user's name is a variable on the ECO. You could also store it in a DB somewhere or registry entry. Problem though is what if the user has several ECOs they are working on, which do you check? Maybe add a checkbox "Show my ECOs"?
- jcapriotti
- Posts: 1869
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1214
- x 1999