Skip to content

Commit 9c690cd

Browse files
authored
Merge pull request #148 from datasharingframework/latest-tutorial-pass-fixes
Latest tutorial pass fixes
2 parents ebab158 + ee5eaf0 commit 9c690cd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+374
-355
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: Execution Listeners
3+
icon: creative
4+
---
5+
6+
## Execution Listeners
7+
8+
Execution Listeners can be registered to various flow elements like process, events, tasks, gateways and sequence flows. They are called when the process execution arrives at the flow element they are registered to. See [Activities]

docs/src/process-development/api-v2/bpmn/gateways.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ icon: creative
55

66
## Gateways
77

8-
[Gateways](https://docs.camunda.org/manual/7.21/reference/bpmn20/gateways/) allow modelling of decision-based and concurrent workflows. [Exclusive Gateways](#exclusive-gateways) model a decision where one flow gets pursued over other flows. [Event-based Gateways](#event-based-gateways) also model a decision, but are based on events. [Parallel Gateways](#parallel-gateways) model concurrency.
8+
[Gateways](https://docs.operaton.org/docs/documentation/reference/bpmn20/gateways/) allow modelling of decision-based and concurrent workflows. [Exclusive Gateways](#exclusive-gateways) model a decision where one flow gets pursued over other flows. [Event-based Gateways](#event-based-gateways) also model a decision, but are based on events. [Parallel Gateways](#parallel-gateways) model concurrency.
99

1010
### Exclusive Gateways
1111

12-
[Exclusive Gateways](https://docs.camunda.org/manual/7.21/reference/bpmn20/gateways/exclusive-gateway/) decide which one out of multiple [Sequence Flow](sequence-flow.md) should be followed based on [conditions](https://docs.camunda.org/manual/7.21/user-guide/process-engine/expression-language/#conditions). [Conditions](https://docs.camunda.org/manual/7.21/user-guide/process-engine/expression-language/#conditions) are not part of the [Exclusive Gateways](https://docs.camunda.org/manual/7.21/reference/bpmn20/gateways/exclusive-gateway/) themselves. They are set through the sequence flow exiting the [Exclusive Gateway](https://docs.camunda.org/manual/7.21/reference/bpmn20/gateways/exclusive-gateway/). In the [Camunda Modeler](https://camunda.com/download/modeler/), conditions can be added to [Sequence Flows](sequence-flow.md) by selecting a [Sequence Flow](sequence-flow.md) and opening the `Condition` tab. More information on how to use Conditions can be found in [Conditions](conditions.md).
12+
[Exclusive Gateways](https://docs.operaton.org/docs/documentation/reference/bpmn20/gateways/exclusive-gateway) decide which one out of multiple [Sequence Flow](sequence-flow.md) should be followed based on [conditions](https://docs.camunda.org/manual/7.21/user-guide/process-engine/expression-language/#conditions). [Conditions](https://docs.camunda.org/manual/7.21/user-guide/process-engine/expression-language/#conditions) are not part of the [Exclusive Gateways](https://docs.operaton.org/docs/documentation/reference/bpmn20/gateways/exclusive-gateway) themselves. They are set through the sequence flow exiting the [Exclusive Gateway](https://docs.operaton.org/docs/documentation/reference/bpmn20/gateways/exclusive-gateway). In the [Camunda Modeler](https://camunda.com/download/modeler/), conditions can be added to [Sequence Flows](sequence-flow.md) by selecting a [Sequence Flow](sequence-flow.md) and opening the `Condition` tab. More information on how to use Conditions can be found in [Conditions](conditions.md).
1313

1414
### Event-based Gateways
1515

16-
The [Event-based Gateway](https://docs.camunda.org/manual/7.21/reference/bpmn20/gateways/event-based-gateway/) models a decision in the workflow. But instead of [conditions](./conditions.md), the [Event-based Gateway](https://docs.camunda.org/manual/7.21/reference/bpmn20/gateways/event-based-gateway/) uses the triggering of an event to decide which [Sequence Flow](sequence-flow.md) to pursue.
16+
The [Event-based Gateway](https://docs.operaton.org/docs/documentation/reference/bpmn20/gateways/event-based-gateway) models a decision in the workflow. But instead of [conditions](./conditions.md), the [Event-based Gateway](https://docs.operaton.org/docs/documentation/reference/bpmn20/gateways/event-based-gateway) uses the triggering of an event to decide which [Sequence Flow](sequence-flow.md) to pursue.
1717

1818
### Parallel Gateways
1919

20-
[Parallel Gateways](https://docs.camunda.org/manual/latest/reference/bpmn20/gateways/parallel-gateway/) model concurrent workflows. Their outgoing flows can be joined together again with another [Parallel Gateway](https://docs.camunda.org/manual/latest/reference/bpmn20/gateways/parallel-gateway/). This makes process execution wait for both flows to arrive at the gateway before continuing.
20+
[Parallel Gateways](https://docs.operaton.org/docs/documentation/reference/bpmn20/gateways/parallel-gateway/) model concurrent workflows. Their outgoing flows can be joined together again with another [Parallel Gateway](https://docs.operaton.org/docs/documentation/reference/bpmn20/gateways/parallel-gateway/). This makes process execution wait for both flows to arrive at the gateway before continuing.

docs/src/process-development/api-v2/bpmn/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ The DSF uses BPMN 2.0 to model processes. Specifically, the [Camunda 7](https://
88

99
## Details
1010
- [Conditions](conditions.md)
11+
- [Execution Listeners](execution-listeners.md)
1112
- [Gateways](gateways.md)
1213
- [Messaging](messaging.md)
1314
- [Sequence Flow](sequence-flow.md)

docs/src/process-development/api-v2/bpmn/messaging.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,25 @@ icon: creative
66

77
## Messaging
88

9-
Enabling communication with other lanes, pools or even entirely separate processes requires the ability to exchange information. In BPMN, [Message Events](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/) are used to model this information exchange. Modeling communication with [Message Events](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/) in the same diagram uses Message Flow. Message Flow is typically represented by a dashed line arrow between BPMN elements with a black (send) or white (receive) envelope icon. The following BPMN collaboration diagram shows message exchange between two processes.
9+
Enabling communication with other lanes, pools or even entirely separate processes requires the ability to exchange information. In BPMN, [Message Events](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/message-events/) and [Message Send Tasks](https://docs.operaton.org/docs/documentation/reference/bpmn20/tasks/send-task) are used to model this information exchange. Using them to model communication in the same diagram uses Message Flow. Message Flow is typically represented by a dashed line arrow between BPMN elements with a black (send) or white (receive) envelope icon. The following BPMN collaboration diagram shows message exchange between two processes.
1010

1111
![BPMN collaboration diagram with two processes using message flow to exchange information between two organizations](/photos/developer-documentation/message_flow.svg)
1212

1313
### Message Start Event
1414

15-
[Message Start Events](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-start-event) allow a BPMN process to be started by an incoming message. In the DSF, all BPMN processes are started via messages. Therefore, a [Message Start Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-start-event) has to be included at the beginning of all of your BPMN models.
15+
[Message Start Events](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/message-events#message-start-event) allow a BPMN process to be started by an incoming message. In the DSF, all BPMN processes are started via messages. Therefore, it is mandatory to include a [Message Start Event](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/message-events#message-start-event) at the beginning of all DSF BPMN models.
1616

17-
### Message Intermediate Throwing Event
18-
[Message Intermediate Throwing Events](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-intermediate-throwing-event) are used to send messages during process execution.
17+
#### Message Intermediate Throwing Event
18+
[Message Intermediate Throwing Events](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/message-events#message-intermediate-throwing-event) are used to send messages during process execution. Message intermediate throwing events that are used to communicate with DSF instances via FHIR Task resources, should implement the DSF API v2 interface `dev.dsf.bpe.v2.activity.MessageIntermediateThrowEvent`.
1919

20-
### Message Intermediate Catching Event
21-
[Message Intermediate Catching Events](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-intermediate-catching-event) serve as the counterpart to [Message Intermediate Throwing Events](messaging.md#message-intermediate-throwing-event). Use them whenever it is expected to receive a message from another process or organization during execution.
20+
#### Message Intermediate Catching Event
21+
[Message Intermediate Catching Events](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/message-events#message-intermediate-catching-event) serve as the counterpart to [Message Intermediate Throwing Events](messaging.md#message-intermediate-throwing-event). They are used to receive a message from another process or organization during execution.
2222

23-
### Message End Event
24-
The [Message End Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-end-event) will stop the execution of a BPMN process and finish by sending a message.
23+
#### Message End Event
24+
The [Message End Event](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/message-events#message-end-event) will stop the execution of a BPMN process and finish by sending a message.Message end events that are used to communicate with DSF instances via FHIR Task resources, should implement the API v2 interface `dev.dsf.bpe.v2.activity.MessageEndEvent`.
25+
26+
#### Message Send Task
27+
Same as the [Message Intermediate Throwing Event](#message-intermediate-throwing-event), the [Message Send Task](https://docs.operaton.org/docs/documentation/reference/bpmn20/tasks/send-task/) is used to send messages during process execution but is also intended to execute some kind of business logic at the same time. Message send tasks that are used to communicate with DSF instances via FHIR Task resources, should implement the API v2 interface `dev.dsf.bpe.v2.activity.MessageSendTask`.
28+
29+
## Related Topics
30+
[Activities](../dsf/activities.md), [Message Activities](../dsf/message-activities.md)

docs/src/process-development/api-v2/bpmn/service-tasks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ icon: creative
55

66
## Service Tasks
77

8-
One of the most common types of BPMN Tasks used for modeling DSF processes is the [Service Task](https://docs.camunda.org/manual/7.21/reference/bpmn20/tasks/service-task/). They are different from regular BPMN Tasks in that they offer the ability to link an implementation to the [Service Task](https://docs.camunda.org/manual/7.21/reference/bpmn20/tasks/service-task/) which can be called and executed by a BPMN engine. The BPE (Business Process Engine) server of the DSF leverages this engine to execute BPMN processes.
8+
One of the most common types of BPMN Tasks used for modeling DSF processes is the [Service Task](https://docs.operaton.org/docs/documentation/reference/bpmn20/tasks/service-task). They are different from regular BPMN Tasks in that they offer the ability to link a Java class to the [Service Task](https://docs.operaton.org/docs/documentation/reference/bpmn20/tasks/service-task) which can be called and executed by a BPMN engine. The BPE (Business Process Engine) server of the DSF leverages this engine to execute BPMN processes and their associated code. Java service tasks must implement the API v2 interface `dev.dsf.bpe.v2.activity.ServiceTask`.

docs/src/process-development/api-v2/bpmn/timer-intermediate-catching-events.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ icon: creative
55

66
## Timer Intermediate Catching Events
77

8-
A [Timer Intermediate Catching Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/timer-events/#timer-intermediate-catching-event) allows for modelling stopwatch behavior. A timer is started once the BPMN execution arrives at the event. The duration until the timer runs out is specified using the [ISO 8601 Durations](http://en.wikipedia.org/wiki/ISO_8601#Durations) format. Examples can be found [here](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/timer-events/#time-duration). After running out, the BPMN process executes the [Sequence Flow](sequence-flow.md) following the [Timer Intermediate Catching Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/timer-events/#timer-intermediate-catching-event).
8+
A [Timer Intermediate Catching Event](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/timer-events#timer-intermediate-catching-event) allows modelling stopwatch behavior. A timer is started once the BPMN execution arrives at the event. The duration until the timer runs out is specified using the [ISO 8601 Durations](http://en.wikipedia.org/wiki/ISO_8601#Durations) format. Examples can be found [here](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/timer-events#time-duration). After running out, the BPMN process executes the [Sequence Flow](sequence-flow.md) following the [Timer Intermediate Catching Event](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/timer-events#timer-intermediate-catching-event).

docs/src/process-development/api-v2/bpmn/user-tasks.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,7 @@ icon: creative
55

66
## User Tasks
77

8-
User Tasks define a process step that requires some kind of human interaction. Usually this is done by providing some kind of form the user can fill out. The Camunda Modeler allows to configure these forms as either a proprietary format called [Camunda Forms](https://docs.camunda.io/docs/guides/utilizing-forms/) or custom forms called `Embedded or External Task Forms`. The DSF uses such `External Task Forms` in the form of [Questionnaire](https://www.hl7.org/fhir/R4/questionnaire.html) and [Questionnaire Response](https://www.hl7.org/fhir/R4/questionnaireresponse.html) resources. This mechanism is further expanded upon in [User Tasks in the DSF](../guides/user-tasks-in-the-dsf.md).
8+
User Tasks define a process step that requires some kind of human interaction. Usually this is done by providing some kind of form the user can fill out. Operaton supports three kinds of forms: [Embedded Forms](https://docs.operaton.org/docs/documentation/user-guide/task-forms/#embedded-task-forms), [Operaton Forms](https://docs.operaton.org/docs/documentation/user-guide/task-forms/#embedded-task-forms) and [External Task Forms](https://docs.operaton.org/docs/documentation/user-guide/task-forms/#external-task-forms). The DSF uses `External Task Forms` in the form of [Questionnaire](https://www.hl7.org/fhir/R4/questionnaire.html) and [Questionnaire Response](https://www.hl7.org/fhir/R4/questionnaireresponse.html) resources.
9+
10+
## Related Topics
11+
[Questionnaire and QuestionnaireResponse](../fhir/questionnaire-and-questionnaireresponse.md), [User Tasks in the DSF](../guides/user-tasks-in-the-dsf.md)

docs/src/process-development/api-v2/concept.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ icon: info
55

66
## BPMN
77
- [Conditions](bpmn/conditions.md)
8+
- [Execution Listener](bpmn/execution-listeners.md)
89
- [Gateways](bpmn/gateways.md)
910
- [Messaging](bpmn/messaging.md)
1011
- [Sequence Flow](bpmn/sequence-flow.md)
@@ -14,35 +15,35 @@ icon: info
1415
## FHIR
1516
- [ActivityDefinition](fhir/activitydefinition.md)
1617
- [Codesystem](fhir/codesystem.md)
18+
- [Questionnaire and QuestionnaireResponse](fhir/questionnaire-and-questionnaireresponse.md)
1719
- [Task](fhir/task.md)
1820
- [ValueSet](fhir/valueset.md)
1921

2022
## DSF
21-
- [BPMN Process Execution](dsf/bpmn-process-execution.md)
23+
- [Activities](dsf/activities.md)
2224
- [BPMN Process Variables](dsf/bpmn-process-variables.md)
2325
- [Draft Task Resources](dsf/draft-task-resources.md)
2426
- [Environment Variables](dsf/environment-variables.md)
2527
- [Message Correlation](dsf/message-correlation.md)
26-
- [Message Delegates](dsf/message-delegates.md)
28+
- [Message Activities](dsf/message-activities.md)
29+
- [Messaging](dsf/messaging.md)
2730
- [Organization Identifiers](dsf/organization-identifiers.md)
2831
- [Process Plugin API](dsf/process-plugin-api.md)
2932
- [Process Plugin Definition](dsf/process-plugin-definition.md)
3033
- [Read Access Tag](dsf/read-access-tag.md)
3134
- [Requester and Recipient](dsf/requester-and-recipient.md)
32-
- [Service Delegates](dsf/service-delegates.md)
3335
- [Spring Framework Integration](dsf/spring-framework-integration.md)
3436
- [Target and Targets](dsf/target-and-targets.md)
3537
- [Versions, Placeholders and URLs](dsf/versions-placeholders-urls.md)
3638

3739
## Guides
3840
- [Accessing BPMN Process Variables](guides/accessing-bpmn-process-variables.md)
3941
- [Accessing Task Resources During Execution](guides/accessing-task-resources-during-execution.md)
40-
- [Adding Task Input Parameters to Task Profiles](guides/adding-task-input-parameters-to-task-profiles.md)
42+
- [Adding Task Parameters to Task Profiles](guides/adding-task-parameters-to-task-profiles.md)
4143
- [Configuring Read Access Tags](guides/configuring-read-access-tags.md)
4244
- [Creating ActivityDefinitions](guides/creating-activity-definitions.md)
4345
- [Creating CodeSystems for DSF Processes](guides/creating-codesystems-for-dsf-processes.md)
4446
- [Creating Task Resources Based on a Definition](guides/creating-task-resources-based-on-a-definition.md)
4547
- [Creating ValueSets for DSF Processes](guides/creating-valuesets-for-dsf-processes.md)
4648
- [Managing Multiple Incoming Messages and Missing Messages](guides/managing-mutiple-incoming-messages-and-missing-messages.md)
47-
- [Setting Targets for Message Events](guides/setting-targets-for-message-events.md)
4849
- [Starting a Process via Task Resources](guides/starting-a-process-via-task-resources.md)
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
title: Activities
3+
icon: creative
4+
---
5+
6+
### Activities
7+
8+
Activities are Java interfaces in the DSF API v2 that represent certain BPMN elements which can/need to specify a Java class as their `Implementation` value. Implementing Activity interfaces and [registering them as Spring beans](spring-framework-integration.md) causes the DSF to execute the code provided by the implementation when the process execution reaches the corresponding flow element. The value for the `Implementation` field of BPMN elements expects the fully qualified class name:
9+
```
10+
org.package.myClass
11+
```
12+
13+
### List of Activities
14+
- ExecutionListener
15+
- MessageEndEvent
16+
- MessageIntermediateThrowEvent
17+
- MessageSendTask
18+
- ServiceTask
19+
- UserTaskListener
20+
21+
### ExecutionListener
22+
`ExecutionListener` is the interface to be implemented for a class set as the Java implementation for [Execution Listeners](../bpmn/execution-listeners.md) attached to certain flow elements.
23+
24+
### MessageEndEvent
25+
`MessageEndEvent` is the interface to be implemented for a class set as the Java implementation for Message End Events. It inherits from the `MessageActivity` interface which specifies additional methods specific to [messaging](messaging.md).
26+
27+
### MessageIntermediateThrowEvent
28+
`MessageIntermediateThrowEvent` is the interface to be implemented for a class set as the Java implementation for Message Intermediate Throw Events. It inherits from the `MessageActivity` interface which specifies additional methods specific to [messaging](messaging.md).
29+
30+
### MessageSendTask
31+
`MessageSendTask` is the interface to be implemented for a class set as the Java implementation for Message Send Tasks. It inherits from the `MessageActivity` interface which specifies additional methods specific to [messaging](messaging.md).
32+
33+
### ServiceTask
34+
`ServiceTask` is the interface to be implemented for a class set as the Java implementation for Service Tasks.
35+
36+
### UserTaskListener
37+
`ServiceTask` is the interface to be implemented for a class set as the Java implementation for Service Tasks's Task Listener. Task Listeners have properties that separate them from [Execution Listeners](../bpmn/execution-listeners.md). More on Task Listeners in the guide on [User Tasks in the DSF](../guides/user-tasks-in-the-dsf.md)

0 commit comments

Comments
 (0)