Prior to Windchill 11.0: Required using the same Windchill Workgroup Manager CPS on both the server and client machines.
Windchill 11.0 M010 Onwards:
You can use different CPS levels on the Windchill server and client machines within the same maintenance release.
Workgroup Manager will now check version compatibility at the Windchill maintenance version level; not at the CPS level.
Windchill Workgroup Manager is no longer installed from the Windchill server.
A company now has the flexibility to have their end users at desired CPS levels and still connect to a single Windchill server.
For example, the following scenario is supported.
A company has Windchill 11.0 M010 CPS05 server and user ‘A’ can connect to the Windchill server with Windchill Workgroup Manager 11.0 M010 CPS03 and user ‘B’ can connect to the same server with Windchill Workgroup Manager 11.0 M010 CPS07.
Illustrated below is the supported configuration.
Very informative Gary. If you are looking for another topic to cover, I would recommend a blog post on How to efficiently publish or republish unrelated datasets. Most customers are having to customize Windchill to be able to publish a list of cad objects residing in a CSV file. I'd like for PTC to have documentation for the process. I have two use case examples:
1) I have identified a list of objects that currently do not have a representation....want to send these to the publisher as a low priority.
2) I have a list of objects that need republished through an upgraded object adapter, recipe file or new config setting. I need the representation deleted and then republished to attain the new functionality or feature. (I can guarantee the customers are not able to 100% define what they want as the output for Creo View the first time. )
Regarding the suggested topic... I agree, this has long been a WVS gap and I'm pretty sure there is something in the backlog for a future release. The idea was to provide a Generic WVS Job Scheduler method that would take a Windchill Query (created using the Report Management tool / formerly Query Builder) as input and create publish / republish jobs for the resulting list of objects.
The only current alternative I am aware of, short of customization, is to use custom SQL (or a Windchill Query) to output the DerivedImage OID's to a file, use this with the DeleteRepUtil (article CS62748) to remove all of the Representations and then to republish them using the out-of-the-box PublishAllLatestEPMDocumentsNoRepresentation scheduler method (article CS113279).
However, if we get decent interest in your post from this Community or indeed, in the form of submitted Ideas (Create a product idea action in Windchill Community) and Enhancement SPR's (Premium Accounts), then I will pass this information back to Product Management.
I would like to second Bill's comments. We desperately need the ability to do exactly what he is describing in his second point - republish existing objects. I have no idea how to write Java code to create custom publish schedules. While I might be able to work through the steps you're listing, the PublishAllLatestEPMDocumentsNoRepresentation will only work for the latest version. At the same time, using the PublishAllEPMDocumentsNoRepresentation will sweep up 10's of thousands of other objects that don't need to be published. We really, really need a simple way of defining what we want to (re)publish and how we want them published (assuming multiple methods are configured via publish rules.)
Bill / Tom et al,
The ideal solution, I'm sure you agree, would be an out-of-the-box, supported method of republishing a list of affected DerivedImage OID's, whether from a flat file (CSV or simple list) or using the results of a saved custom Windchill Report Management Query. In the short term, however, we may be able to consider providing the sample code and configuration steps for a custom, unsupported WVS Job Scheduler method that does this.
I will take a look in to this and see what can be provided and consider this for a future article and related blog post.
This is great news that this is being considered. It's even better that you are accomodating two types of workflows!. My current process of identification utilizes Creo View Bill of Material Export Functionality
1) Open Large Assembly in Creo View
2) Only load the branch links of the systems I'm interested in. Example Cab or Chassis.
3) Use Bill of Material option under Tools menu in MCAD Creo View to generate list
4) Export the list out of Creo View with the columns as shown in image below.
Utilizing this process, I can identify which objects do not have images (source file name field is empty) and identify which object adapter published the image (these are the potential republish items).
I'm curious if the derivedimage OID is an available attribute within Croe View. I see epmdoc_objectid...but I don't specifically see derived image in the list of available attributes....maybe this attribute is the same as what you are referring to? Just want to make sure I have the correct attribute to drive the process.
Your explanation highlights the reason the automation of this has not been achieved so far; every customer's use case is different...
In your case, you are looking to publish missing Representations (I presume this is what you mean by "images") for all branch-linked sub-assemblies and parts in a top-to-bottom Positioning Assembly structure. You are relying on the fact that the adapter populated information (any of the PVS File Properties would probably do) does not exist for unpublished branch-linked EPMDocuments (use case #1 in your original message). In this case, identifying the EPMDoc OID in this way is probably as good a technique as any for identifying those objects you need to publish in order to achieve a complete Positioning Assembly Representation view.
This same use case might equally be addressed by creating a customized version of the out-of-the-box PublishAllLatestEPMDocumentsNoRepresentation scheduler method (and we can provide you with the out-of-the-box source for these methods) that takes a top level assembly object as input, walks its CAD structure and publishes a Positioning Assembly Representation if one does not already exist.
Just to chime back in here, our use case is a little trickier. We need a way to locate objects at specific lifecycle states that are missing their additional files. Generally they will have a representation that was created during check-in, they just never got republished after release and therefore didn't get the additional files created. I have no idea how to query for whether or not an object has additional files attached to it. Any suggestions?
Use the listcontent.jsp tool with the showlinks=true argument (see article CS70251), to view the content of a Representation with Additional Files... you will see that the linked Representation content includes ApplicationData with the content role of ADDITIONAL_FILES. Those that do not, will not have this. You could construct SQL to provide the DerivedImage OID's that do not have this. If this needs to be filtered by other criteria, like Representations on Released EPMDocs only, however, the query will quickly start to get a little too complex.
Thanks Gary, I believe most customers will be happy with the ability to manage from the CSV list. As long as you can make it easy from that point, then everybody can benefit.
I'd be open to the publish all if it is smart enough to only send assemlbies to the publisher and it automatically publishes them as positioinng assembly without requiring the positioinng_assy attribute to be included. (Also note that we currently have many legacy family table assemblies NOT set up as positioning assembly due to the challenge of having to verify the instances in the process isnce we use the attribute method.) You will notice in my picture above that I have a column for generic and instance...I'm filtering family tables assemblies out of my list just for this reason! All new family table assemblies created get the attributes, but we haven't solved the legacy family table assemblies yet. It's my dream thjat someday, PTC has a drop down menu setting that basically manages the PA and Extended PA settings for every ".asm" file entering the publisher withouy having to manage attributes, listeners, robots or any other manual intervention or performance hit. Then the customer can focus on the config and recipe settings.
And BTW, thanks for listening and responding to our requests!