From 6d4c5ce7cea15a35e87633574508da31b5626518 Mon Sep 17 00:00:00 2001 From: mesellings Date: Wed, 2 Oct 2024 14:21:32 +0100 Subject: [PATCH 1/6] Initial edits --- ...getting-started-orchestrate-human-tasks.md | 62 +++++++++++-------- 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/docs/guides/getting-started-orchestrate-human-tasks.md b/docs/guides/getting-started-orchestrate-human-tasks.md index 18dbe33024..c2aca5f3bf 100644 --- a/docs/guides/getting-started-orchestrate-human-tasks.md +++ b/docs/guides/getting-started-orchestrate-human-tasks.md @@ -28,13 +28,20 @@ import SmPrereqs from './react-components/sm-prerequisites.md' import SaasPrereqs from './react-components/saas-prerequisites.md' import Install from './react-components/install-plain-java.md' -Camunda 8 allows you to orchestrate processes with human tasks of any complexity. Utilizing user tasks, you can create and assign tasks to users. Then, users can perform their work and enter the necessary data to drive the business process. +You can use Camunda 8 to orchestrate processes with human tasks of any complexity. User tasks allow you to create and assign tasks to users, who can then perform their work and enter the required data to drive the business process. + +This guide introduces you to the basics of human task orchestration. + +- You will create a simple process to decide on what to eat for dinner, and drive the process flow according to that decision. +- This process is entirely executable in the browser. :::note -If you prefer a video-based learning experience or a more complex example, visit [this Camunda Academy course](https://bit.ly/3PJJocB). +For a video-based learning experience or a more complex example, see the [Getting Started with Human Workflow](https://bit.ly/3PJJocB) Camunda Academy course. ::: -This guide introduces you to the basics of human task orchestration. You will create a simple process to decide on dinner, and drive the process flow according to that decision. This process is entirely executable in the browser. +## Before you begin + +To complete this guide you must either sign up for camunda 8 SaaS or install Camunda 8 Self-Managed: @@ -52,36 +59,37 @@ This guide introduces you to the basics of human task orchestration. You will cr -Take the following five steps to create and run your first process with a human in the loop: +Perform the following steps to create and run your first process with a human in the loop. -### Step 1: Create a new process +## Step 1: Create a new process -In this step, you will design a process that demonstrates how to route the process flow based on a user decision. In this example, you will create a process to decide what is for dinner. +Start by designing a process to demonstrate how to route the process flow based on a user decision. In this example, you will create a process to decide what to eat for dinner. -#### Create a new file +### Create a new project and file -1. Every file in Web Modeler requires a project. Within Modeler, click **New project**. -2. Name your project and select **Create new > BPMN diagram**. -3. Give your file a descriptive name. In this case, name it `Decide for Dinner`. -4. Make sure to name the process itself as well. Click the empty canvas, and specify the process name and technical ID in the properties panel. This specifies how the process will appear in other tools of Camunda 8. +1. Open Modeler, and click **New project**. Every file in Web Modeler requires a project. +2. Select **Create new > BPMN diagram**. +3. Give your file a descriptive name. For example, 'Decide for Dinner'. +4. Make sure to name the process itself as well. Click the empty canvas, and specify the process name and technical ID in the properties panel. This specifies how the process appears in other Camunda 8 components. -#### Design the process +### Design the process :::note -To run this guide, make sure to be in **Implement** mode to specify the technical details of the process. + +Make sure you are in **Implement** mode as this allows you to configure the process technical details. Active implement mode tab + ::: 1. A **start event** is automatically added to the canvas. Click it to display configuration and append options. 2. Click the rectangular **Append Task** icon to append a task. -3. Enter a descriptive name for the task, such as `Decide what's for dinner`. -4. Change the task type by clicking the **wrench** icon. Select **User Task**. -5. Select the user task and click on the diamond-shaped icon to append an exclusive gateway. The gateway allows to route the process flow differently, depending on conditions. -6. Select the gateway and append a task by clicking the task icon. Repeat it to create a second process flow. Name the tasks based on what the user decides to eat: in this case, we've named ours `Prepare chicken` and `Prepare salad`. +3. Enter a descriptive name for the task, for example `Decide what's for dinner`. +4. Change the task type by clicking the **Change element** icon. Select **User task**. +5. Select the user task and click on the diamond-shaped icon to append an exclusive gateway. The gateway allows you to route the process flow differently, depending on conditions. +6. Select the gateway and append a task by clicking the task icon. Repeat this to create a second process flow. Name the tasks based on what the user decides to eat, for example, we've named ours `Prepare chicken` and `Prepare salad`. 7. To route the user to the right task, add [expressions](/components/concepts/expressions.md) to the **sequence flows**. Sequence flows are represented by arrows connecting the gateway to the tasks. To add an expression, click on a sequence flow to view the **properties panel**, and open the **Condition** section. 8. Verify the sequence flows have the following expressions: `meal = "Salad"` on one side, and `meal = "Chicken"` on the other. You will define the variable `meal` later when designing a form for the user task. - Example of a conditional expression - +

Example of a conditional expression

9. Connect the split process flows again. Append another exclusive gateway to one of the tasks. Select the other task and drag the arrow-shaped sequence flow tool to connect it to the gateway. 10. Select the gateway and add an **end event** to your process, denoted by the circle with the thick outline. @@ -92,13 +100,13 @@ Variables are part of a process instance and represent the data of the instance. -### Step 2: Design a form +## Step 2: Design a form -You have now designed the process. To allow the user to make the decision, you will now design a [form](../components/modeler/forms/camunda-forms-reference.md). Forms can be added to user tasks and start events to capture user input, and the user input can be used to route the process flow, to make calls to APIs, or to orchestrate your services. +You have now designed the process. To allow the user to make the decision, you will now design a [form](../components/modeler/forms/camunda-forms-reference.md). Forms can be added to user tasks and start events to capture user input, and the user input can be used to route the process flow, to make API requests, or to orchestrate your services. 1. Select the user task you created in **[Step 1](#step-1-create-a-new-process)**. 2. Click the blue **link icon** in the lower right corner. A menu expands that allows you to create a new form. - Annotation to open the form menu +

Annotation to open the form menu

3. Click **Create new form**. A form will be created and opened in the form editor. The form is automatically named. :::note @@ -115,7 +123,7 @@ Don't worry about saving your process diagram. Modeler automatically saves every Defining a radio group and its values -### Step 3: Link the form to your process +## Step 3: Link the form to your process Once the form is designed, you must link it to your process. @@ -131,7 +139,7 @@ Once the form is designed, you must link it to your process. Forms linked in the user task are deployed together with the process. If you make changes to a form, you have to deploy the referencing process again to make the changes appear. ::: -### Step 4: Run your process +## Step 4: Run your process Your process is now ready to run. Given its human-centric nature, it is well suited to be run in Tasklist. In order to make it accessible from Tasklist, the process must be deployed first. @@ -139,7 +147,7 @@ Your process is now ready to run. Given its human-centric nature, it is well sui Human-centric processes involving user tasks seamlessly unfold within Tasklist, offering a cost-effective orchestration solution for human work with forms. However, the versatility of these processes extends beyond Tasklist, encompassing various alternative methods and applications. For instance, users can be redirected to external applications to fulfill tasks, bespoke task applications can be developed for any domain, or interactions with the physical world can be captured through event signals from sensors and IoT devices. ::: -#### Deploy and test run +### Deploy and test run 1. Click **Deploy** to deploy the process to your cluster. :::note @@ -151,7 +159,7 @@ Human-centric processes involving user tasks seamlessly unfold within Tasklist, Other options to run a process are to start it via Tasklist, test it in the Play mode, or call it via the API or an inbound trigger. Read more about [run options](/components/modeler/web-modeler/run-or-publish-your-process.md). ::: -#### Check successful start in Operate +### Check successful start in Operate 1. The process start will be confirmed via a notification message on the screen. Click the **chevron icon** next to **Run** to open more options. Click **View process instances** to see the running process in Operate. Run action in Modeler @@ -163,7 +171,7 @@ Other options to run a process are to start it via Tasklist, test it in the Play In production, Operate is used to monitor both long-running and straight-through, high-throughput processes. In development environments, use Operate to confirm if the process flow works as expected. For faster in-place validation during development, use the [Play mode](/components/modeler/web-modeler/play-your-process.md). ::: -### Step 5: Complete a user task +## Step 5: Complete a user task When the process instance arrives at the user task, a new user task instance is created at Zeebe. The process instance stops at this point and waits until the user task is completed. Applications like [Tasklist](/components/tasklist/introduction-to-tasklist.md) can be used by humans to complete these tasks. In this last step, you will open Tasklist to run the user task you created. From 081fc4ac246e7658a701554dc97ac6a70817acb7 Mon Sep 17 00:00:00 2001 From: mesellings Date: Fri, 4 Oct 2024 12:59:22 +0100 Subject: [PATCH 2/6] Draft changes --- ...getting-started-orchestrate-human-tasks.md | 91 +++++++------------ 1 file changed, 31 insertions(+), 60 deletions(-) diff --git a/docs/guides/getting-started-orchestrate-human-tasks.md b/docs/guides/getting-started-orchestrate-human-tasks.md index c2aca5f3bf..14fc77afa8 100644 --- a/docs/guides/getting-started-orchestrate-human-tasks.md +++ b/docs/guides/getting-started-orchestrate-human-tasks.md @@ -120,8 +120,7 @@ Don't worry about saving your process diagram. Modeler automatically saves every 6. Click and drag the **Radio** component to the form to create a radio group. Give it a descriptive name within the properties panel. 7. Additionally, set a **key** which maps to a process variable. The value of the component will be stored in this variable, and it can be read by the process that uses this form. As already defined by the conditions in the process earlier, use the variable `meal`. 8. Scroll down to the **Static options** section of the properties panel to add radio options. Since there are two options for the dinner, add an extra value by clicking on the plus sign. Enter the value `Chicken` with the same label as `Chicken` and enter the value `Salad` with the label as `Salad` in the other value. - -Defining a radio group and its values + Defining a radio group and its values ## Step 3: Link the form to your process @@ -139,72 +138,26 @@ Once the form is designed, you must link it to your process. Forms linked in the user task are deployed together with the process. If you make changes to a form, you have to deploy the referencing process again to make the changes appear. ::: -## Step 4: Run your process - -Your process is now ready to run. Given its human-centric nature, it is well suited to be run in Tasklist. In order to make it accessible from Tasklist, the process must be deployed first. +## Step 4: Validate your process using Play -:::note -Human-centric processes involving user tasks seamlessly unfold within Tasklist, offering a cost-effective orchestration solution for human work with forms. However, the versatility of these processes extends beyond Tasklist, encompassing various alternative methods and applications. For instance, users can be redirected to external applications to fulfill tasks, bespoke task applications can be developed for any domain, or interactions with the physical world can be captured through event signals from sensors and IoT devices. -::: - -### Deploy and test run - -1. Click **Deploy** to deploy the process to your cluster. - :::note - If you have not yet created a cluster, clicking **Deploy** will take you to Console to [create a cluster](create-cluster.md) first. Continue with this guide after cluster creation. - ::: -2. After you deploy your process, it can be executed on the cluster. There are multiple ways to run a process. This time, click **Run** in Modeler for a test run. - -:::tip -Other options to run a process are to start it via Tasklist, test it in the Play mode, or call it via the API or an inbound trigger. Read more about [run options](/components/modeler/web-modeler/run-or-publish-your-process.md). -::: +Now that your process is complete, you can use [Play mode](/components/modeler/web-modeler/play-your-process.md) to quickly validate the process behavior and play different scenarios. -### Check successful start in Operate +1. Click the **Play** tab to enter Play mode. +1. Once the Play environment is ready, click **Start a process instance** to start testing your process. +1. Start by activating a process instance. Click **Play** on the canvas. +1. The token moves to the user task, stops and waits until the user task is completed. Click **Open Task Form** to open the form, choose the `Chicken` option and click **Complete**. +1. The token moves through the exclusive gateway (also called the XOR gateway), and is used to model the decision in the process. -1. The process start will be confirmed via a notification message on the screen. Click the **chevron icon** next to **Run** to open more options. Click **View process instances** to see the running process in Operate. - Run action in Modeler - -2. In Operate, you will see a visualization of the running process instance. Notice that a green **token** is waiting at the user task. This means that a task is waiting to be worked on in Tasklist. - Process instance monitoring in Operate - -:::tip -In production, Operate is used to monitor both long-running and straight-through, high-throughput processes. In development environments, use Operate to confirm if the process flow works as expected. For faster in-place validation during development, use the [Play mode](/components/modeler/web-modeler/play-your-process.md). -::: - -## Step 5: Complete a user task - -When the process instance arrives at the user task, a new user task instance is created at Zeebe. The process instance stops at this point and waits until the user task is completed. Applications like [Tasklist](/components/tasklist/introduction-to-tasklist.md) can be used by humans to complete these tasks. In this last step, you will open Tasklist to run the user task you created. - -:::tip -While it may originally seem like the goal of automating a process is to remove humans entirely, efficiently allocating work through user tasks can be even more beneficial. Within this example, we've included a form to demonstrate the completion of a user task. - -Using the Zeebe or Tasklist API, many other ways to complete a user task are possible, such as redirecting to another application to complete the task, or even listening to IoT devices to capture human interaction with the real world via job workers. -::: +

When the execution arrives at this gateway, all outgoing sequence flows are evaluated in the order in which they have been defined. The sequence flow which condition evaluates to ‘true’ is selected for continuing the process.

+

In this case, the token moved through the gateway and (according to the conditional expressions outlined earlier) to the selected dinner based on the Decide what's for dinner user task we completed.

As we selected Chicken, the token moved through to Prepare chicken. If we selected Salad, the token would move through to Prepare salad.

-1. Click the **navigation menu icon** next to the Camunda logo in the top bar to open the global navigation. -2. Click **Tasklist** to open the Tasklist application. - Navigation to other applications +## Conclusion -3. On the left, you will notice a list of **tasks**. There should be one open task `Decide what's for dinner`. Click this task to open it in the detail view. -4. In the detail view, the form you created in **[Step 2](#step-2-design-a-form)** appears. It is read only since this task is currently unassigned. You have to claim the task to work on it. Next to **Assignee**, click **Assign to me** to claim the task. -5. Select one of the radio options. -6. Click **Complete Task** to submit the form. - ![complete a human task in Tasklist](./img/user-task-tasklist.png) -7. To verify your task completion, you can filter by **Completed** tasks in the left task list panel. - -You can now navigate back to Operate and notice the process instance has continued as the token has moved forward to the selected option. - -The token moves through the exclusive gateway (also called the XOR gateway), and is used to model the decision in the process. When the execution arrives at this gateway, all outgoing sequence flows are evaluated in the order in which they have been defined. The sequence flow which condition evaluates to ‘true’ is selected for continuing the process. - -In this case, the token will move through the gateway and (according to the conditional expressions we outlined earlier) to the selected dinner based on the **Decide what's for dinner** user task we completed. If we select **Chicken**, the token moves forward to **Prepare chicken**. If we select **Salad**, the token moves forward to **Prepare salad**. - -## Wrap up - -At this point, you've successfully crafted a human-centered process that routes the process flow based on a decision made by a user. +Congratulations, you successfully built a human-centered process that routes the process flow based on the decision made by a user. A core value of Camunda 8 lies in the combination of automation and human interaction. Continue with the following resources to learn about intelligent task assignments, flexible forms to capture data and decisions, operational insights to refine task efficiency, and pathways to publish your processes to users via Tasklist or even publicly. -Don't want to build the process yourself? Click this button to create it from a template in Camunda 8 SaaS, or sign up first. +Don't want to build the process yourself? Click **Open model in Camunda 8** to create it from a template in Camunda 8 SaaS, or sign up first.

+### Collaboration, milestones, and review + +### Deployment, Operate, and Tasklist + +In this guide, you used Play mode to quickly validate and run your process in development. + +You can also: + +- Deploy the process to a [cluster](/components/concepts/clusters.md) in other environments such as testing, staging, and production. After you deploy your process, it can be run on the cluster. + +- Run and complete the user task in [Tasklist](/components/tasklist/introduction-to-tasklist.md). Applications such as Tasklist can be used by humans to complete tasks. As well as using Play mode and Tasklist to run a process, you can call the process via the API or an inbound trigger. Read more about [run options](/components/modeler/web-modeler/run-or-publish-your-process.md). + +- Check the process in production using [Operate](/components/operate/operate-introduction.md). Operate is used to monitor both long-running and straight-through, high-throughput processes. In development, as well as using [Play mode](/components/modeler/web-modeler/play-your-process.md) for faster in-place validation, you can use Operate to confirm if the process flow works as expected. + +:::note +Human-centric processes involving user tasks seamlessly unfold within Tasklist, offering a cost-effective orchestration solution for human work with forms. However, the versatility of these processes extends beyond Tasklist, encompassing various alternative methods and applications. For instance, users can be redirected to external applications to fulfill tasks, bespoke task applications can be developed for any domain, or interactions with the physical world can be captured through event signals from sensors and IoT devices. +::: + ## Additional resources and next steps - Watch the [video-based Human Task Orchestration Course](https://bit.ly/3PJJocB). From f7d70265b472ccf4ae7df03256ee8fc400c7d564 Mon Sep 17 00:00:00 2001 From: mesellings Date: Fri, 4 Oct 2024 16:25:28 +0100 Subject: [PATCH 3/6] Initial draft --- ...getting-started-orchestrate-human-tasks.md | 120 +++++++++++------- docs/guides/img/human-task-bpmn-diagram.png | Bin 0 -> 16255 bytes docs/guides/img/play-chicken-complete.png | Bin 0 -> 18619 bytes docs/guides/img/play-open-form.png | Bin 0 -> 7829 bytes docs/guides/img/play-play-button.png | Bin 0 -> 7433 bytes 5 files changed, 73 insertions(+), 47 deletions(-) create mode 100644 docs/guides/img/human-task-bpmn-diagram.png create mode 100644 docs/guides/img/play-chicken-complete.png create mode 100644 docs/guides/img/play-open-form.png create mode 100644 docs/guides/img/play-play-button.png diff --git a/docs/guides/getting-started-orchestrate-human-tasks.md b/docs/guides/getting-started-orchestrate-human-tasks.md index 14fc77afa8..88bf989f5f 100644 --- a/docs/guides/getting-started-orchestrate-human-tasks.md +++ b/docs/guides/getting-started-orchestrate-human-tasks.md @@ -11,6 +11,7 @@ keywords: [human tasks, orchestration, getting started, user guide] import ExpressionInputImg from './img/expression-input-example.png'; import FormValuesImg from './img/form-values-example.png'; +import HumanTaskDiagramImg from './img/human-task-bpmn-diagram.png'; import ImplementModeImg from './img/implement-mode-active.png'; import FormLinkingImg from './img/form-linking.png'; import ModelerNavImg from './img/modeler-navigation.png'; @@ -20,6 +21,9 @@ import RunProcessImg from './img/run-process.png'; import OperateHumanTasks from './img/operate-human-tasks.png'; import FormEditorImg from './img/form-editor.png'; import NavigationHistoryImg from './img/modeler-navigation-history.png'; +import PlayButtonImg from './img/play-play-button.png'; +import PlayOpenFormImg from './img/play-open-form.png'; +import PlayChickenImg from './img/play-chicken-complete.png'; import clsx from "clsx"; import Tabs from '@theme/Tabs'; @@ -30,13 +34,24 @@ import Install from './react-components/install-plain-java.md' You can use Camunda 8 to orchestrate processes with human tasks of any complexity. User tasks allow you to create and assign tasks to users, who can then perform their work and enter the required data to drive the business process. +## About this guide + This guide introduces you to the basics of human task orchestration. - You will create a simple process to decide on what to eat for dinner, and drive the process flow according to that decision. - This process is entirely executable in the browser. +

The completed BPMN diagram

+ +You will learn how to: + +- Create and run your first process with a human in the loop. +- Build a BPMN diagram using Modeler. +- Create and link a form to a user task. +- Validate your process using Play mode. + :::note -For a video-based learning experience or a more complex example, see the [Getting Started with Human Workflow](https://bit.ly/3PJJocB) Camunda Academy course. +For a video-based learning experience and a more complex example, see [Getting Started with Human Workflow](https://bit.ly/3PJJocB). ::: ## Before you begin @@ -67,16 +82,20 @@ Start by designing a process to demonstrate how to route the process flow based ### Create a new project and file +First, you must create the BPMN diagram file and project. + 1. Open Modeler, and click **New project**. Every file in Web Modeler requires a project. 2. Select **Create new > BPMN diagram**. -3. Give your file a descriptive name. For example, 'Decide for Dinner'. +3. Give your file a descriptive name. For example, `Decide for Dinner`. 4. Make sure to name the process itself as well. Click the empty canvas, and specify the process name and technical ID in the properties panel. This specifies how the process appears in other Camunda 8 components. ### Design the process +Next, you must design the process in Modeler. + :::note -Make sure you are in **Implement** mode as this allows you to configure the process technical details. +Check you are in **Implement** mode as this allows you to configure the process technical details. Active implement mode tab ::: @@ -102,16 +121,16 @@ Variables are part of a process instance and represent the data of the instance. ## Step 2: Design a form -You have now designed the process. To allow the user to make the decision, you will now design a [form](../components/modeler/forms/camunda-forms-reference.md). Forms can be added to user tasks and start events to capture user input, and the user input can be used to route the process flow, to make API requests, or to orchestrate your services. +You have now designed the process. To allow the user to make the decision, you will now design a [form](../components/modeler/forms/camunda-forms-reference.md). Forms can be added to user tasks and start events to capture user input, with the user input used to route the process flow, make API requests, or orchestrate your services. 1. Select the user task you created in **[Step 1](#step-1-create-a-new-process)**. 2. Click the blue **link icon** in the lower right corner. A menu expands that allows you to create a new form.

Annotation to open the form menu

3. Click **Create new form**. A form will be created and opened in the form editor. The form is automatically named. -:::note -Don't worry about saving your process diagram. Modeler automatically saves every change you make. -::: + :::note + Don't worry about saving your process diagram. Modeler automatically saves every change you make. + ::: 4. Click and drag the **Text** component to the empty form. Dragging a component to a form @@ -120,11 +139,11 @@ Don't worry about saving your process diagram. Modeler automatically saves every 6. Click and drag the **Radio** component to the form to create a radio group. Give it a descriptive name within the properties panel. 7. Additionally, set a **key** which maps to a process variable. The value of the component will be stored in this variable, and it can be read by the process that uses this form. As already defined by the conditions in the process earlier, use the variable `meal`. 8. Scroll down to the **Static options** section of the properties panel to add radio options. Since there are two options for the dinner, add an extra value by clicking on the plus sign. Enter the value `Chicken` with the same label as `Chicken` and enter the value `Salad` with the label as `Salad` in the other value. - Defining a radio group and its values + Defining a radio group and its values ## Step 3: Link the form to your process -Once the form is designed, you must link it to your process. +Now you have created and designed the form, you must link it to your process. 1. Click on the project name in the navigation history in the top bar to navigate back, and open the process you created in **[Step 1](#step-1-create-a-new-process)**. Navigation history in Web Modeler @@ -134,35 +153,70 @@ Once the form is designed, you must link it to your process. 4. You can check if you linked the right form by clicking the form linking icon again. A preview of the form will appear. +Your process is now complete and ready for validation. + +

The completed BPMN diagram

+ :::note -Forms linked in the user task are deployed together with the process. If you make changes to a form, you have to deploy the referencing process again to make the changes appear. +Forms linked in the user task are deployed together with the process. If you make changes to a form, you must deploy the referencing process again for the changes to appear. ::: ## Step 4: Validate your process using Play -Now that your process is complete, you can use [Play mode](/components/modeler/web-modeler/play-your-process.md) to quickly validate the process behavior and play different scenarios. +You can use [Play mode](/components/modeler/web-modeler/play-your-process.md) to quickly validate the process behavior and play different scenarios. 1. Click the **Play** tab to enter Play mode. 1. Once the Play environment is ready, click **Start a process instance** to start testing your process. -1. Start by activating a process instance. Click **Play** on the canvas. -1. The token moves to the user task, stops and waits until the user task is completed. Click **Open Task Form** to open the form, choose the `Chicken` option and click **Complete**. +1. Start by activating a process instance. Click **Play** on the canvas above the process start event. + Start playing the process instance +1. The token moves to the user task, stops and waits until the user task is completed. Click **Open Task Form** to open the form, choose the `Chicken` option, and click **Complete**. + Complete the form and continue 1. The token moves through the exclusive gateway (also called the XOR gateway), and is used to model the decision in the process. + Completing the Play process

When the execution arrives at this gateway, all outgoing sequence flows are evaluated in the order in which they have been defined. The sequence flow which condition evaluates to ‘true’ is selected for continuing the process.

-

In this case, the token moved through the gateway and (according to the conditional expressions outlined earlier) to the selected dinner based on the Decide what's for dinner user task we completed.

As we selected Chicken, the token moved through to Prepare chicken. If we selected Salad, the token would move through to Prepare salad.

+

In this example, the token moved through the gateway and (according to the conditional expressions outlined earlier) to the selected dinner based on the Decide what's for dinner user task you completed.

As you chose Chicken, the token moved through to Prepare chicken and successfully completed. If you had selected Salad, the token would have moved through to Prepare salad.

-## Conclusion +1. Click **Rewind** on the canvas and select the `Salad` option to test this flow also works correctly. -Congratulations, you successfully built a human-centered process that routes the process flow based on the decision made by a user. +:::note -A core value of Camunda 8 lies in the combination of automation and human interaction. Continue with the following resources to learn about intelligent task assignments, flexible forms to capture data and decisions, operational insights to refine task efficiency, and pathways to publish your processes to users via Tasklist or even publicly. +As well as using Play mode to quickly validate and run your process in development, you can also: -Don't want to build the process yourself? Click **Open model in Camunda 8** to create it from a template in Camunda 8 SaaS, or sign up first. +- Deploy the process to a [cluster](/components/concepts/clusters.md) in other environments such as testing, staging, and production. After you deploy your process, it can be run on the cluster. +- Run and complete the user task in [Tasklist](/components/tasklist/introduction-to-tasklist.md). Applications such as Tasklist can be used by humans to complete tasks. As well as using Play mode and Tasklist to run a process, you can call the process via the API or an inbound trigger. Read more about [run options](/components/modeler/web-modeler/run-or-publish-your-process.md). +- Check the process in production using [Operate](/components/operate/operate-introduction.md). Operate is used to monitor both long-running and straight-through, high-throughput processes. In development, as well as using [Play mode](/components/modeler/web-modeler/play-your-process.md) for faster in-place validation, you can use Operate to confirm if the process flow works as expected. +- Create [milestones](/components/modeler/web-modeler/milestones.md) to save a snapshot of your BPMN or DMN diagram at any time. + +::: + +## Next steps + +In this guide, you successfully built a human-centered process that routes the process flow based on the decision made by a user, and learned how to: + +- Create and run your first process with a human in the loop. +- Build a BPMN diagram using Modeler. +- Create and link a form to a user task. +- Validate your process using Play mode. + +**A core value of Camunda 8 lies in the combination of automation and human interaction.** + +Continue with the following resources to learn about intelligent task assignments, flexible forms to capture data and decisions, operational insights to refine task efficiency, and pathways to publish your processes to users via Tasklist or even publicly. + +- Watch the [video-based Human Task Orchestration Course](https://bit.ly/3PJJocB). +- Learn how to use [BPMN user tasks](/components/modeler/bpmn/user-tasks/user-tasks.md) to route tasks to the right users. +- Learn how to [build more complex forms](./utilizing-forms.md) using the form editor. +- Learn how to write powerful [expressions](/components/concepts/expressions.md) and utilize [variables](/components/concepts/variables.md) to route complex process flows. +- Get an [introduction to Operate](/components/operate/operate-introduction.md). +- Learn how to [set up Tasklist](/components/tasklist/introduction-to-tasklist.md) for efficient task management. +- Explore [start forms](/components/modeler/web-modeler/advanced-modeling/publish-public-processes.md) and attach the form directly to the start event. + +Don't want to build the process yourself? Click **Open model in Camunda 8** to create from a template in Camunda 8 SaaS, or sign up.
Open model in Camunda 8 @@ -175,31 +229,3 @@ Don't want to build the process yourself? Click **Open model in Camunda 8** to c Sign up

- -### Collaboration, milestones, and review - -### Deployment, Operate, and Tasklist - -In this guide, you used Play mode to quickly validate and run your process in development. - -You can also: - -- Deploy the process to a [cluster](/components/concepts/clusters.md) in other environments such as testing, staging, and production. After you deploy your process, it can be run on the cluster. - -- Run and complete the user task in [Tasklist](/components/tasklist/introduction-to-tasklist.md). Applications such as Tasklist can be used by humans to complete tasks. As well as using Play mode and Tasklist to run a process, you can call the process via the API or an inbound trigger. Read more about [run options](/components/modeler/web-modeler/run-or-publish-your-process.md). - -- Check the process in production using [Operate](/components/operate/operate-introduction.md). Operate is used to monitor both long-running and straight-through, high-throughput processes. In development, as well as using [Play mode](/components/modeler/web-modeler/play-your-process.md) for faster in-place validation, you can use Operate to confirm if the process flow works as expected. - -:::note -Human-centric processes involving user tasks seamlessly unfold within Tasklist, offering a cost-effective orchestration solution for human work with forms. However, the versatility of these processes extends beyond Tasklist, encompassing various alternative methods and applications. For instance, users can be redirected to external applications to fulfill tasks, bespoke task applications can be developed for any domain, or interactions with the physical world can be captured through event signals from sensors and IoT devices. -::: - -## Additional resources and next steps - -- Watch the [video-based Human Task Orchestration Course](https://bit.ly/3PJJocB). -- Learn how to use [BPMN user tasks](/components/modeler/bpmn/user-tasks/user-tasks.md) to route tasks to the right users. -- Learn how to [build more complex forms](./utilizing-forms.md) using the form editor. -- Learn how to write powerful [expressions](/components/concepts/expressions.md) and utilize [variables](/components/concepts/variables.md) to route complex process flows. -- Get an [introduction to Operate](/components/operate/operate-introduction.md). -- Learn how to [set up Tasklist](/components/tasklist/introduction-to-tasklist.md) for efficient task management. -- Explore [start forms](/components/modeler/web-modeler/advanced-modeling/publish-public-processes.md) and attach the form directly to the start event. diff --git a/docs/guides/img/human-task-bpmn-diagram.png b/docs/guides/img/human-task-bpmn-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..26f252fd8fdea640bbcce622b83d324ea7db4f15 GIT binary patch literal 16255 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 WyDT>H{E&exKv7mzCSU5+yZ;OC0&RW( literal 0 HcmV?d00001 diff --git a/docs/guides/img/play-open-form.png b/docs/guides/img/play-open-form.png new file mode 100644 index 0000000000000000000000000000000000000000..4452dda53f58b6ea291340e60e198e94c75aad30 GIT binary patch literal 7829 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 fF=gm+ Date: Sun, 6 Oct 2024 11:59:45 +0100 Subject: [PATCH 4/6] TW edits for SaaS and SM --- ...getting-started-orchestrate-human-tasks.md | 143 +++++++++++------- 1 file changed, 91 insertions(+), 52 deletions(-) diff --git a/docs/guides/getting-started-orchestrate-human-tasks.md b/docs/guides/getting-started-orchestrate-human-tasks.md index 92cdd3bd59..bdb227e6e2 100644 --- a/docs/guides/getting-started-orchestrate-human-tasks.md +++ b/docs/guides/getting-started-orchestrate-human-tasks.md @@ -41,15 +41,6 @@ You can use Camunda 8 to orchestrate processes with human tasks of any complexit This guide introduces you to the basics of human task orchestration. You will create a simple process to decide on what to eat for dinner, and drive the process flow according to that decision. -

The completed BPMN diagram

- -You will learn how to: - -- Create and run your first process with a human in the loop. -- Build a BPMN diagram using Modeler. -- Create and link a form to a user task. -- Validate your process using Play mode. - :::note For a video-based learning experience and a more complex example, see [Getting Started with Human Workflow](https://bit.ly/3PJJocB). ::: @@ -74,23 +65,49 @@ For a video-based learning experience and a more complex example, see [Getting S + + + +You will learn how to: + +- Create and run your first process with a human in the loop. +- Build a BPMN diagram using Web Modeler. +- Create and link a form to a user task. +- Validate your process using Play mode. + +

The completed BPMN diagram

+ +
+ + +You will learn how to: + +- Create and run your first process with a human in the loop. +- Build a BPMN diagram using Modeler. +- Create and link a form to a user task. +- Deploy and run your process. +- Complete the task in Tasklist, and check the process in Operate. + + +
+ Perform the following steps to create and run your first process with a human in the loop. ## Step 1: Create a new process Start by designing a process to demonstrate how to route the process flow based on a user decision. In this example, you will create a process to decide what to eat for dinner. -First, you must create the BPMN diagram file and project. - ### Create a new file +First, you must create the BPMN diagram file and project. + 1. Open Web Modeler, and click **New project**. Every file in Web Modeler requires a project. 2. Select **Create new > BPMN diagram**. 3. Give your file a descriptive name. For example, `Decide for Dinner`. -4. Make sure to name the process itself as well. Click the empty canvas, and specify the process name and technical ID in the properties panel. This specifies how the process appears in other Camunda 8 components. +4. Make sure to name the process itself as well. Click the empty canvas, and specify the process name and technical ID in the properties panel. This defines how the process appears in other Camunda 8 components. @@ -101,15 +118,15 @@ Within Desktop Modeler, select **BPMN diagram** under **Create a new file**. ### Design the process - -Next, you must design the process in Modeler. +Next, you must design the process itself. + :::note -Check you are in **Implement** mode as this allows you to configure the process technical details. +Check you are in **Implement** mode so you can configure the process technical details. Active implement mode tab ::: @@ -125,10 +142,12 @@ Check you are in **Implement** mode as this allows you to configure the process 3. Enter a descriptive name for the task, for example `Decide what's for dinner`. 4. Change the task type by clicking the **Change element** icon. Select **User task**. 5. Select the user task and click on the diamond-shaped icon to append an exclusive gateway. The gateway allows you to route the process flow differently, depending on conditions. -6. Select the gateway and append a task by clicking the task icon. Repeat this to create a second process flow. Name the tasks based on what the user decides to eat, for example, we've named ours `Prepare chicken` and `Prepare salad`. +6. Select the gateway and append a task by clicking the task icon. Repeat this to create a second process flow. Name the tasks based on what the user decides to eat, for example, `Prepare chicken` and `Prepare salad`. 7. To route the user to the right task, add [expressions](/components/concepts/expressions.md) to the **sequence flows**. Sequence flows are represented by arrows connecting the gateway to the tasks. To add an expression, click on a sequence flow to view the **properties panel**, and open the **Condition** section. 8. Verify the sequence flows have the following expressions: `meal = "Salad"` on one side, and `meal = "Chicken"` on the other. You will define the variable `meal` later when designing a form for the user task. +

Example of a conditional expression

+ 9. Connect the split process flows again. Append another exclusive gateway to one of the tasks. Select the other task and drag the arrow-shaped sequence flow tool to connect it to the gateway. 10. Select the gateway and add an **end event** to your process, denoted by the circle with the thick outline. @@ -141,47 +160,47 @@ Variables are part of a process instance and represent the data of the instance. ## Step 2: Design a form -You have now designed the process. To allow the user to make the decision, you will now design a [form](../components/modeler/forms/camunda-forms-reference.md). Forms can be added to user tasks and start events to capture user input, with the user input used to route the process flow, make API requests, or orchestrate your services. +You have now designed the process. To allow the user to make the decision, you must next design a [form](../components/modeler/forms/camunda-forms-reference.md). Forms are added to user tasks and start events to capture user input, with the user input used to route the process flow, make API requests, or orchestrate your services. 1. Select the user task you created in **[Step 1](#step-1-create-a-new-process)**. -2. Click the blue **link icon** in the lower right corner. A menu expands that allows you to create a new form. +1. Click the blue **link icon** in the lower right corner. A menu expands that allows you to create a new form. +

Annotation to open the form menu

-3. Click **Create new form**. A form will be created and opened in the form editor. The form is automatically named. + +1. Click **Create new form**. A form is created and opened in the form editor. The form is automatically named. :::note - Don't worry about saving your process diagram. Modeler automatically saves every change you make. + You do not need to save your process diagram as Web Modeler automatically saves every change you make. ::: -5. Click and drag the **Text view** component (found under Presentation) to the empty form. +1. Click and drag a **Text view** component (found under Presentation) into the empty form. + Dragging a component to a form -6. Open the **General** section in the properties panel and enter a text, such as `What's for dinner?`. -7. Click and drag the **Radio** component to the form to create a radio group. Give it a descriptive name within the properties panel. -8. Additionally, set a **key** which maps to a process variable. The value of the component will be stored in this variable, and it can be read by the process that uses this form. As already defined by the conditions in the process earlier, use the variable `meal`. + +1. Open the **General** section in the properties panel and enter a description, such as `What's for dinner?`. +1. Click and drag a **Radio** component into the form to create a radio group. Enter a descriptive name in the properties panel. +1. Set a **key** which maps to a process variable. The value of the component is stored in this variable, and can be read by the process that uses this form. As already defined by the conditions in the process earlier, use the variable `meal`. Defining a radio group's name and key -9. Scroll down to the **Static options** section of the properties panel to add radio options. Since there are two options for the dinner, add an extra value by clicking on the plus sign. Enter the value `Chicken` with the same label as `Chicken` and enter the value `Salad` with the label as `Salad` in the other value. +1. Scroll down to the **Static options** section of the properties panel to add radio options. Since there are two options for dinner, add an extra value by clicking on the plus sign. Enter the value `Chicken` with a label of `Chicken`, and in the other value enter the value `Salad` with a label of `Salad`. Defining a radio group's static option values
1. Create a new Form in Desktop Modeler by navigating to **File -> New File -> Form (Camunda 8)**. -2. Click and drag the **Text view** component (found under Presentation) to the empty form. -3. Dragging a component to a form - -4. Open the **General** section in the properties panel and enter a text, such as `What's for dinner?`. -5. Click and drag the **Radio** component to the form to create a radio group. Give it a descriptive name within the properties panel. -6. Additionally, set a **key** which maps to a process variable. The value of the component will be stored in this variable, and it can be read by the process that uses this form. As already defined by the conditions in the process earlier, use the variable `meal`. - +1. Click and drag a **Text view** component (found under Presentation) into the empty form. + Dragging a component to a form +1. Open the **General** section in the properties panel and enter a description, such as `What's for dinner?`. +1. Click and drag a **Radio** component into the form to create a radio group. Enter a descriptive name in the properties panel. +1. Set a **key** which maps to a process variable. The value of the component is stored in this variable, and can be read by the process that uses this form. As already defined by the conditions in the process earlier, use the variable `meal`. Defining a radio group's name and key - -7. Scroll down to the **Static options** section of the properties panel to add radio options. Since there are two options for the dinner, add an extra value by clicking on the plus sign. Enter the value `Chicken` with the same label as `Chicken` and enter the value `Salad` with the label as `Salad` in the other value. - +1. Scroll down to the **Static options** section of the properties panel to add radio options. Since there are two options for dinner, add an extra value by clicking on the plus sign. Enter the value `Chicken` with a label of `Chicken`, and in the other value enter the value `Salad` with a label of `Salad`. Defining a radio group's static option values -8. In your form's properties panel, copy the Form ID for use in your process. +1. In your form's properties panel, copy the Form ID for use in your process. The form properties panel, showing the form ID @@ -209,15 +228,17 @@ Now you have created and designed the form, you must link it to your process. Your process is now complete and ready for validation. +

The completed BPMN diagram

+
1. Open the process you created in **[Step 1](#step-1-create-a-new-process)** by clicking on the process file's name in the top bar. 2. Select the user task, and open the **Form** menu in the properties panel. -:::note -If the properties panel for your task doesn't open automatically, navigate to **Window -> Toggle Properties Panel** to open it manually. -::: + :::note + If the properties panel for your task doesn't open automatically, navigate to **Window -> Toggle Properties Panel** to open it manually. + ::: 3. In the Form menu, enter the **Form ID** for the form you created in **[Step 2](#step-2-design-a-form)**. @@ -233,21 +254,22 @@ Forms linked in the user task are deployed together with the process. If you mak ## Step 4: Validate your process using Play -

The completed BPMN diagram

- You can use [Play mode](/components/modeler/web-modeler/play-your-process.md) to quickly validate the process behavior and play different scenarios. - + 1. Click the **Play** tab to enter Play mode. 1. Once the Play environment is ready, click **Start a process instance** to start testing your process. 1. Start by activating a process instance. Click **Play** on the canvas above the process start event. Start playing the process instance -1. The token moves to the user task, stops and waits until the user task is completed. Click **Open Task Form** to open the form, choose the `Chicken` option, and click **Complete**. +1. The token moves to the user task, stops and waits until the user task is completed. Click **Open Task Form** to open the form. Complete the form and continue + +

In the form, choose the Chicken option, and click Complete.

+ 1. The token moves through the exclusive gateway (also called the XOR gateway), and is used to model the decision in the process. Completing the Play process

When the execution arrives at this gateway, all outgoing sequence flows are evaluated in the order in which they have been defined. The sequence flow which condition evaluates to ‘true’ is selected for continuing the process.

-

In this example, the token moved through the gateway and (according to the conditional expressions outlined earlier) to the selected dinner based on the Decide what's for dinner user task you completed.

As you chose Chicken, the token moved through to Prepare chicken and successfully completed. If you had selected Salad, the token would have moved through to Prepare salad.

+

In this example, the token moved through the gateway and (according to the conditional expressions outlined earlier) to the selected dinner based on the Decide what's for dinner user task you completed.

As you chose Chicken, the token moved through to Prepare chicken and successfully completed. If you had selected Salad, the token would have moved through to Prepare salad instead.

1. Click **Rewind** on the canvas and select the `Salad` option to test this flow also works correctly. @@ -261,20 +283,20 @@ As well as using Play mode to quickly validate and run your process in developme - Create [milestones](/components/modeler/web-modeler/milestones.md) to save a snapshot of your BPMN or DMN diagram at any time. ::: - +
## Step 4: Run your process - + Your process is now ready to run. Given its human-centric nature, it is well suited to be run in Tasklist. In order to make it accessible from Tasklist, the process must be deployed first. - + :::tip Human-centric processes involving user tasks seamlessly unfold within Tasklist, offering a cost-effective orchestration solution for human work with forms. However, the versatility of these processes extends beyond Tasklist, encompassing various alternative methods and applications. For instance, users can be redirected to external applications to fulfill tasks, bespoke task applications can be developed for any domain, or interactions with the physical world can be captured through event signals from sensors and IoT devices. ::: ### Deploy and test run - + :::note Ensure your installation of [Camunda 8 Run](/self-managed/setup/deploy/local/c8run.md) is running prior to deploying your process. ::: @@ -291,7 +313,7 @@ Ensure your installation of [Camunda 8 Run](/self-managed/setup/deploy/local/c8r 4. Click **Run** to run your process with the provided variables. ### Check successful start in Operate - + 1. Open Operate at `http://localhost:8080/operate`, and select **Processes** from the top bar. 2. In the **Process** panel, use the **Name** drop-down to select your process. 3. A visualization of your running process instance now displays in Operate, and your user task is marked with a green **token** icon. This means that a task is waiting to be worked on in Tasklist. @@ -299,7 +321,7 @@ Ensure your installation of [Camunda 8 Run](/self-managed/setup/deploy/local/c8r Process instance monitoring in Operate ## Step 5: Complete a user task - + When the process instance arrives at the user task, a new user task instance is created at Zeebe. The process instance stops at this point and waits until the user task is completed. Applications like Tasklist can be used by humans to complete these tasks. In this last step, you will open Tasklist to run the user task you created. :::tip @@ -320,7 +342,7 @@ Using the Zeebe or Tasklist API, many other ways to complete a user task are pos 6. To verify your task completion, you can filter by **Completed** tasks in the left task list panel. You can now navigate back to Operate and notice the process instance has continued as the token has moved forward to the selected option. - + The token moves through the exclusive gateway (also called the XOR gateway), and is used to model the decision in the process. When the execution arrives at this gateway, all outgoing sequence flows are evaluated in the order in which they have been defined. The sequence flow which condition evaluates to ‘true’ is selected for continuing the process. In this case, the token will move through the gateway and (according to the conditional expressions we outlined earlier) to the selected dinner based on the Decide what's for dinner user task we completed. If we select Chicken, the token moves forward to Prepare chicken. If we select Salad, the token moves forward to Prepare salad. @@ -332,11 +354,28 @@ In this case, the token will move through the gateway and (according to the cond In this guide, you successfully built a human-centered process that routes the process flow based on the decision made by a user, and learned how to: + + + - Create and run your first process with a human in the loop. -- Build a BPMN diagram using Modeler. +- Build a BPMN diagram using Web Modeler. - Create and link a form to a user task. - Validate your process using Play mode. +

The completed BPMN diagram

+ +
+ + +- Create and run your first process with a human in the loop. +- Build a BPMN diagram using Modeler. +- Create and link a form to a user task. +- Deploy and run your process. +- Complete the task in Tasklist, and check the process in Operate. + + +
+ **A core value of Camunda 8 lies in the combination of automation and human interaction.** Continue with the following resources to learn about intelligent task assignments, flexible forms to capture data and decisions, operational insights to refine task efficiency, and pathways to publish your processes to users via Tasklist or even publicly. From 262751acdabecf80bc2ee8333e47385ea9482af6 Mon Sep 17 00:00:00 2001 From: mesellings Date: Fri, 11 Oct 2024 16:00:20 +0100 Subject: [PATCH 5/6] TW review edits for SaaS --- ...getting-started-orchestrate-human-tasks.md | 167 ++++++++---------- .../img/human-task-bpmn-diagram-gateway.png | Bin 0 -> 7488 bytes .../img/human-task-bpmn-diagram-tasks.png | Bin 0 -> 7406 bytes docs/guides/img/operate-open-tasklist.png | Bin 0 -> 22082 bytes docs/guides/img/play-operate.png | Bin 0 -> 41856 bytes 5 files changed, 76 insertions(+), 91 deletions(-) create mode 100644 docs/guides/img/human-task-bpmn-diagram-gateway.png create mode 100644 docs/guides/img/human-task-bpmn-diagram-tasks.png create mode 100644 docs/guides/img/operate-open-tasklist.png create mode 100644 docs/guides/img/play-operate.png diff --git a/docs/guides/getting-started-orchestrate-human-tasks.md b/docs/guides/getting-started-orchestrate-human-tasks.md index bdb227e6e2..b5e621a5ce 100644 --- a/docs/guides/getting-started-orchestrate-human-tasks.md +++ b/docs/guides/getting-started-orchestrate-human-tasks.md @@ -28,6 +28,10 @@ import NavigationHistoryImg from './img/modeler-navigation-history.png'; import PlayButtonImg from './img/play-play-button.png'; import PlayOpenFormImg from './img/play-open-form.png'; import PlayChickenImg from './img/play-chicken-complete.png'; +import HumanTasksImg from './img/human-task-bpmn-diagram-tasks.png'; +import HumanTasksGatewayImg from './img/human-task-bpmn-diagram-gateway.png'; +import PlayOperateImg from './img/play-operate.png'; +import OperateTasklistImg from './img/operate-open-tasklist.png'; import clsx from "clsx"; import Tabs from '@theme/Tabs'; @@ -35,12 +39,15 @@ import TabItem from '@theme/TabItem'; import SaasPrereqs from './react-components/saas-prerequisites.md' import Install from './react-components/install-c8run.md' -You can use Camunda 8 to orchestrate processes with human tasks of any complexity. User tasks allow you to create and assign tasks to users, who can then perform their work and enter the required data to drive the business process. +You can use Camunda 8 to orchestrate processes with human tasks of any complexity. Use the [user task BPMN element](/components/modeler/bpmn/user-tasks/user-tasks.md) to create and assign tasks to users, who can then perform their work and enter the required data to drive the business process. ## About this guide This guide introduces you to the basics of human task orchestration. You will create a simple process to decide on what to eat for dinner, and drive the process flow according to that decision. +- Select **Self-Managed** to see an example using Camunda 8 Run and Desktop Modeler. +- Select **SaaS** to see an example using Camunda 8 SaaS and Web Modeler. + :::note For a video-based learning experience and a more complex example, see [Getting Started with Human Workflow](https://bit.ly/3PJJocB). ::: @@ -68,14 +75,14 @@ For a video-based learning experience and a more complex example, see [Getting S -You will learn how to: +In this SaaS example, you will learn how to: - Create and run your first process with a human in the loop. -- Build a BPMN diagram using Web Modeler. -- Create and link a form to a user task. -- Validate your process using Play mode. +- Build a BPMN diagram using [Web Modeler](/components/modeler/web-modeler/launch-web-modeler.md). +- Create and link a form to a [user task](/components/modeler/bpmn/user-tasks/user-tasks.md). +- Validate your process using [Play mode](/components/modeler/web-modeler/play-your-process.md). -

The completed BPMN diagram

+

The completed BPMN diagram.

@@ -93,21 +100,29 @@ You will learn how to: Perform the following steps to create and run your first process with a human in the loop. -## Step 1: Create a new process +## Step 1: Create and design a process -Start by designing a process to demonstrate how to route the process flow based on a user decision. In this example, you will create a process to decide what to eat for dinner. +Start by creating and designing a process to demonstrate how to route the process flow based on a user decision. In this example, you will create a process to decide what to eat for dinner. -### Create a new file +### Create a new process -First, you must create the BPMN diagram file and project. +First, create the BPMN diagram file and project. + +1. Open Web Modeler, and click **New project**. +1. Select **Create process application** to [create a new process application](/components/modeler/web-modeler/process-applications.md). -1. Open Web Modeler, and click **New project**. Every file in Web Modeler requires a project. -2. Select **Create new > BPMN diagram**. -3. Give your file a descriptive name. For example, `Decide for Dinner`. -4. Make sure to name the process itself as well. Click the empty canvas, and specify the process name and technical ID in the properties panel. This defines how the process appears in other Camunda 8 components. + - Name the process application. For example, `Decide for Dinner`. + - Select a development cluster to use during development. If you have not already defined your [development stage and cluster](/components/modeler/web-modeler/process-application-pipeline.md#deployment-pipeline-stages), you are prompted to do so. Click **Define stages** to begin this process. + - Select **Create** to create the process application and the main process BPMN diagram. + +1. Once created, click the process name to open the main process BPMN diagram. + +:::note +A [process application](/components/modeler/web-modeler/process-applications.md) is a type of folder that contains a set of related files you can work on and deploy as a single bundle. This reduces the risk of a broken deployment at runtime, and makes it easier to deploy related files. +::: @@ -127,7 +142,7 @@ Next, you must design the process itself. :::note Check you are in **Implement** mode so you can configure the process technical details. -Active implement mode tab +Active implement mode tab. ::: @@ -137,19 +152,22 @@ Check you are in **Implement** mode so you can configure the process technical d -1. A **start event** is automatically added to the canvas. Click it to display configuration and append options. -2. Click the rectangular **Append Task** icon to append a task. +1. A **start event** is automatically added to the canvas and selected. +2. Append a task. For example, hover over the blue plus icon and select the **Append Task** icon from the [context pad](/components/modeler/web-modeler/context-pad.md). 3. Enter a descriptive name for the task, for example `Decide what's for dinner`. 4. Change the task type by clicking the **Change element** icon. Select **User task**. -5. Select the user task and click on the diamond-shaped icon to append an exclusive gateway. The gateway allows you to route the process flow differently, depending on conditions. -6. Select the gateway and append a task by clicking the task icon. Repeat this to create a second process flow. Name the tasks based on what the user decides to eat, for example, `Prepare chicken` and `Prepare salad`. +5. Select the new user task and append an exclusive gateway. For example, hover over the blue plus icon and select the diamond-shaped **Exclusive Gateway** icon. A gateway allows you to conditionally route the process flow. +6. Select the gateway and append a task. Repeat this to create a second process flow. Name the tasks based on what the user decides to eat, for example, `Prepare chicken` and `Prepare salad`. + Linking to the first gateway. + 7. To route the user to the right task, add [expressions](/components/concepts/expressions.md) to the **sequence flows**. Sequence flows are represented by arrows connecting the gateway to the tasks. To add an expression, click on a sequence flow to view the **properties panel**, and open the **Condition** section. 8. Verify the sequence flows have the following expressions: `meal = "Salad"` on one side, and `meal = "Chicken"` on the other. You will define the variable `meal` later when designing a form for the user task. -

Example of a conditional expression

+

Example of a conditional expression.

9. Connect the split process flows again. Append another exclusive gateway to one of the tasks. Select the other task and drag the arrow-shaped sequence flow tool to connect it to the gateway. -10. Select the gateway and add an **end event** to your process, denoted by the circle with the thick outline. + Linking to the end event. +10. Select the gateway and add an **end event** to your process (the circle with the thick outline). :::note New to BPMN or want to learn more? Visit our [BPMN cheat sheet](https://page.camunda.com/wp-bpmn-2-0-business-process-model-and-notation-en) for an overview of all BPMN symbols. @@ -158,88 +176,59 @@ Variables are part of a process instance and represent the data of the instance. -## Step 2: Design a form +## Step 2: Design and link a form -You have now designed the process. To allow the user to make the decision, you must next design a [form](../components/modeler/forms/camunda-forms-reference.md). Forms are added to user tasks and start events to capture user input, with the user input used to route the process flow, make API requests, or orchestrate your services. +You have now designed the process. To allow the user to make the decision, you must next design a [form](../components/modeler/forms/camunda-forms-reference.md). Forms are added to user tasks and start events to capture user input that is used to route the process flow, make API requests, or orchestrate your services. -1. Select the user task you created in **[Step 1](#step-1-create-a-new-process)**. -1. Click the blue **link icon** in the lower right corner. A menu expands that allows you to create a new form. - -

Annotation to open the form menu

- -1. Click **Create new form**. A form is created and opened in the form editor. The form is automatically named. +:::note - :::note - You do not need to save your process diagram as Web Modeler automatically saves every change you make. - ::: +- You do not need to save your process diagram as Web Modeler automatically saves every change you make. +- You can also create [milestones](/components/modeler/web-modeler/milestones.md) to save a version snapshot of your BPMN or DMN diagram at any time. + ::: +1. Select the user task you created in **[Step 1](#step-1-create-a-new-process)**. +1. Click the blue **Link Form** icon in the context pad, and click **Create new form**. +1. A form is created and opened in the form editor. The form is automatically named and linked to the user task. 1. Click and drag a **Text view** component (found under Presentation) into the empty form. - Dragging a component to a form + Dragging a component to a form. 1. Open the **General** section in the properties panel and enter a description, such as `What's for dinner?`. 1. Click and drag a **Radio** component into the form to create a radio group. Enter a descriptive name in the properties panel. 1. Set a **key** which maps to a process variable. The value of the component is stored in this variable, and can be read by the process that uses this form. As already defined by the conditions in the process earlier, use the variable `meal`. - Defining a radio group's name and key + Defining a radio group's name and key. 1. Scroll down to the **Static options** section of the properties panel to add radio options. Since there are two options for dinner, add an extra value by clicking on the plus sign. Enter the value `Chicken` with a label of `Chicken`, and in the other value enter the value `Salad` with a label of `Salad`. - Defining a radio group's static option values + Defining a radio group's static option values. +1. Now that the form is complete, you can click **Go to diagram** to close the form editor and return to your process diagram. + +Your process is now complete and ready for validation. + +

The completed BPMN diagram.

1. Create a new Form in Desktop Modeler by navigating to **File -> New File -> Form (Camunda 8)**. 1. Click and drag a **Text view** component (found under Presentation) into the empty form. - Dragging a component to a form + Dragging a component to a form. 1. Open the **General** section in the properties panel and enter a description, such as `What's for dinner?`. 1. Click and drag a **Radio** component into the form to create a radio group. Enter a descriptive name in the properties panel. 1. Set a **key** which maps to a process variable. The value of the component is stored in this variable, and can be read by the process that uses this form. As already defined by the conditions in the process earlier, use the variable `meal`. - Defining a radio group's name and key + Defining a radio group's name and key. 1. Scroll down to the **Static options** section of the properties panel to add radio options. Since there are two options for dinner, add an extra value by clicking on the plus sign. Enter the value `Chicken` with a label of `Chicken`, and in the other value enter the value `Salad` with a label of `Salad`. - Defining a radio group's static option values + Defining a radio group's static option values. 1. In your form's properties panel, copy the Form ID for use in your process. - The form properties panel, showing the form ID - -:::note -If the properties panel for your form doesn't open automatically, navigate to **Window -> Toggle Properties Panel** to open it manually. -::: - - -
- -## Step 3: Link the form to your process + The form properties panel, showing the form ID. Now you have created and designed the form, you must link it to your process. - - - -1. Click on the project name in the navigation history in the top bar to navigate back, and open the process you created in **[Step 1](#step-1-create-a-new-process)**. - Navigation history in Web Modeler -2. Select the user task. Click the blue **form link icon** to open the form menu. -3. Select the form you just created, and click **link** to confirm. - Selecting a form from the project - -4. You can check if you linked the right form by clicking the form linking icon again. A preview of the form will appear. - -Your process is now complete and ready for validation. - -

The completed BPMN diagram

- -
- - 1. Open the process you created in **[Step 1](#step-1-create-a-new-process)** by clicking on the process file's name in the top bar. 2. Select the user task, and open the **Form** menu in the properties panel. - - :::note - If the properties panel for your task doesn't open automatically, navigate to **Window -> Toggle Properties Panel** to open it manually. - ::: - 3. In the Form menu, enter the **Form ID** for the form you created in **[Step 2](#step-2-design-a-form)**. @@ -249,46 +238,42 @@ Your process is now complete and ready for validation. Forms linked in the user task are deployed together with the process. If you make changes to a form, you have to deploy the referencing process again to make the changes appear. ::: +## Step 3: Run and validate your process + -## Step 4: Validate your process using Play - You can use [Play mode](/components/modeler/web-modeler/play-your-process.md) to quickly validate the process behavior and play different scenarios. 1. Click the **Play** tab to enter Play mode. 1. Once the Play environment is ready, click **Start a process instance** to start testing your process. 1. Start by activating a process instance. Click **Play** on the canvas above the process start event. - Start playing the process instance + Start playing the process instance. 1. The token moves to the user task, stops and waits until the user task is completed. Click **Open Task Form** to open the form. - Complete the form and continue + Complete the form and continue.

In the form, choose the Chicken option, and click Complete.

1. The token moves through the exclusive gateway (also called the XOR gateway), and is used to model the decision in the process. - Completing the Play process + Completing the Play process. -

When the execution arrives at this gateway, all outgoing sequence flows are evaluated in the order in which they have been defined. The sequence flow which condition evaluates to ‘true’ is selected for continuing the process.

+

When the execution arrives at this gateway, all outgoing sequence flows are evaluated in the order in which they have been defined. The sequence flow which condition evaluates to true is selected for continuing the process.

In this example, the token moved through the gateway and (according to the conditional expressions outlined earlier) to the selected dinner based on the Decide what's for dinner user task you completed.

As you chose Chicken, the token moved through to Prepare chicken and successfully completed. If you had selected Salad, the token would have moved through to Prepare salad instead.

1. Click **Rewind** on the canvas and select the `Salad` option to test this flow also works correctly. +1. (Optional) You can also open the process instance in [Operate](/components/operate/operate-introduction.md) to validate the process flow. Click the **Process Instance Key** link to view the process instance in Operate. + View the process instance in Operate. -:::note - -As well as using Play mode to quickly validate and run your process in development, you can also: - -- Deploy the process to a [cluster](/components/concepts/clusters.md) in other environments such as testing, staging, and production. After you deploy your process, it can be run on the cluster. -- Run and complete the user task in [Tasklist](/components/tasklist/introduction-to-tasklist.md). Applications such as Tasklist can be used by humans to complete tasks. As well as using Play mode and Tasklist to run a process, you can call the process via the API or an inbound trigger. Read more about [run options](/components/modeler/web-modeler/run-or-publish-your-process.md). -- Check the process in production using [Operate](/components/operate/operate-introduction.md). Operate is used to monitor both long-running and straight-through, high-throughput processes. In development, as well as using [Play mode](/components/modeler/web-modeler/play-your-process.md) for faster in-place validation, you can use Operate to confirm if the process flow works as expected. -- Create [milestones](/components/modeler/web-modeler/milestones.md) to save a snapshot of your BPMN or DMN diagram at any time. + From within Operate, you can also then run and complete the open user task in [Tasklist](/components/tasklist/introduction-to-tasklist.md). Select the user task and click **Open Tasklist**. + View the process instance in Operate. +:::note +Applications such as Tasklist can be used by humans to complete tasks. As well as using Play mode and Tasklist to run a process, you can call the process via the API or an inbound trigger. Read more about [run options](/components/modeler/web-modeler/run-or-publish-your-process.md). :::
-## Step 4: Run your process - Your process is now ready to run. Given its human-centric nature, it is well suited to be run in Tasklist. In order to make it accessible from Tasklist, the process must be deployed first. :::tip @@ -308,7 +293,7 @@ Ensure your installation of [Camunda 8 Run](/self-managed/setup/deploy/local/c8r 2. Click **Deploy** to deploy your process. 3. To run your new process, click the arrow-shaped **Run** icon, and provide your form input as JSON (for example, `{"meal": "chicken"}`). - Enter optional variables to use and run your process + Enter optional variables to use and run your process. 4. Click **Run** to run your process with the provided variables. @@ -318,9 +303,9 @@ Ensure your installation of [Camunda 8 Run](/self-managed/setup/deploy/local/c8r 2. In the **Process** panel, use the **Name** drop-down to select your process. 3. A visualization of your running process instance now displays in Operate, and your user task is marked with a green **token** icon. This means that a task is waiting to be worked on in Tasklist. - Process instance monitoring in Operate + Process instance monitoring in Operate. -## Step 5: Complete a user task +## Step 4: Complete a user task When the process instance arrives at the user task, a new user task instance is created at Zeebe. The process instance stops at this point and waits until the user task is completed. Applications like Tasklist can be used by humans to complete these tasks. In this last step, you will open Tasklist to run the user task you created. @@ -362,7 +347,7 @@ In this guide, you successfully built a human-centered process that routes the p - Create and link a form to a user task. - Validate your process using Play mode. -

The completed BPMN diagram

+

The completed BPMN diagram.

diff --git a/docs/guides/img/human-task-bpmn-diagram-gateway.png b/docs/guides/img/human-task-bpmn-diagram-gateway.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3a77f22f89d8c7d346474f9b06e1147218aed8 GIT binary patch literal 7488 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 literal 0 HcmV?d00001 diff --git a/docs/guides/img/human-task-bpmn-diagram-tasks.png b/docs/guides/img/human-task-bpmn-diagram-tasks.png new file mode 100644 index 0000000000000000000000000000000000000000..96fa0c304a00ec7b173d433259a43c96be0a359a GIT binary patch literal 7406 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 literal 0 HcmV?d00001 diff --git a/docs/guides/img/operate-open-tasklist.png b/docs/guides/img/operate-open-tasklist.png new file mode 100644 index 0000000000000000000000000000000000000000..9a3d8dcac9b560d5ca50c315c02eba0ba6fa8b64 GIT binary patch literal 22082 zcmd421yGw?*D%^s7oewx7AX|>K%qc^7I#UI1}&1{?gS|nC~gT5++9kr;%)H|pg2K` zJ1G`Cx#7I;`~CmS{l0te%$>P&nLT97(!JMy_Fn5*PpFoLBKcj~yH~DUAy-zC175ju z4RYnmRm|;cq#h7vW1sXx<1YW!9pnUc_cC*ZTzO;ZWDa3cb}+Mo03l|UJ}y0wS0pS> z8=bfAZ`IYrEu0+q%r0U0yd9iL*jKK+lJ<5sv#^7>GnqrIY#b$-agD9aOg5I1%=$0X z1=O8oA=WlZzOE3EuZE6=ubqXMC9|{?(<^Ur5&;K@yBU+WgT14hxVI$pKXk=O^~-L4 zW~P5Y-0dWp|0UF0buA`YCszoQ7@r`og@6EnNmPu_OvFq?NKE9V84nXc03ggSAjB^q z!Ye2!{sJH_@Pg^zf6OF?u9i@7pq#?L*^ye3%+~Ji&f@(1US3{&UP63Mu2%elVq#+a z0swvhfR_Zp>*nL=ZsyJF=*IFN3UUxP3s)OwcN-^1rb~)u=1v~&lFTGw|D}b4^M8?b zbo=*Ak>-rw+sv6?kWb)JtN#G1tN&kvIyn3nw3|B+^1tN$Zwb5U_&7uOfe<$*4_6D) z+Cf<^SviZ#xk#7kq+(OdRTF7B-HTU7Y{msH=-B zJG!}>Ia)xJ{Hl7em1y?5rrhn8HxA~uC5%?eJ{TtWv zf0jk?f5hb{3B!N6xc}Q?|EG&&L6_D4vR+c-zw964NHTg?l6Ct`RZ5aJ%@r**9r^6+ z?AaAUd3kw7(=XkRgs^r*b8~afP)R{SL2YeqYHF%`65)MFYy>>(`@rhp;2=w~!u$8{ zQ7BYWQqs!G%E0W&moH!Z{QOe#YwYaoShJLC+b3Dl6o35qk&%(Hv9S>u8QC>~FDWT; zcX#g^Iyyf;w~Hk-G&C3*8pp)M5Q#)fOUu*KQ*Uo?7HdLE)A`mPVq#_m{2L)8GI?%p z?%lh0ox{X;p@fNviBF$CAqa$Z$XCY^TLxW#&aj|D3 zylLvk{QP_~W)TbqkBp2oV~A5zQ=Ofi0|NswCB*LTZc0nS>K3tg>JZgVl=UX$RsL)r z+4_)0JUJ!m=;$aGnno59OY1N{hEEJo_N#mAy}iA9dU|$Fp39quvB`zgOGFhvLSc2+ z=o}Gh*(m{>FEK1 zKqSbmt*xD%oz>OV_V#u(8oju z(hk2-9^g;$Zvr*Gj?{h||E&!I zYUgE#v=wD{6{*;1IXXIedU`^kR^KPrr{<@l`+g^0xuTh)EcZsodva^$p8F%Obavma zzqJJImZ(oI6mJhFK{#}@~g8yA^!=GK2 ze*ye=F#iVlZ(#m+A|217EidM0Bm$30&Uj-@FLwI9h%tw^rCxAUX_=h&(;pcMc=@f$ z`*~_XBP}m>1A14Y!N=#Bn5&&T-{ywuuk~kQw){K1YQ}t5`JGG;7Y6xD|Kzv6JY6WB z3iK(!_s_|>n{z~_wT23y%a zGnDAF@b*SM>3s<Y{0`ER4>6xRn*m?(=ITjS7}amKByc z^}*-0X`f$-7A6xTcar0H+rom}W3I_j6*?=0-*IU8vBJ2!E`t8GHN5$L-O$-kY#{tYCl^+9uY40@DKJYcLM zN0iD2w*Q7vt_h=%3I*ld5g&s|*g_FrVWx&i){9JgP{{7@umWBIVGA7S>F{w!S`y?F zz-{S%&^5bz*nVsO_!+E?PVLmyj)?7azQ+=M6VHAHerG3x%=yh8GU~%jDAG^A^`C~4 zlLzJO&((Ea|H9L9+f5=0^#S1a$)lt_RLbCE$*4YHTXSDIj{W5OZAJX1JS7LT@xr)M zH>h9WDrC+wU^V0XU5GzM5cAv}ZXDz73o;(nTL<*-GG6(aFC7q~NsVqf`O4q?1=sX7 z4Z=?|X;-T`w18c+Ui;e4v#3fihALvmP5<1H#fmbD%ghd>sa*SDZttnTIfOz0A_(jAp#&i% zFkV&frFD`zK!yg61kv2!-VAur^M1>^i!Gdkh2tZjgd=5jW0+eNB@^-hory6(H&E%V z#iVghU5DI;%Nv4^vctYx26RO@a>!=#OiFg9(R&0~BI_$~?cd0PP=#D6N4DjQUjvLh zix0l{^IQTMphfzy8P9JN6xl7=Ty}_~p-ns8-1K={!&@bh5>B51*U{OT_Kx}~I$9zs zU?A!_aEm<{mXRy~&vUvEqF#}|1wxTV6;sZt- z{D&(jk4PlpY*hyA7lTZvfvW?tTTfd{Bchn+F+zVlY@&%fdAK*=tyore!}tFTU$Y6i z>iMduwDMQw$ZYIIQ8_LNbsKFSjoGffBE%8?0Z_~BYiDA&P1|OyMM-6;_wFVH1WZWf z`AiP)xP`ot^ae}@4~1p%X#68dCdL>2;UCU#kjwB$8K@^z>n21GM0pk2gM32+2djaV zELWhEZjfjU@gn4f#F(CMGs4bm#P9g*B>Lbr4P2fcS%mD+K{^qvgqm{z`&B0-0)q-r zC{$3VcB87G$!u@Ls>C;w44oZ@X~&r7+Xqy7l~z*?gaA0gxd8hB)v)?Xdc%ad8vh@5 zjh@Z5@6L>S>$a@N8935$RVY*#Gpi>|`^y(tm6a^mFBX{qR)b&sk$nPO-nd0|o%oFM z)wc$q|8X0mfj;=?r%M$zdLaT+iZRdHs-2D(ly{K`E!r9Y9RVFtJX!W&S!<~so^#)}s(c7RmXKkZrI;G0NJq&yf) zwJ-0q+q+Ao-pS%W$qreOC24;jNpm^mbWFB@$!KJUC(4VRk;C7B4`PrpV0Xkta0wQ$ zlx|)7_9JOB?;uZ-o2{i%DJ7X({k6LJlPY=P1&CYs1Im4-u*d+O?guc}400b8ENelnp)AxHc zWmMaW-YIfttmGg(lPalK+x;>DVnEd$ z?#+p2*b(H7!f+c#FXQiT%xa+{>pZ zX3p@t1@9=q>S}HTVq}BT1Y$p z7+@@X>~P-sTb1B~jiB)C+Je;s7EwG^%MRzaJWxJutOs{XAa2qNs=N2lO)t7L_BQKh zX55aQR2!@Y@D*PuAz)*$v)695>Cn1>q+Htq)Qqyspp$}-ww~_(Hly-oEZhT^`x#A~ z%b}W`s}7(b2RwEf{9(#tg8CvpUV?V?=$UeyY0}EVyZ=GG8hF&2+3|*1BoP%;D+oE5 z0e#;dpN&)vlwd<}Vd#BnHrPwcfWo~V^ zo%k83%QbFZA3hN9r6il42_jHS@Tq)0o)4;xF_}ocQpK2MMb$>u$AS6M_ZX9%U264& zTRuZm9=p2rM2|HFl~(%PU(T(?+-I}lgG`w~&;>-by2BKLChILe3G35o;hH08cjfOC z5Ir8~i+q$uX;QY;osCJiIS2S>|$hh_9rW)J|*<7^uaG4v90PaG)eLW3I3fe zG~4OGiMj%5RVGLy!elo8dk1r9-*c&VI(T7juk83^_g|>V)aToq{ilbpnW`s-RrUN1 zY=MlMQl8R*I1iCDl(Z7~C~js8g6FM9p}wB=$OzsWj~2dDwZ>sl@CoK>i%z#>k5PRJ z0jGtf@*o+!P5PknSVIMf(AwwsB#SdJ$vhN#TzvquezhQ6bG0@+7sgO}|SBE>LI$wL1Fo*%Jp9L{qe;#N8U{ z#a<}+&>5Rvg1AB>U^tjA16PN#_CxBLB7ROlLt0gP({jCRo;ZGyraAUk&OO2_U&CUn)0i@PrEz% zTa{AliA*)D%CowwWD1Ha;PWgTiO^{9n(C*>SCYhAJn*l!p4y3;nNBprz7~zY=Nqa6 zJ2gl+yjoA${G!p02y5bRNV(~C&niVaJ7aqqpUyL|EmDvA#T$5j?bG2`nVl#Rsw(Rd zK&`58h_Eii(R0kq&ELjA;@+OLeE!z&dlFXD1@r^QVXh&s48Mbk>1reOyuB4Xc7uOq zN2h17L|F*)lt`McJh9!)7-_Z%7VGS*K(&=XodPl@euVFvuzO_f9B#eiJwdEC_Eqr6 z4QF&~9}_gPFN7n5U z0FJXxqb7S6H3;e2@*upDy#;VUowb$nP9${o?YFL%{!nS#6$?Cz zXB8vf?Ll9FoK%Y zcQYaA){44iec#q??!`Q={18B1lzgqeug=_nqlx9qpSB;+cuGzDO9f9?3Qrx}r~Vh1 zfk4|=p#*m=wvD%P7-q(P@Y(GW8|UgjvkPaqBY!~~h^hAK)@Pwio(Mo7efWFi4)y#U zK-KZ!&n?S{ZHfE{wMnxE5a9GI4Ai9ZJ5^BQ`vV!|F7QccxteJg8%B+Iff{~9n+ztT z@DH9-7M!%0c6M5TbVO2C6o?IvL$i1aqts)NyWuI1j?3Mz`h^R{4k$6LyvonDpPi;! zN<07X5Nz6qtylM}aowF>t(r}~IM@!VGPqH$`ixI^_q*XtN~=Nj8h1-~M14w?NwN?u z3lFJgb+h76=5C3)7&V;X?@Nc3up%PMEgqSBickAUZ-v4Xt{!fQgCtMeK3R--MO7+-Bb}P5$)e{_|r|`7ZeQesn}G4)f+Id!>e7FW*9(eCg{)uZoy`PWJVzx8zVQ+aJxRP4tGo_~OOgg(+^ zO+pDKeHKsYPm-;=F1E?p|6B4eNO+MfS+0rs>Q6xvV~y0F<}p;$DwI^MKyp=4$&RhQ3K>KWp*1ts+8?L-!M!6@=)7k`9s2RC<3$`K%F z@bbF39lAr2C(gMDn7JCf2|Pyd-btm?n4)0^fWvG}H~k z>Y}1x#OkaD;kOx2pOC9Y8lP$gj>%tmaCYkA8Ttmx4J$u!8fIjoNhfAt*zm9D=OemT zT{@;*5GN($4^PKSnIN5;z=#6-*h&A#%I_dKNcFXbA^i2`g|cs3;YYn$%FJg&b_@4f zbW$>Uk|n8`Jp;Iw+;`F59>{jWG%5 z@8jBSf=}LYKBvYk@#pHdWB0HKlMis3a#g`}RH^@7_F20|wfdcMo+L2J`1w*)_3)4A z=<#YU zZ4J#V;gx!apOfAga@cyPfxjoP#mzrEH^$z8+BvJ;X5a8Tq?&mKpQ&3Lmt*XEn=A2? zs|mGZXbK5=+k6z@wZNV7N@$-cJR2}*W%R)3g`pXqumDG_x7?HD-*Tb7oT9{1)_qFD z^Q3cXA)yB-Yp%tR6-7ec`m)JBeFUQr>B+3vl!Uwk)A@IvXBU^Y5Jaaj33sCVf{)unjzkYh4@_-KD8N!% zPmf4Py2WTXw_*oQl*(rgx=CI;1{2IPiQZVZ*z48F(5g%Hr|2T$YmwsA2 zk~6kL0o?2qQ0ck1iT^)4oPRPX8@&VkB}u-UFcSHQbm~<0bS~fp`D?A7S!h9@K-uIe zB_M~AB~mc1ru>@-RyR zPP!CZSv#~@X4IIo(l$2`m^kS z74>J;Mwk;o3WscR()D4cyGaf-Poe$Doh3{p87V3fhK|5sqAqK3=mU&e^kpp>eHDZG zrw*h}yJE%F`I*YeWi*VAL1pdfK0 zmFs8{um9`v@C`EcCEAh%?8fEBnX$pP$#NO#xrff&qU#Gh$9pkeOfk-h%%9Ix&7GAH z|IC%;*f$TobUR51_zR+iS6>Qm^*N|jUY5RyCJr#8O@Opk^m7wAcTuJ!sX9az39D6g z>QaG+bGWJxC^41A$BY-@VW_#wL7|pFWSHR2R;$5ltYe-_?cTO=9!KLNbS6*wVkP5@ z$nvW*oVscMN+oCKzF)YLKD_xJX_;DO@MT1IL*YGXOu2pRkjT9b5h73f7>E zojhkCgg~P(XjWR$3erxvL7F%*OQ@BIp-pnXFL9~sBAVo;cW?$0y#_(h4UNTXr8fCr zA_-9+wxWDVB#xH?Po}1_k;Hc!MfW|dz|GMf)UBi&1!ckXIfy0R(9uUJj=^^=OL-@Y zPzmSRlR-*z_UTI^F_WYcAsSfQE}E<6X5U=SKkdvSF|aUh8Y3Ao5~=4wVEe zz~&$F_hES>dM1-fSM$%x{N10x!44m^`8To#-#vz!wHo06PGLSVl~sR#&W+^vu&Q>D zLPK{051B7zU4ZG$nUY~VUKLwVmM2|AKGwiG5G&Rr#6VZ+E)@09jun@IA5Dh4qoz$@ zP9Rb5j9G2M9B-_==f@p^B2F2#Fa3=6n8L8_;)sw-?Ne2dj=_Vb=oVglf=?$ORN7T_ zs82LxU67Dt<5%yx8D}uCDRRP5Vd*tO+UOnJbE6*AjC%tsB^ZJy86@x`P~Oc!pZO6xv-{;f$@~HqQLPku_-3L7 z92JuLwF~@N7k?BFlaQ6Iv?I3Y`c1O@#U_=BF{jDf5@|*;svBTs<7L^DE6wo>UOSIF z13X}t+8WtmCnP&t8FIQ_=A$wQjmpg7QdRs>E#Efqrp4_$t;89s%Lg7t=XadU zB}v+;iwCP-_u37p&UXk&%TcADPL?t;fRlyBoal;E&tGbUoGgkaT1D)fIs=#tc_GLh zBqh#Kr9lSE8=dJRg5~iuF6`1jxnQ1myUp9TqHs+~S{YB_VD|enlnd|W+aBmycu==- zoUPAYNQ2%`LZGduGif-&v&~q!GZG^iACdNFdUwk*HlXs3^}GuP`0d*T0`2XJOtMmb z0Ih_V$OBQ+fP)OgxuLRaRmPiw3F2xSNcJXFD?y8fXqXxu%xe*JJ&ky_(gu?Ir*|;J z$ZBNWz4N&EfEpceTE@w8O^8D^cWt2jk-Ip3fJ}*UDt>V=z389r5%bPg{NAse(o9Ko zzdx7yikeF-0_EKOoeceuqq8bq>NKW2O*21c#&arqqxH*8fI!MD+V>$>h!e#IPV)4Z ztYh6-mLVJLCXV><2f9n9GwG1Y>?d6Q;QA(qYWDy)T0iGFrSRFcDr>GYg;Lg_Bt1;F zFC-7A@PHICFb1b)v8oSE%wNaU1=7|``&llOlpQH8c7g(_?>x!p8Cq?h0}nlq2tD$B zKJR)!deD$#+lPhzvbcFa1d5!0Kr;a{&{`}yrmG}px36zv39en*WXZSmpyg`5?2K)-iD*q+o32Hy= ztHlkTu1A6w7j=F(Mt1ovY>Hjb~Ui)El3r?lr&!C=mmQIlJ%vp?RjK`Ikj! zClm_IM*xCL88aT3A0Cuo7C;zgtibujF0)bLJj`+J|^&vM@B~ei7TGeehXB+ARA>OLQ;2!~1N3ro2HzvPh zgwb*#m8RIA7IMc6HDIttYZG!;qr)UFs5K;_5 z{}J#!7EUjehgw9EXqGQrN>swDYb6w&qK~EFkS(p)B7;BccGvZk;gE`4l}6mX4|E5e&~VckiHj+{;Gj~mx8F$a}+=0l6nU&+yHQWUbST@BAH9i2+ySSPW1Cl2v>7(1T&HS449yGfh8+L1+*x2`9osMV!+uL?hA1l3Cv81_eJg$o46Wn?u6W#-kU9~n;&R9>pbNjokhcNspK7pCgN zMn&<^qgYmG;5FV^-y*9lReDLo0RKRyH6HEIA1OWbMFi$Z|x1_vEwlY7t3uHT!vrG_4+oR+&kBG>)2RWWiWbYS>u1Q z$L=nQO+NXAi8l%RqcbA)a^$S1@DMpFfWCxyQhkUJ_qDP#&-SG=E7(W^Nftdw* zShLrzX#z}N7O4#`%WmuBdhDi~;HGs#6wd)@(q}|i65SF)fO@}y475x4s@1tI$MwD_ z|K;&#Xy@W}^?hvs4haT*hKhs!=_h*F0q!Y% z>2DVw&7CCpgK#>&R+8T?dcYg%Kh{H=XGa?qxM6OJXBf#TMp*e!qfAjY_YU4S(Df)R zg>4+NRI@oLX&a&qs{J_?a3qQI6BvfAkq0L+WX_^~g6yiU&vVVo zCdaD)L1pH4feyTz(h1!kIlEr1izR2jgET!&fEjEQS|%S->%**Q@@ZNgJNWZE#XD{N zaWs>b{!_k8-+UuPP9D2Zc3yw#M7(8&m~m5jT$zkF*JemxNKZfCOU@Xk)AR|SgOfy_ zn(7}X?orML!6qbnT)>&V$B&%)UZer?GB8IUTET7L=6Q!zd0$1ynTg2>g%8zhq&C(} zWTx=ko=Gfa#u4Z^_pX(P924L-gdqfK_&jHU18!;aF@9CA+w3$g89a(C?;AOF;;t6^ z=$TheToyuo=S^l<3?O!oLinY zJ$Z5N;1e^iufm0%2WY>VGLaPCRFu02^X5}N-t{y`bl68*>`bT6A^p}`D69z)9lG^k zd!}Nm9uKzQgzbkW;_9vHweaoFoJg-d=Vq6!4lls7-`Bbd?Z?%eV5E>*IP?1@%H1AkxLu@%)@Ph? zN`a!&hv^x9c&bU-=!guTdH<>edC|aq^iA)TZ0(y13Ub1g1808(NLQbdBjN$a`{kn) zhqse0jI=NXEOxW$D3s)^Y~zG9W$z(6{g+b=Drm@V8!@0Xpu-it?GPwSlTaf~26=<# z;}E|oCyCbR)h7yZ7y|CPIUIY|XyoTwn3a416(r_qBClzh@6#GX9${koK z`{vKgp}iu3l;sICxw|j8;u)MO?l@0o>(%~3C!LBG6x-K(p#+>g!D3%|1P7~IDyMT*o z^&7I1)erA4-~BqwnQ^wtR6bL-lMkG15HHGNaIG;&S@O2;!iSEbQeJA!V(L*|41pm3 z9`N{iD#L6^c~9Y1%_?OfZu^%GEMn+t#nHBBSzF;K3TJoAsbzn}!gjgLPi8Bf1K-kA zx2Mjr@Aasro5q|r*53}3ZrUC2XU0NgIct7exN^Aur^xR$^fOoT3PH?oFET6D4 z&s_5G2ea-ekON0;=j}-o9_UqXL(|3un$I(d8-ul)I=&eogXI)P9a~slR|UjLuXbOu zKVx7CZ89}w(w2PsL3T3Asej|zVRsR|FJv6*bA)Q19Vk45o7!c30OUE2R-bi&i&2ai z`&Co92?E^rYlv`fqx|EhWfS7;YmQ+~J8M0hDh`0!G@Iox+!bZs8F*RpSZePEJgup} zMU+K3QK6d3?OQ<#$|~Ig6ez^qJd0l@(6qAKQH+k19{O5^Vh?U{H;34U-S-(yAOEyM zod|12ROt=8I?#x$1A@;TmPb8H)3G~gC&?||Wt9G%t4#>RR_5O>M|3YtaI>Qw2$StA z6?jroVGjdvAnN1vqg*v#m=kOn1BM~Ur}O%*)`T}^$<(o+!VD-vg`vv{fC8NSANN!@5f7al0crrv-QNdDNya z)^9vxTrs9Bz_!tImr+XcQT$SG6TNRZ*rXR4X4Rn0<)cJ?8 zlcu-gNLvQ+B+`!b4!KWsrskrCx<#tr>~jRNAlq5#wE8~$87ZiB9PzIx7U^P}AJZ7P z2O!+OOd7mNN+Wvn?=-@Hr4EvsS0Vq-C;b0>6sn`APZiz@N^Yi#yn*aQ?`<0Z5QcOj za;OVk&okD;aXNhXd}2xF2Z3n#7u}P%UGwU)5uzv0jDBfz~rXmwG}u)KsM!qwawk$ zzaa|hSouUh3SKJoLRqPv7q<+=RYTuHa|@9tuZfK{;(F8e8Q{jT+1IN{`|@WXz4fxR z#!6^_@uq??Z*Q%3vNm!j)P4!7%DsNX?N(s*(w^50UWVBOk0k`katkl}DBG~=Zq>Qf z0?^%OpXOizOuU>BQt0;GYjN=yJ)OK}p#LVhBC4~pCqZvyg{CHJSqz>#Gg#0xJmyQ_ z8&!`7>?i*!&f+maONn(W*cz{!-wE#A{yROY8{1%zU_8rYI>bFJt?g>njgIW6)Wycy zFW=NQ@KJ(bbqs%`8=@6`FCcR0_DHz) z0-NlraouSR$fa{D4p;(UhTD8<9#b*k+A*{}wqVktRE0PQ5Baw6SExzlOe^KzQ&Xdg zbXKq&9tW&j2>zALCG<*LC2Iptu(&2hZiJlTWIwErrUE8QR0CkHflhW*`Lok1_3O*M2KPO=oE!=<9XONP)*q32)J(DYdl6-;50zF8QxJTMEEM|q z@v5GNN)Xr2GX0hHbdsLeU3wlSso~9Cz7Z1)Imr7aD}g z$TTz?LyJj}h=T$o@Z|m&DHF#iAvdx)&Iikx%dCv8Yng3CCwDbs-Mq+y9m7r7fM zZ!oxk-neEMx5yxiy;)wGI6ATMlg)y6%3!=>1w@9{*cGjOAyD?iwm^EhfqZ)-k{`=O@$_@V2h*di;4IWEWJc(Z*cdshr2=UwW`wJM?~G&Ci(^WUH4}jQJy1*Oysp zRIZ`#ra-HYd|qS8BdIiQcu<2;U@78c3^byZ!K!eLIK-!Bm)R=SWf>xf1#wkI_U3W5 zw^QD1Tjcym-3%Gb*X~`&vwyw0Ayyc9q16zkS`w1`A}tRnpYzzLcjCHIgBH|p;fCuP zETTRw{qN2DB@vPRai8dQkyct5FUwC_dYSw&6b-bFvXUAN&qM^Ve+rFvxHIjAZ7>1t z>froTmeBR@oA%N1Q-kx|7HxvCnhF+ETHW4Ut`j>6eW;%~+lw$D;3onB6l&FV_PmO2 zpYHN0{xymUpdHhFOLEw1#EnrdG>q=MbG^fgPS&Fy$O~P*IPZeEhE4I$_B7QG)M?QR zb*=VA)LE8a>b>$BlXwC#F#8^NM|a-%T;Y1q7C*@lQo^R26nhZHa60VsoC=pf+&8ps zW88GpHvi}-$`wid>vaBaG+bAldi^nWJ^@X46I?LTtV49HAy?18$tddds6p=VkiOfq z!MRWh-th)0QII2mAP3PF^3`{1v@I}on22}h(;ybyzqV0jCnz5pKPPR(iKXn+k?aQG z;Y75DP8!tEfUV%V$+L=I8n^DFfe*$=s33LHTQdqvbTIM4{=D&9YKNaDe}$(t*-d~Zlt+I5 z+Sm}g`yz>yXPaR4{Eu+jq1=3^q*cN?**d*M{6paU1L_B66_m)$2`9e6OZ@zlfiOi_1 zTQUafC9V>oucxA{PHuGlXR{!07dW}pq_*Nbm~Rqhh}0WTsuGrOw1z_8-3g#axt*?l zvCCKPi%RX>%FVn7px0$^!dHm;8ym|L-rpyuMVlA%L@U*nv=*FHP~m{MqKyU7<%fr! zppU2CC1cjt#*^xbbQIhB?6(j0kzxx`^Tpo{dJ~7PK>6I z7cWN!u_jM!KfiE0?i?@CTvr0vma3Mb5%D|(WG zpZ`ktaa2&Ws_{rsLY-Q%hAsD`HAE6(#Y5pHyk@! zz(LgcstV%+nFu#785w-ckk;fyh+Uu)fQp2%;T{&@>2NmEu>wj^h_VdiEy)pC%<<6q z0RxFz#}L(Gdr!TkQOTwudObA70*4AGL5CSFmh;z_TLA4lC4xA3mkq?{4#nR#vQSB+9`1G5DvvoDUeYCI|m zFenPIaUAeCECN=jS#>zk=*;BO(TLcNvLQsik)z{^BI0?U`5;$XG>nDY=z-YekHtGz z2QT1KY%{u799;WjOu@;WQqc;*zw)zq6wuRRD%b9hpyo46fNb%@rjD*37_=1~%Up}* zgB}*^1#&Z)d*FC%YIASW{{2w`tiur)gf*!6u|!46>)nsgibVtEw>3a>O36@BC8We> zqt2cPQgYP$KZUC0al(*ZqiWr4k^4aLNnv=05|}|u5}29bp&dOxZ?6(x9mh&nzGkB0 zSy#+8_XqB0JHqzz%Y@PFjck?;NwH!i@UGjTsyt0fh;xQ?g}RFoZd9*TVH%=82jnys zh~gh8sinQZVR0>>lqC4mtvBje)(eTYyu3@L{EY3z`Lue=d+*YlzWd25ps6MAZeq$P zULANIk7eGm2>3vgJzTK#Tsz&mH}U)nz28r{1cXMOQ{UQAyvi-|IyWU=xMRWH1B{2q z-MpxBu9&mwAN+%A?j0}Pq#shdj{-e3Ut`5KoTE=yuLq$xxO-R2CQN(BIGQD=#sLU1 z9cu`|5$h9JS3-1mGfAFCW{doy({U~Rnk=4{QMi9Bw_(&6`K|p0NAhGKG!#n-+giS;xpK1XnmM&oc?)8 zZSphrIR04b7u>^xW;nnMkEf!pj z-{)?{$I}&J@}}!_lpHb@q{dBj*=~YW8X1?|&K0?D`nZ4;0&B&^yYa>383Ij=w~VD7 zo3_cOyMM!KH>!=N>Rr)))n~;Qwh2ga$9PEglx@+}CwlmIRm_M(dW0Wp=>>^gUK&^W zv&fW9d;1@XRV1h`bB>O56D~{@azXhTZzo*26f9j$@Z%I>^_oS_*z7p3gM3)f>!If=%fZXilB;GUc6I8UJYhwr^Id8#H7X=Wn2f^7~V*p2h?E zA*Q1`Gm|XjX^y$qPH9r;gdb8%oAeb?@8klAB2VE1O5%_rUr40&uomS#h|flVMIf)C zTe)SV-gWO`_jNmPnd7TOm2v&zLxBqLW@OPtg&XAjcg#Iy1OIPtf9$L^xkOoJP*)TQ zvESvMN&lz^CYy5Kps=;5%hBMne3Z}&SmG08GD0$UTKS(Ti}uu)PD;m(tnh;b=HDr5XN z#dCypA=Wd;AyS8n?V|2fA|w4;!vbRb4Mm$#r`9#r_0uQ@hYyyPU@cL%m(DDo#iOIr zzdcrj8?lXRe?;j`;xYi_lZ-*H!S3*7yEDscZV?Tf=T8S2oQ|zlyT4LxsJ-J)N>-KQ zKCA;3VqVs} zPA}wN(K&sDpgJ75k>RN3JQE2DM zb+7%1n@0&6buALUzmA*BBZG2^p9ZzvlF#_s6oZcz|H&Ci zd$o&lWvvr(ehmL`7gjIsLjCeMw}M4$6-_@$cP!`kD1W-O`3XD&Ss(0WtLQrt`0#5Z z>27jnY(xBpQGf>~^=ZOwj-EftPUb8nF=cbu9`a@1o#mJ+b}G zilE4h?JGzNViC|F13t7{x^`=n!a}5esHW`KhS>$vdPB@Q;0ePcw}`8{s_a-z)Lq>- z#*#rbdS{yjPDu?Sz7wKKB|TD)N1o{3%c)3CMYle%+v7ZLynXq36f!VM`^T`@mivQc z+xO4*IRb;3j@6 zl-4)z7dn@1S#n9wJtp-7B{{^U7^2cMZ))Hx9FX3CKFWO zRb7L2Xzap{H}%;0<9~9-1GecVU{3NMgHhh;#sx>NzQ3M*3(==lc-zZYTSMJy01T+y z9zosK2bt6WhE9U_;vEXexbeC*X$KL9WST_u@M2lVu)7C&vJia!sowt|f z{cnR&|229i6O)#Ki|P#nstn{DzCn7xm#1p%Q}^a_-WR?zS6$hCLCIFOr-bg*V$FI-MF4nsbOd%|K>S2S50`vH5V%25Yxq7Fqw9^dQt{k3K2kZvs>(?g{Txy_AkgfTM!>llA4wo0@tz7JqD-aZ6vuiavXiK8@9@ zWlNNTNIPWTo7l*vKq|CfUAFOK8tpzdju~zrx#IxO6%qVt{$0fWZ^>@^fB|6C;$w*E zySidKS(3@D-ON#nJWn|NiFM~1l~+Z~g&lJvDp$)NY`T2uQY=#h`}}ybJmx`1%LYd_ zbWIFt=j()4-J(s(D}$$)w3HscW6#KXtAd|o>7(F!3KWRZzz)`uq3UW5PZ9Op-P)sW z#qfoB^ zUr5PcUaxX;_Fo#1_^M+YqJ0cb`YiLpc-=g|2BeT;ER2ntk4z@|(HbI>3;mwQA8e6B zPQ#rL88CN+Xq=AHx)GSFKBrb`vt;S3>{; zyItRBcZC9bjKP?P@d3F%oVydUafOGa8r2!Ii29C7PfusA6yjGxx=2oD{sGEWCESMl zKN33ek?YcxA^ab$oO?J_Yx~FF+S)0nR49j1Dl=wG+Zdu8wquO*FwP<@+cAY9TiA$l zte6>%kkd?NC=5nKw$osZ7RA2Yu(Si*0WB} zv(|lozBfc0siQ)69BN3is8{q1*Cb3W@{K z0$+kQK|6$AR~|vNINKx29!@?xT>5ZA&X|r4qrI{P=$9(0QZ7vhUDD68E$;UbYvQk%iZqI0KAZ(dx){V=vIE98X zorkU3zWns&3jcKZJ(jd#_&lygo4;PQ?->u@`%drC{PcO*4e5%HurquZ(`%#5V3^*M z!E6I>O}uD1FvF$;hx5WL_pfI1`d4JVlwsM)4{KsHN{};K!bDk}Gj zNk+UlT~UhLWjUcD^X5>PH(dF^+oqeMC4h!8+c~_%tE95>bYEW<6*ftnTc|Xh3gFzN zGcS@vX_Iw+rP>5pBqte5YmYc=yQF7nMi&bV$Ip)st3l_o%x?sGzhH z^9)5YE>z8OjgQys*Z5k|%uxg78LW~t@uJkYBt%e<^@Yxzh6IyVr%}x?lFiQ-pvk_Hz?=i8FAE4;F#R`sdzb$y!mJ$rp67DT1G#xfZO>5VeWhHWn0L^bxC*~!SKU~s}f>WGjX=NZD|jj zfqmkkz7trsVK7Y-sILc9Y1B~9mueAT+c!0CP|p_W`Vev#NejC%@ACUR!^cvX{KMNZ zGF-2zzq+2fP_)sRY)8sNv~R2`eLKOm-SP8i!Z5#u?c62yh99-2MedodrH?nbL2Z#+ zd~P-`GmhT+_&Rnz!$#)Is3rZVVo+pe zaIr#E-q>?3FI%&IsEo_Xpzt}7u|Nh8Z=GC>SUV8=)x?U0=seVeK7dPA!4H51Nv~Q2R0L~36ko8RwB9%wK!!HJSM2M~2!`vC3>Uk9^ zl<0{zYV-!>zco!Ca`zyeeVO@IHT;mv7yi5t5rV~DSU4Erc6_C@jIsP+EUL!nG>$$l zg3a8>AHAhhq*JwtTI;Z_NX6zm1b+k-E}`5Zsm*k|vyj7h;8sb@&j@!)Yo@EqMkl)3 zVh@JsHr7BdiTnPuJ|sX{iQK}kAfpDp>t^3^9&fIVr`@{gaK!YI>1qGlZySb`v(CMY z0XXcbu#aTz-I{H7Y@~s>3YG940q1`J ziazN(y&xzru6$!vFkZDN#U)8cav>5H8U<O$ zmwL5%$#-6*tr9-c?CCHMs(pEW&Y5$$$#G<@Z6QjlBSt;zE=m{z1H4~`hpfDgNRE}i zwtLYr*A>x7yMno8~c?@=C=Cv1eP^C3C0~ zLmo#<7q5L#`sT4GPX+BCQGPKHNH4L>eJobFw}?$=TNk$uypp&fo1J_P6xjc*$gJaZ z!xfUVyylx!!=^9cjAqx#0%75v0(dXz48)F$`tvS5pq1yAD&gruY&8nfN)ZS=2+bnR zo*;|mZLFTQlC>0)}`8T>wm) z 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�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 literal 0 HcmV?d00001 From b37f8eea7ec53fcc812e610bc5101362eca3a3df Mon Sep 17 00:00:00 2001 From: mesellings Date: Fri, 11 Oct 2024 16:02:34 +0100 Subject: [PATCH 6/6] Fix admonition formatting --- docs/guides/getting-started-orchestrate-human-tasks.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/guides/getting-started-orchestrate-human-tasks.md b/docs/guides/getting-started-orchestrate-human-tasks.md index b5e621a5ce..a66fb5d94e 100644 --- a/docs/guides/getting-started-orchestrate-human-tasks.md +++ b/docs/guides/getting-started-orchestrate-human-tasks.md @@ -187,7 +187,8 @@ You have now designed the process. To allow the user to make the decision, you m - You do not need to save your process diagram as Web Modeler automatically saves every change you make. - You can also create [milestones](/components/modeler/web-modeler/milestones.md) to save a version snapshot of your BPMN or DMN diagram at any time. - ::: + +::: 1. Select the user task you created in **[Step 1](#step-1-create-a-new-process)**. 1. Click the blue **Link Form** icon in the context pad, and click **Create new form**.