Question
Evonsys
IN
Last activity: 8 Mar 2022 15:13 EST
Class based specialization for intent tasks from same application using same case type
We have a requirement to modify minor behavioural changes for same intent tasks which are already getting used by a different process flow in the same application.All the classes for intent tasks are stored in Declare_CAApplication settings for the current process.
If we apply DCR while creating the same intent task(same case type) for the new process to accomodate the specialization for the new process then we would need to update the Declare_CAApplication settings with these new classes for intent tasks.We cannot do it conditionally as the class to use for intent tasks will depend on a workobject level property and Declare_CAApplication settings is a Requestor level data page.
I figured out two approaches and there are Pros and Cons to it
i) Specialize the new changes related to intent tasks for the new process in the new DCR class.
Con
Existing code has class based check for intent tasks to check whether there are any unresolved intent task present for the case. In all those places this new class check also needs to be there which impacts the existing code even when with specialization we are trying to minimize the impact to existing process. Also if we follow this as an approach then we thought to have classes created for specialization for all the intent tasks which does not require specialization as of now but might come in future. So all intent task originated from this new process has pxObjClass corresponding to the new process.
We have a requirement to modify minor behavioural changes for same intent tasks which are already getting used by a different process flow in the same application.All the classes for intent tasks are stored in Declare_CAApplication settings for the current process.
If we apply DCR while creating the same intent task(same case type) for the new process to accomodate the specialization for the new process then we would need to update the Declare_CAApplication settings with these new classes for intent tasks.We cannot do it conditionally as the class to use for intent tasks will depend on a workobject level property and Declare_CAApplication settings is a Requestor level data page.
I figured out two approaches and there are Pros and Cons to it
i) Specialize the new changes related to intent tasks for the new process in the new DCR class.
Con
Existing code has class based check for intent tasks to check whether there are any unresolved intent task present for the case. In all those places this new class check also needs to be there which impacts the existing code even when with specialization we are trying to minimize the impact to existing process. Also if we follow this as an approach then we thought to have classes created for specialization for all the intent tasks which does not require specialization as of now but might come in future. So all intent task originated from this new process has pxObjClass corresponding to the new process.
ii)Make the new changes for the new process with when rules(not going with circumstance as it might become unmanageable)
Con
This also will impact the processing of intent tasks for the existing process and will continue to have impacts when a new change comes in future for both existing and new process as it will be in common codebase.
Is there any other better way to specialize the rules for intent tasks when they are reused in the same application by two different processes?