reactivate a completed process

reactivate a completed process

  

If a process has been completed but needs correction, is there a way to reactivate it and send it to an activity?

EDIT: Found this "The execution of a terminated process might be restarted in the Service Center."


2nd question about sending a process back to earlier activity:

If reviewer selected is not available and the initiator wants to recall the process to set a new reviewer. 

This 2 year old reply says not doable:  https://www.outsystems.com/forums/discussion/18018/reset-bpt-process/


Hi Peter, both your questions need to be addressed in the at the bpt design level. Even if it's possible to restart the execution of a terminated process, what you need to do is design your process flow so it supports error recovery. Using your example, you need to give an activity to your initiator where he can send the process back using conditional paths, here's a snippet exemplfying how you can achieve this:



@Peter

Adding up to what Afonso said, you can also re-assign Human Activities in runtime using the BPT API.

You can use the HumanActivity_AssignToUser action to change users.

https://success.outsystems.com/Documentation/10/Reference/OutSystems_APIs/BPT_API#HumanActivity_AssignToUser

Let us know if you need more help. We'll be glad to do some small examples for you.


Regards

João Heleno

Thanks for adding that João, although I do think that this specific action should be used when some business logic from the outside has an impact on the process, rather than using it as a process controller. For example if a reviewer was replaced in the company and someone else is handling their processes from now on, we use this action to assign them to the new user. But it should not be used as a default for controlling flow.

Afonso,

I agree to some extent.

Peter's issues lack more description but I would say what he really needs is a way for the initiator person to have the possibility to set a new reviewer thus the use of HumanActivity_AssignToUser would be more suitable, IMHO.

Reversing the process partially or in it's entirety is a solution that can possible bring more problems.  


Hugs,

João Heleno

@João

We definitely need more info to choose between both approaches. It just felt from the wording that Peter used that this is a somewhat recurrent scenario, which involves transfer of control to the initiator so he can perform the activity of assigning a reviewer again, thus my suggestion of making it part of the process.

Well, Peter can also do an ActivityReset given an user has already opened the activity leaving it to be opened and carried out by another end-user.

I think Peter has a lot to digest. Let's wait and see.


Take care,

João Heleno

Appreciate the prompt replies. 

If the process has gone to (End), is there a system level API or UI for BPT Admin to "revive" and drop it back to a specific activity?

Scenarios:

1. User needed to attach additional file or update some information but process has reached (End).

2. Process bug that caused improper termination, new process is released, want to re-activate the one that went to (End).

@Peter

Have you done the BPT masterclass?

https://www.outsystems.com/learn/courses/17/master-class-on-modeling-business-processes-bpt/

If not, I suggest you do it first. Some of your doubts will dissipate.


Regards

João Heleno

Regarding Scenario 1:

Like i said before you should model your user error handling into your process, if users need to update information after the process has ended and that leads to a decision flow, then don't end the process, leave it hanging with a wait and model your "Additional files" flow to go back and re-do the stuff you need to redo.


Regarding Scenario 2:

Keep your business data decoupled from the process itself, if your process terminates due to a bug then you can create a new process and associate the data of the old process with the new process. Unfortunately your users will still have to go through the process unless you set the activity set to skippable and programatically skip them. This is a hard problem to solve and only you can achive the best solution according to your own architecture and business case.


I agree with João that you should watch the masterclass if you haven't yet.