-
Notifications
You must be signed in to change notification settings - Fork 784
Change Boundary Event Type #11293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: development
Are you sure you want to change the base?
Change Boundary Event Type #11293
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -75,6 +75,23 @@ To configure the properties of a boundary event, double-click the event to open | |
|
|
||
| When a boundary event is added to an ongoing activity, any workflow instances currently executing that activity will schedule the new boundary event accordingly. The only exception occurs when an ongoing boundary event is removed from the ongoing activity, the workflow is redeployed, and then the removal is reverted. In this case, the re-added boundary event will not be scheduled. | ||
|
|
||
| ### Changing Boundary Event Type | ||
|
|
||
| You can change the type of existing boundary event via the context menu, without having to delete and re-add it. To do so: | ||
|
|
||
| 1. Right-click the boundary event to open its context menu. | ||
| 2. Click **Change event**. | ||
| 3. Select one of the available options: | ||
|
|
||
| {{< figure src="/attachments/refguide/modeling/application-logic/workflows/boundary-events/context-menu-change-event.png" alt="Changing boundary event type through context menu" width="450" >}} | ||
|
|
||
| You can convert between any of the following supported boundary events: | ||
|
|
||
| * Notification (Interrupting) | ||
| * Notification (Non-Interrupting) | ||
| * Timer (Interrupting) | ||
| * Timer (Non-Interrupting) | ||
|
|
||
| #### Implications of Changing the Interrupting Behavior {#event-type-change} | ||
|
|
||
| For an existing boundary event, when you change its interrupting behavior from non-interrupting to interrupting or vice versa, you will be presented with a warning dialog. For example, when you change a boundary event from non-interrupting to interrupting, you will see the following warning dialog: | ||
|
|
@@ -90,6 +107,12 @@ After you confirm the change: | |
|
|
||
| Boundary events are re-created upon interrupting behavior change because in-place conversion can result in invalid states. An interrupting boundary event must abort its parent activity when triggered, meaning an activity cannot have more than one active interrupting boundary event. Converting an already-triggered non-interrupting boundary event to interrupting in place violates this rule: the parent activity remains in progress, resulting in an interrupting boundary event whose parent is never aborted. Conversely, converting an already-triggered interrupting boundary event to non-interrupting in place leaves it active on an already-aborted parent activity, contradicting the rule that a non-interrupting boundary event must not abort its parent. | ||
|
|
||
| #### Implications of Changing the Boundary Event Type | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Took me a bit to understand this section. What do you think about the following? We can even wrap it in an alert for more emphasis. Changing a non-interrupting Boundary Event Due to technical limitations, changing an ongoing non-interrupting boundary event creates a partially resolvable conflict of type Current Activity Moved out of Path on running workflow instances, which requires manual intervention. This does not apply to interrupting boundary events. For resolution steps, see Workaround for Non-resolvable and Partially Resolvable Conflicts.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
may imply any change to its configuration (like first execution type). I think it makes sense to mention "type" like I did and give an example.
This is true for every conflict. I think the problem is not manual intervention but rather the limitation that one cannot continue the workflow.
That linked section focuses on a workaround. The resolution steps are mentioned in the first reference to the conflict Current Activity Moved out of Path. |
||
|
|
||
| When the type of an ongoing **non-interrupting** boundary event is changed (for example, from Timer to Notification), this causes a partially resolvable [Current Activity Moved out of Path](/refguide/workflow-versioning/#current-activity-moved-out-of-path) conflict. This only applies to non-interrupting boundary events and is an exception due to technical limitations. | ||
|
|
||
| For more information on how to deal with such conflicts, see [Workaround for Non-resolvable and Partially Resolvable Conflicts](/refguide/workflow-versioning/#workaround-for-non-resolvable-and-partially-resolvable-conflicts). | ||
|
|
||
| ### Rearranging Boundary Events | ||
|
|
||
| You can rearrange boundary events in the following ways: | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can leave out the image and options. So just
You can change the type of an existing boundary event via the context menu, without having to delete and re-add it. To do so:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I rephrased the into to the section like you suggested.
Regarding the image, if we can show part of UI we are referring to I see no reasons not to. In this case its a single graphic so it doesn't even clutter the documentation.
If you think we should remove this picture then we could just as well remove the rest of them from the page. right?