cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

The community will undergo maintenance on October 16th at 10:00 PM PDT and will be unavailable for up to one hour.

Flexible Change Associations Migration Survey

JeffZemsky
17-Peridot

Flexible Change Associations Migration Survey

Several releases ago, Windchill introduced the concept of “Flexible Links” that allows the network of Change Management objects to be configured based on the rules and practices of your company. Along with the introduction of this capability, a conversion tool has been provided that will migrate the existing “Legacy Links” to their corresponding “Associated Process” flexible link. The tool offers the ability to operate in a “Mixed Mode” so that the legacy objects can be completed in their workflows, or to operate in a “Full Flexible” mode by migrating all existing “Legacy Links” to their equivalent “Flexible Link”.

As we plan our next major Windchill release (estimated December 2021), we would like to eliminate the support for the “Legacy Links” completely. This would mean that all Change Management and Quality Management objects have been converted to the “Flexible Links” and the system is operating in a “Full Flexible” mode.

 

We'd like to hear from you.  We are running a survey for the next through May 31st to get feedback on where you are with your journey to Flexible Change Associations. 

 

Flexible Change Association Survey

 

Thank you for your support

9 REPLIES 9
rhart
15-Moonstone
(To:JeffZemsky)

I'm stuck at question 3 @JeffZemsky , how can I find out:

"What mode is your Change Management process operating in currently?

There's several Change Association Rules ...

change-rules.png

JeffZemsky
17-Peridot
(To:rhart)

@rhart  - if you run the FlexibleChangeConverter tool using the report option it will tell you which version you are running.  You can find more information here

 

FlexibleChangeConverter Utility

rhart
15-Moonstone
(To:JeffZemsky)

Thankyou for your answer @JeffZemsky , I ran the report but I'm still not completely sure of the answer.

 

Current Windchill mode: Mixed

No legacy change object classes were found.

Legacy change link classes and registered FlexibleChangeLinkConverterDelegate classes:
Class: wt.change2.AddressedBy2 Delegates: wt.change2.flexible.DefaultFlexibleChangeLinkConverterDelegate
Class: wt.change2.FormalizedBy Delegates: wt.change2.flexible.DefaultFlexibleChangeLinkConverterDelegate


