-
Notifications
You must be signed in to change notification settings - Fork 767
Documentation for Event Sub-processes #10591
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?
Conversation
|
Update images after we have new icons:
|
|
|
||
| ## Introduction | ||
|
|
||
| An Event Sub-process is a specialized type of sub-process that is not part of the normal sequence flow of its workflow. Instead, it lives inside the workflow and "listens" for a specific trigger. |
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.
"specialized type of sub-process" does not really add any information. Consider rephrasing to "separate execution flow" or something similar.
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.
Instead of writing "instead, ..." it is clearer to say:
"It resides inside the workflow and starts executing upon receiving a specific trigger."
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.
Changed
|
|
||
| ### When to Use Event Sub-Processes | ||
|
|
||
| Choosing between a Boundary Event and an Event Sub-process is a common architectural crossroads. |
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.
Maybe you could add a bit of introduction here:
"An Event Sub-Process is like a Boundary Event, with the exception that an Event Sub-Process can start at any time, whereas a Boundary Event can start only while the activity it is attached to is active."
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.
Added
| #### When NOT to Use | ||
|
|
||
| - **Sequential Logic** – If the logic must happen after a specific task, use a standard sequence flow. | ||
| - **Direct Interaction** – If you need to "pause" a specific task and resume it, a Boundary Event (Interrupting) is often more appropriate. |
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.
How does an Interrupting Boundary Event "resume" a specific task? It does the opposite in my eyes. Also, the use of the word "pause" might be confusing (because in our implementation you can only pause the workflow itself, not individual activities).
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.
Re-phrased and added one more point regarding "Conditional Logic"
|
|
||
| #### Lifecycle | ||
|
|
||
| The Event Sub-process is initialized as soon as the main process starts and remains in a waiting state until a notification is received. |
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.
Consider adding "(but not started)" after initialized.
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.
Done
| {{% alert color="info" %}} | ||
| **What keeps a workflow In Progress?** A workflow instance remains in the **In Progress** state as long as **at least one** of the following is true: | ||
| - The Main Process path has not yet reached its End Event. | ||
| - Any Event Sub-process that was triggered is still executing. |
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.
Consider using similar wording here as in the previous bullet point:
"Any Event Sub-Process that was started has not yet reached its End Event."
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.
Done
|
|
||
| | Attribute | Type | Description | | ||
| |--------------|---------|-------------------------------------------------------------------------------| | ||
| | `Caption` | String | The display name of the sub-process. | |
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.
Yesterday I learned that a User Task has both a caption and a display name (which is confusing in itself). I don't think the SubProcess does, but maybe it's better to refrain from using "display name" nevertheless.
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.
Changed to "caption" so that there is no ambiguity
|
|
||
| ### WorkflowSubProcess | ||
|
|
||
| The `WorkflowSubProcess` entity represents a specific runtime instance of an Event Sub-process. |
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.
Maybe add here that we only create such an instance when the sub-process is started.
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.
Added
|
|
||
| | Attribute | Type | Description | | ||
| |-------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------| | ||
| | `Caption` | String | The display name of the sub-process instance. | |
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.
Same comments as for the definition.
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.
Changed
| | `WorkflowUserTask_WorkflowSubProcess` | `WorkflowUserTask` | The association to active user tasks within this sub-process instance. | | ||
| | `WorkflowEndedUserTask_WorkflowSubProcess` | `WorkflowEndedUserTask` | The association to completed or ended user tasks within this instance. | | ||
| | `WorkflowActivityRecord_WorkflowSubProcess` | `WorkflowActivityRecord` | The association to the historical execution records for this instance. | | ||
| | `WorkflowCurrentActivity_WorkflowSubProcess` | `WorkflowCurrentActivity` | The association to the activity currently being executed in this sub-process (see [Jump to](/refguide/jump-to/). | |
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.
Consider changing "activity" to "activities", because there can be multiple.
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.
Changed
|
|
||
| | Caption | Name | Description | | ||
| |-------------|--------------|-----------------------------------------------------------------------------------------------------------| | ||
| | In progress | `InProgress` | The sub-process has been triggered and is currently executing logic. | |
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 it is better to drop the word "logic".
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.
Removed
No description provided.