Skip to content

Workflower 1.2.0 (stable)

Compare
Choose a tag to compare
@iteman iteman released this 31 Oct 04:03
· 145 commits to master since this release
v1.2.0

Release Date: 2016-10-31 UTC

What's New in Workflower 1.2.0

Service Task support

(@iteman, Issue #15)

Service Tasks have been supported. Here is an example definition of Service Tasks:

<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:ext="http://org.eclipse.bpmn2/ext" xmlns:xs="http://www.w3.org/2001/XMLSchema" id="Definitions_1" exporter="org.eclipse.bpmn2.modeler.core" exporterVersion="1.3.1.Final-v20160914-1606-B56" targetNamespace="http://org.eclipse.bpmn2/default/process">
  <bpmn2:message id="Message_2" name="Message 2"> // A message element that can be shared by all operations.
    <bpmn2:extensionElements>
      <ext:style/>
    </bpmn2:extensionElements>
  </bpmn2:message>
  <bpmn2:interface id="Interface_2" name="Interface 2">
    <bpmn2:operation id="Operation_2" name="phpmentors_workflower.service1"> // An operation named as `phpmentors_workflower.service1` for Service Tasks. In PHPMentorsWorkflowerBundle, `phpmentors_workflower.service1` is treated as the service ID for the DI container.
      <bpmn2:inMessageRef>Message_2</bpmn2:inMessageRef>
    </bpmn2:operation>
    <bpmn2:operation id="Operation_3" name="phpmentors_workflower.service2"> // An operation named as `phpmentors_workflower.service2` for Service Tasks.
      <bpmn2:inMessageRef>Message_2</bpmn2:inMessageRef>
    </bpmn2:operation>
  </bpmn2:interface>
  <bpmn2:process id="ServiceTasksProcess" name="Default Process" isExecutable="false">
    ...
    <bpmn2:serviceTask id="ServiceTask_1" name="Service Task 1" operationRef="Operation_2"> // A Service Task that will be processed by the operation `phpmentors_workflower.service1`.
      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
      <bpmn2:ioSpecification id="InputOutputSpecification_6">
        <bpmn2:inputSet id="InputSet_10" name="Input Set 10"/>
        <bpmn2:outputSet id="OutputSet_10" name="Output Set 10"/>
      </bpmn2:ioSpecification>
    </bpmn2:serviceTask>
    <bpmn2:serviceTask id="ServiceTask_2" name="Service Task 2" operationRef="Operation_3"> // A Service Task that will be processed by the operation `phpmentors_workflower.service2`.
      <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
      <bpmn2:ioSpecification id="InputOutputSpecification_10">
        <bpmn2:inputSet id="InputSet_19" name="Input Set 19"/>
        <bpmn2:outputSet id="OutputSet_19" name="Output Set 19"/>
      </bpmn2:ioSpecification>
    </bpmn2:serviceTask>
    ...

Of course, you should use a graphical BPMN editor to edit BPMN files.