cancel
Showing results for 
Search instead for 
Did you mean: 

Can a task go to two other paralell tasks?

kethur
Champ in-the-making
Champ in-the-making
Hi All,

If i have a workflow process like below, which one actually works after the which one.  Because, usual workflow should be usertask1 leads to usertask2 but, in this case usertask1 leading to usertask2 and usertask3.  Will both the tasks be executed simultaneously?  I thought for this kind of scenario you use parallel gateway.

  <process id="process1" name="process1">
    <startEvent id="startevent1" name="Start"></startEvent>
    <userTask id="usertask1" name="User Task"></userTask>
    <sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
    <userTask id="usertask2" name="User Task"></userTask>
    <sequenceFlow id="flow2" name="" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
    <userTask id="usertask3" name="User Task"></userTask>
    <sequenceFlow id="flow3" name="" sourceRef="usertask1" targetRef="usertask3"></sequenceFlow>
  </process>


=========================================Whole XML (I could not attach file)=====================================
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlnsSmiley Surprisedmgdc="http://www.omg.org/spec/DD/20100524/DC" xmlnsSmiley Surprisedmgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <process id="process1" name="process1">
    <startEvent id="startevent1" name="Start"></startEvent>
   
    <userTask id="usertask1" name="User Task"></userTask>
   
    <sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
   
    <userTask id="usertask2" name="User Task"></userTask>
   
    <sequenceFlow id="flow2" name="" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
   
    <userTask id="usertask3" name="User Task"></userTask>
   
    <sequenceFlow id="flow3" name="" sourceRef="usertask1" targetRef="usertask3"></sequenceFlow>
   
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_process1">
    <bpmndi:BPMNPlane bpmnElement="process1" id="BPMNPlane_process1">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35" width="35" x="150" y="130"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
        <omgdc:Bounds height="55" width="105" x="230" y="120"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
        <omgdc:Bounds height="55" width="105" x="400" y="164"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">
        <omgdc:Bounds height="55" width="105" x="390" y="40"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="185" y="147"></omgdi:waypoint>
        <omgdi:waypoint x="230" y="147"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="335" y="147"></omgdi:waypoint>
        <omgdi:waypoint x="452" y="164"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
        <omgdi:waypoint x="282" y="120"></omgdi:waypoint>
        <omgdi:waypoint x="442" y="95"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
===========================================================================
I appreciate your help!

Thanks,
Raj
2 REPLIES 2

frederikherema1
Star Contributor
Star Contributor
When usertaks1 is completed, it will take all outgoing flows. So indeed, usertaks2 and usertask3 will be available in the task-list, as out user guide describes:

A sequence flow is the connector between two elements of a process. After an element is visited during process execution, all outgoing sequence flow will be followed. This means that the default nature of BPMN 2.0 is to be parallel: two outgoing sequence flow will create two separate, parallel paths of execution.

But for readability purposes, it's better to use a parallel-gateway for this…

kethur
Champ in-the-making
Champ in-the-making
Many thanks for the quick response.