Change object classes and registered FlexibleChangeItemReadinessDelegate classes for action convertLinks:
Class: wt.change2.WTChangeRequest2 Delegates: [wt.change2.flexible.AdministrativeLockReadinessDelegate, wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: wt.change2.WTVariance Delegates: [wt.change2.flexible.AdministrativeLockReadinessDelegate, wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: com.ptc.qualitymanagement.capa.plan.CAPAActionPlan Delegates: [wt.change2.flexible.AdministrativeLockReadinessDelegate, wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: com.ptc.qualitymanagement.capa.request.CAPAChangeRequest Delegates: [wt.change2.flexible.AdministrativeLockReadinessDelegate, wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: wt.change2.WTChangeOrder2 Delegates: [wt.change2.flexible.AdministrativeLockReadinessDelegate, wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: wt.change2.WTChangeIssue Delegates: [wt.change2.flexible.AdministrativeLockReadinessDelegate, wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]

Change object classes and registered FlexibleChangeItemReadinessDelegate classes for action convertReplicatedLinks:
Class: wt.change2.WTChangeRequest2 Delegates: [wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: wt.change2.WTVariance Delegates: [wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: com.ptc.qualitymanagement.capa.plan.CAPAActionPlan Delegates: [wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: com.ptc.qualitymanagement.capa.request.CAPAChangeRequest Delegates: [wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: wt.change2.WTChangeOrder2 Delegates: [wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]
Class: wt.change2.WTChangeIssue Delegates: [wt.change2.flexible.ResolutionDateReadinessDelegate, wt.change2.flexible.WorkflowReadinessDelegate]

Total number of flexible change links: 8,031

Total number of converted legacy change links: 0
Class: wt.change2.AddressedBy2 Total: 66 Count: 0 Percentage: 0%
Class: wt.change2.FormalizedBy Total: 24 Count: 0 Percentage: 0%

Total number of unconverted legacy change links: 90
Class: wt.change2.AddressedBy2 Total: 66 Count: 66 Percentage: 100%
Class: wt.change2.FormalizedBy Total: 24 Count: 24 Percentage: 100%

Total number of flexible change objects: 15,258
Class: wt.change2.WTChangeRequest2 Total: 6,868 Count: 6,799 Percentage: 98.99%
Class: wt.change2.WTVariance Total: 0 Count: 0 Percentage: 0%
Class: com.ptc.qualitymanagement.capa.plan.CAPAActionPlan Total: 6 Count: 6 Percentage: 100%
Class: com.ptc.qualitymanagement.capa.request.CAPAChangeRequest Total: 6 Count: 6 Percentage: 100%
Class: wt.change2.WTChangeOrder2 Total: 6,436 Count: 6,367 Percentage: 98.92%
Class: wt.change2.WTChangeIssue Total: 2,111 Count: 2,080 Percentage: 98.53%

Total number of local legacy change objects eligible for conversion: 0
Class: wt.change2.WTChangeRequest2 Total: 6,868 Count: 0 Percentage: 0%
Class: wt.change2.WTVariance Total: 0 Count: 0 Percentage: 0%
Class: com.ptc.qualitymanagement.capa.plan.CAPAActionPlan Total: 6 Count: 0 Percentage: 0%
Class: com.ptc.qualitymanagement.capa.request.CAPAChangeRequest Total: 6 Count: 0 Percentage: 0%
Class: wt.change2.WTChangeOrder2 Total: 6,436 Count: 0 Percentage: 0%
Class: wt.change2.WTChangeIssue Total: 2,111 Count: 0 Percentage: 0%

Total number of administratively locked legacy change objects eligible for conversion: 0
Class: wt.change2.WTChangeRequest2 Total: 6,868 Count: 0 Percentage: 0%
Class: wt.change2.WTVariance Total: 0 Count: 0 Percentage: 0%
Class: com.ptc.qualitymanagement.capa.plan.CAPAActionPlan Total: 6 Count: 0 Percentage: 0%
Class: com.ptc.qualitymanagement.capa.request.CAPAChangeRequest Total: 6 Count: 0 Percentage: 0%
Class: wt.change2.WTChangeOrder2 Total: 6,436 Count: 0 Percentage: 0%
Class: wt.change2.WTChangeIssue Total: 2,111 Count: 0 Percentage: 0%

Total number of local legacy change objects not eligible for conversion: 169
Class: wt.change2.WTChangeRequest2 Total: 6,868 Count: 69 Percentage: 1%
Class: wt.change2.WTVariance Total: 0 Count: 0 Percentage: 0%
Class: com.ptc.qualitymanagement.capa.plan.CAPAActionPlan Total: 6 Count: 0 Percentage: 0%
Class: com.ptc.qualitymanagement.capa.request.CAPAChangeRequest Total: 6 Count: 0 Percentage: 0%
Class: wt.change2.WTChangeOrder2 Total: 6,436 Count: 69 Percentage: 1.07%
Class: wt.change2.WTChangeIssue Total: 2,111 Count: 31 Percentage: 1.46%

Total number of administratively locked legacy change objects not eligible for conversion: 0
Class: wt.change2.WTChangeRequest2 Total: 6,868 Count: 0 Percentage: 0%
Class: wt.change2.WTVariance Total: 0 Count: 0 Percentage: 0%
Class: com.ptc.qualitymanagement.capa.plan.CAPAActionPlan Total: 6 Count: 0 Percentage: 0%
Class: com.ptc.qualitymanagement.capa.request.CAPAChangeRequest Total: 6 Count: 0 Percentage: 0%
Class: wt.change2.WTChangeOrder2 Total: 6,436 Count: 0 Percentage: 0%
Class: wt.change2.WTChangeIssue Total: 2,111 Count: 0 Percentage: 0%

No legacy change objects eligible for conversion have been found. Run the convertLinks action.

JeffZemsky
17-Peridot
(To:rhart)

@rhart  based upon the results you are running in Mixed mode and have small number of Legacy links that will need to be further converted

@JeffZemsky How do you run this when you are not using basic authentication?  With the Windchill shell commands there's a --javaargs command to pass... 

 

Here is the extract from help center. hope this helps.

 

>>>

Command line java clients executed via the windchill script (or directly by calling java [classname]) may be unable to authenticate against more advanced authentication solutions, such as single sign-on. The Windchill server is a trusted server and a user name can be specified as a command line argument to execute the command as a particular user. When using the windchill script, the --javaargs argument can be used to specify this user: windchill --javaargs="-Dwt.auth.trustedAuth.username=username" <windchill java class>.

 

regards
~Syed

@JeffZemsky - Hitting back on this old topic... Are there any resources on interpreting the results of the FlexibleChangeConverterReport ? As we are planning our 13.0.2 upgrade, we need to address old objects - have been running in Mixed mode since it became available.

The way PTC have dealt with flexibleChangeConverters seems pretty poor unfortunately.

The problem is that pre-WC11-ish, Change2 used an older mechanism to link between various change objects (PR/CR/CN).

PTC want to stop supporting such objects, so they need converting to the new link mechanism- so called 'flexible links'.

Broad instructions on how to use the tool below, but beware that you are likely to hit failed conversions if you have a WC system that predates WC11 or customisations/complex configurations- or have any PR/CR/CN active from versions of WC prior to 11.1! (we do!)

 

As far as I understand, first you need to run:

java wt.change2.flexible.FlexibleChangeConverter -action convertLinks

to update the links on your legacy objects.

Then you need to run:

java wt.change2.flexible.FlexibleChangeConverter -action convertEligibleObjects

to update the legacy objects into new FlexibleChange objects.

Once you no longer have any legacy objects, you can use:

 

java wt.change2.flexible.FlexibleChangeConverter -action setFlexible

to permanently turn off Legacy change objects in your system. 

 

If you have failed conversions then that indicates you have a change object that does not match one of two OOTB criteria for conversion:

WorkflowReadiness - either has no active workflows, or if it does, the workflow has a 'handlesClosure' bool variable.

ResolutionDateReadiness - if the resolution date is set (i.e. the change is terminated or resolved etc, according to your business rules), then it considers the change 'complete' and converts it.

 

In effect, the converter is intended to identify any objects that may be using legacy workflows with old ways of linking objects and resolving them when workflows/change is completed.

Unfortunately this means that if you have any Change objects with an active non-OOTB workflows that don't have 'handlesClosure' bool variable set to True, they will fail conversion.

This can especially be a problem if you have a lot of long-lived change objects, and are still creating new change objects associated to the old ones. Whenever you create a new Change Object, if its parent Change Object is a legacy one, it becomes a legacy change object! This means that it's not only 'old' data that might be marked as a Legacy change object!

 

You then have a few options, like:

  • updating the workflow to have handlesClosure ( edit workflow template and use Reassign Lifecycle), and then manually completing tasks to put the workflow back in its previous state.  
  • writing a custom java delegate class to determine the conversion-readiness of change objects yourself.
  • manually closed/terminated/pushed through to completion etc. to meet the WorkflowReadiness or ResolutionDateReadiness criteria

 

handesClosure specifically is intended to mark 'modern' change workflows that follow the 'synchronize'/self-closing behaviour- I.E. the workflow is responsible for checking the state of its related changes in order to determine its future routing. For example, a change request might periodically check to see if all of its change notices are resolved. When they are, it routes itself to resolved. 

Equally, Problem Reports might periodically check their associated Change Requests, and close when they are all resolved.

https://support.ptc.com/help/wnc/r12.0.2.0/en/Windchill_Help_Center/WCCG_BusLogicCust_ChangeMgmt_Closure_Procedure.html 

 

Unfortunately there is little detail from PTC about specifically what to watch out for, which is very bothersome when the only thing stopping some practically-OOTB change objects is that they have a workflow lacking a not-at-all-obviously-required variable...

And less detail still about how WorkflowReadinessDelegate is implemented in order to design a custom readiness delegate.

 

You can probably tell that I'm rather bitter about this at the moment😅

avillanueva
22-Sapphire II
(To:JeffZemsky)

Has this pinned message outlived its usefulness?

Announcements


Top Tags