Skip to main content

Hi.

 

I have a situation where I have two workflows. One is the master, and that is the Approval Workflow that goes through multiple approval processes, and confirms back to the Project Manager when all approvals are completed. I have another workflow, which is the "Design stakeholder" approvals. This workflow has a number of steps required by the Approval Stakeholders to complete.

 

While the Approval Workflow relies on the Design Stakeholders, they are seperate tasks because there is no way to know how many approvals are required at design, and they are created dynamically based on selection - which could happen at any stage. So each stakeholder has their own task that goes through that Designer Stakeholder workflow.

 

The part that I am getting stuck on is I want the Designer Stakeholder workflow to call back to the Approval Workflow to execute a "Event" and change a Data Field "Run Check" to True.

 

The Event I want to be run on the Approval Workflow will check the database to make sure that all approvals have been completed, and if they have it continues on through that workflow, otherwise it goes back and waits.

 

The problem is - I can't seem to figure out how IPC can do this (and I believe from what I am reading it can't) and I can't seem to figure out how to get a SmartObject that will execute something.

 

Can anyone give me any help and direction?

 

Cheers

Matt

Hey Matt,

 

Am I understanding your use case correctly here?

 

Basically you have a list of Design Stakeholder Reviewers that are set at runtime when a Project Manager first fills out a form and initiates an Approval Workflow(aka the Master/Parent Workflow). From there the Approval Workflow will get to a point where it kicks off the individual Design Stakeholder Review workflows (aka Child Workflows) based on the list of designer stakeholders selected by the Project Manager. At this point, the Approval Workflow should wait until all Design Stakeholder Review workflows complete before moving on.

 

If that is correct, you can set the IPC task to run Sychronously, then for your destinations in the IPC event use Plan Per Slot(No Destinations). The workflow will wait on every child workflow to complete before moving on. When the last child workflow completes you can evaluate things with a SmartObject call at that point. What are your requirements for moving on after all of the child Stakeholder Review workflows complete? Is this where you need to know if someone Rejects at that level? You can use "Line Rules" in K2 Studio to make a SmartObject call to your database and check if there are Rejects and then move the workflow in a direction based on that.

 

This tutorial, K2 Parent-Child Workflows in K2 Studio(Intermediate), shows how to do the IPC stuff. Specifically, Step 3: Configure destination rules and add an IPC event to the parent workflow, in this tutorial. It does use a predefined Group for child workflow destinations, but you can switch that out with your list of dynamic recipients as needed.

 

 

Write back if you have more questions or need more help.

 

Jason


Hey Matt,

 

Am I understanding your use case correctly here?

 

Basically you have a list of Design Stakeholder Reviewers that are set at runtime when a Project Manager first fills out a form and initiates an Approval Workflow(aka the Master/Parent Workflow). From there the Approval Workflow will get to a point where it kicks off the individual Design Stakeholder Review workflows (aka Child Workflows) based on the list of designer stakeholders selected by the Project Manager. At this point, the Approval Workflow should wait until all Design Stakeholder Review workflows complete before moving on.

 

If that is correct, you can set the IPC task to run Sychronously, then for your destinations in the IPC event use Plan Per Slot(No Destinations). The workflow will wait on every child workflow to complete before moving on. When the last child workflow completes you can evaluate things with a SmartObject call at that point. What are your requirements for moving on after all of the child Stakeholder Review workflows complete? Is this where you need to know if someone Rejects at that level? You can use "Line Rules" in K2 Studio to make a SmartObject call to your database and check if there are Rejects and then move the workflow in a direction based on that.

 

This tutorial, K2 Parent-Child Workflows in K2 Studio(Intermediate), shows how to do the IPC stuff. Specifically, Step 3: Configure destination rules and add an IPC event to the parent workflow, in this tutorial. It does use a predefined Group for child workflow destinations, but you can switch that out with your list of dynamic recipients as needed.

 

 

Write back if you have more questions or need more help.

 

Jason

 


Reply