Skip to content

Commit 6e142c1

Browse files
committed
Initial version of SP changes for boundary events
1 parent ad900f1 commit 6e142c1

File tree

4 files changed

+28
-16
lines changed

4 files changed

+28
-16
lines changed

content/en/docs/refguide/modeling/application-logic/workflows/boundary-events.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,15 @@ url: /refguide/workflow-boundary-events/
44
weight: 20
55
---
66

7-
{{% alert color="info" %}}
8-
Interrupting timer boundary events are currently in beta. Certain features or attributes are subject to change and may contain bugs. For more information, see [Beta and Experimental Releases](/releasenotes/beta-features/).
9-
{{% /alert %}}
10-
117
## Introduction
128

139
Based on Business Process Model and Notation (BPMN) 2.0, boundary events are a type of event that is attached to the boundary of an activity (such as a task or a sub-process) to handle exceptional situations or are triggered by certain behaviors.
1410

1511
There are two main types of boundary events:
1612

17-
* Non-interrupting boundary events: These events do not interrupt the ongoing activity. When triggered, they allow the activity to continue while simultaneously starting a new path from the boundary event. Use non-interrupting boundary events when the parent activity should remain active, but you would like to do something in parallel. For example, after 2 days, a reminder should be sent to the assigned user. As per BPMN 2.0 specification, non-interrupting boundary events are visualized as two dashed circles with an icon in the center.
13+
* **Non-interrupting boundary events**: These events do not interrupt the ongoing activity. When triggered, they allow the activity to continue while simultaneously starting a new path from the boundary event. Use non-interrupting boundary events when the parent activity should remain active, but you would like to do something in parallel. For example, after 2 days, a reminder should be sent to the assigned user. As per BPMN 2.0 specification, non-interrupting boundary events are visualized as two dashed circles with an icon in the center.
1814

19-
* Interrupting boundary events (currently in beta): When these events are triggered, they interrupt the activity they are attached to, meaning that this activity will be aborted. The process flow is redirected to the boundary event's outgoing sequence path. Use interrupting boundary event in situations where further execution of the activity (and other following activities) is not required and an alternative path should be taken. For example, use an interrupting boundary event to start an escalation or a fast-track path when an activity is not completed 2 days after the due date. Or when the assigned user does not make a decision within 5 days, you want to abort the user task and continue the process with a pre-set decision. As per BPMN 2.0 specification, interrupting boundary events are visualized as two solid circles.
15+
* **Interrupting boundary events**: When these events are triggered, they interrupt the activity they are attached to, meaning that this activity will be aborted. The process flow is redirected to the boundary event's outgoing sequence path. Use interrupting boundary event in situations where further execution of the activity (and other following activities) is not required and an alternative path should be taken. For example, use an interrupting boundary event to start an escalation or a fast-track path when an activity is not completed 2 days after the due date. Or when the assigned user does not make a decision within 5 days, you want to abort the user task and continue the process with a pre-set decision. As per BPMN 2.0 specification, interrupting boundary events are visualized as two solid circles.
2016

2117
Boundary Events are always displayed by 2 circles (either solid or dashed) and are linked by a dotted line to the parent activity. The icon inside the event indicates the type of event. For example, a clock indicates that it is a timer boundary event.
2218

@@ -125,6 +121,16 @@ An interrupting boundary event path must end with an **End** event or a **Jump**
125121
When there are multiple boundary events attached to an activity and an interrupting boundary event is executed, all the scheduled boundary events will be aborted and all the boundary events that have already started will continue to run until the entire workflow ends.
126122
{{% /alert %}}
127123

124+
## Nested jump rules
125+
Boundary events come with a specific set of rules for jumps when they are nested, the variations are working meant for both a modelled jump and a runtime ad-hoc jump. In the following table are the differences specified.
126+
127+
|Parent | Child | Description|
128+
| -------- |-------- | ------- |
129+
|Interrupting | Interrupting | When an interrupting boundary event is nested inside an interrupting boundary event we are allowed to either jump out of the boundary event flow or end the workflow.|
130+
|Interrupting | Non-Interrupting | When an interrupting boundary event is nested inside an non-interrupting boundary event we are only allowed to jump out of the boundary event flow to it's parent flow.|
131+
|Non-Interrupting | Interrupting | When a non-interrupting boundary event is nested inside an interrupting boundary event we are only allowed to jump in the nested non-interrupting boundary event flow, this follows the same rules as the parallel split outcomes.|
132+
|Non-Interrupting | Non-Interrupting | When a non-interrupting boundary event is nested inside an non-interrupting boundary event we are only allowed to jump inside the nested non-interrupting boundary event flow, this follows the same rules as the parallel split outcomes.|
133+
128134
## Boundary Event Variables
129135

130136
Boundary events have dedicated variables that can be used to get direct access to the values of the parent activity if it is either a user task or Call workflow activity. You can get information such as the parent activity's `DueDate`, which can be used in the boundary event flow and its expressions. For instance, you can use the expression `addDays($ParentTask/DueDate, -2)` to configure a timer boundary event so that it is triggered two days before the due date of its parent user task.
@@ -134,12 +140,6 @@ The list of variables is described below:
134140
* `$ParentTask` – the parent user task of the attached boundary event
135141
* `$CalledWorkflowInstance` – the parent Call workflow activity of the attached boundary event
136142

137-
## Current Limitation {#limitation}
138-
139-
The current release of boundary events is still under development and has the following limitation:
140-
141-
* Non-interrupting timer boundary events currently have no recurrence (they are only executed once and will not repeat).
142-
143143
## Read more
144144

145145
* [Workflows](/refguide/workflows/)

content/en/docs/refguide/modeling/application-logic/workflows/jump-to.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ After setting the objects, changes can be applied by calling a microflow contain
4444

4545
Jumping to other activities has a limitation in parallel splits and in non-interrupting boundary event paths: it is not possible to jump into or out of a current parallel split or a non-interrupting boundary event path. However, it is possible to jump to other activities within a current parallel split or a non-interrupting boundary event path, including the end of the path. Activities in other parallel split or boundary event paths, as well as activities outside of the current path, are not available in the **System.WorkflowCurrentActivity_ApplicableTargets** association.
4646

47-
For interrupting boundary event paths, it is possible to jump within or out of an interrupting boundary event path (to any activity in the parent path). If the interrupting boundary event is in a parallel split path, the boundary path must end with a **Jump** activity and then can jump back to the parent path (which is the parallel split path).
47+
For interrupting boundary event paths, it is possible to jump within or out of an interrupting boundary event path (to any activity in the parent path). If the interrupting boundary event is in a parallel split path or non-interrupting boundary event path, the boundary path must end with a **Jump** activity and then can jump back to the parent path (which is the parallel split / non-interrupting boundary event path).
48+
49+
For more information about jumping rules in a boundary event path see [Nested jump rules](/refguide/workflow-boundary-events/#nested-jump-rules)
4850

4951
## Read More
5052

content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/timer.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,22 @@ The **Caption** describes what happens in this element. It is displayed under th
3838

3939
{{% alert color="info" %}}
4040
This section is only applicable when **Timer** is used as a timer boundary event.
41-
42-
This section is displayed if interrupting timer boundary events (beta) are enabled through Studio Pro **Preferences** -> **New features** -> **Workflow editor** > **Enable interrupting timer boundary events (beta)**.
4341
{{% /alert %}}
4442

4543
The **Interrupting** property sets the timer boundary event to be either interrupting or non-interrupting.
4644

4745
By default, it is set to **No**, which means that the timer boundary event is non-interrupting. When it is set to **Yes**, the timer boundary event is interrupting. For more information, see [Boundary Events](/refguide/workflow-boundary-events/).
4846

47+
{{% alert color="info" %}}
48+
The following section is only applicable when **Timer** is used as a non-interrupting timer boundary event.
49+
{{% /alert %}}
50+
51+
The **Recurrence** property allows a non-interrupting timer boundary event to execute multiple times when the specified interval has elapsed. The following parameters can be set.
52+
| Type | Description |
53+
| --- | --- |
54+
| Interval | You can set a certain duration for the timer. With the **Repeat every** setting, you can indicate the number of seconds, minutes, hours, days, weeks or months the timer's duration is. Possible values for the setting are:<br /><ul><li>Minutes</li><li>Hours</li><li>Days</li><li>Weeks</li><li>Months</li> </ul> |
55+
| Max occurrences | The maximum amount of occurrences. |
56+
4957
### Timer Section {#timer}
5058

5159
The **Timer** property can be configured in two ways: you can set a certain duration or a date and time with an expression. When the workflow path reaches the timer, the configured duration or date and time will be scheduled to take effect.

content/en/docs/refguide/modeling/application-logic/workflows/workflow-engine.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,9 @@ Each boundary event can have only one active instance of the event path at a tim
144144

145145
If there are boundary event paths that have not yet been completed and the workflow's main path ends, the ongoing boundary event paths and their activities will be aborted. This will also occur if the workflow is aborted, retried, or restarted.
146146

147-
With non-interrupting boundary events, the parent activity remains active/in-progress when an event is triggered (which means that the parent activity is not interrupted). For example, when a timer boundary event on a user task is triggered after 2 days, this task will remain in progress and the path defined below the timer boundary event is executed. When the boundary event path reaches the **End of Boundary Path**, the workflow will await the completion of the parent activity.
147+
With non-interrupting boundary events, the parent activity remains active/in-progress when an event is triggered (which means that the parent activity is not interrupted). For example, when a timer boundary event on a user task is triggered after 2 days, this task will remain in progress and the path defined below the timer boundary event is executed. When the boundary event path reaches the **End of Boundary Path**, the workflow will await the completion of the parent activity.
148+
149+
With interrupting boundary events, the parent activity is aborted and the modelled path will be executed. This path will then become the main path of the workflow. An interrupting boundary event has two possible ends (End Workflow or Jump-To). The End workflow activity can be switched to a Jump-to in any scenario. However when an interrupting boundary event is modelled in a parallel split or non-interrupting boundary event, only a jump can be used.
148150

149151
#### Measures Against Endless Loops
150152

0 commit comments

Comments
 (0)