Skip to content

Commit

Permalink
style(formatting): technical review
Browse files Browse the repository at this point in the history
  • Loading branch information
christinaausley committed Aug 28, 2024
1 parent 6e0e927 commit 55a50b8
Showing 1 changed file with 35 additions and 33 deletions.
68 changes: 35 additions & 33 deletions docs/components/modeler/web-modeler/play-your-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ You will access a Play environment that will utilize your selected development c

The current version of the active process and all its dependencies, like called processes or DMN files, are automatically deployed to the Play environment. An error or warning is raised if a file fails to deploy, is missing, or a Connector secret isn’t filled out.

In SaaS, Play uses connector secrets from your selected cluster.
In SaaS, Play uses Connector secrets from your selected cluster.

## Getting started with Play

Expand Down Expand Up @@ -46,9 +46,9 @@ The **Variables** panel tracks the data collected. Global variables are shown by

Play executes all logic of the process and its linked files, such as FEEL, forms, DMN tables, and outbound Connectors.

Actions in Play can be initiated through Operate, Tasklist, or external APIs. For example, you can complete a user task via Tasklist, finish a service task using an external job worker, or cancel / modify your instance through Operate, with all changes reflected in Play.
Actions in Play can be initiated through Operate, Tasklist, or external APIs. For example, you can complete a user task via Tasklist, finish a service task using an external job worker, or cancel/modify your instance through Operate, with all changes reflected in Play.

In SaaS, you can view your process instance in Operate by clicking **Process Instance Key** from the header.
In SaaS, view your process instance in Operate by selecting the **Process Instance Key** in the header.

![play process instance view](img/play-view-process-instance.png)

Expand All @@ -57,7 +57,7 @@ You have a few options to mock an external system:
- In **Implement** mode, hard-code an example payload in the task or event's **Example data** section in the properties panel.
- When completing a task or event, use the secondary action to complete it with variables.
- When filling forms or setting variables from Play, you can also save the variables to the BPMN file as example data to reuse them in future sessions.
- Mocking connectors can be best done by using service task placeholders for now
- Use service task placeholders

Play automatically uses example data from the BPMN file for many events and task types.
If you want to use different data, you can override the example data by opening the secondary action menu on an element.
Expand Down Expand Up @@ -88,36 +88,38 @@ Play's rewind operation currently does not support the following elements:

- If you completed an unsupported element before rewinding, you will rewind farther than expected.
- Play rewinds to an element, not to an element instance. For example, if you wanted to rewind your process to a sequential multi-instance service task which ran five times, it will rewind your process to the first instance of that service task.
- Play rewinds processes by initiating a new instance and executing each element. However, if any element behaves differently from the previous executionsuch as a connector returning a different result the rewind may fail.
- Play rewinds processes by initiating a new instance and executing each element. However, if any element behaves differently from the previous execution, such as a Connector returning a different result, the rewind may fail.

## Modify a process instance

There are two main reasons to modify a process instance in Play
There are two main reasons to modify a process instance in Play:

1. **Skip Elements**: If your process is stuck, you can continue testing by skipping over elements. For instance, rather than waiting for a 24-hour timer event to elapse or resolving an incident, you can manually advance the active token from the timer event to the next flow node.
2. **Faster Prototyping**: Rather than completing the entire process, you can skip over unnecessary sections of a large diagram to debug the changes you just made.
1. **Skip elements**: If your process is stuck, you can continue testing by skipping over elements. For instance, rather than waiting for a 24-hour timer event to elapse or resolving an incident, you can manually advance the active token from the timer event to the next flow node.
2. **Faster prototyping**: Rather than completing the entire process, you can skip over unnecessary sections of a large diagram to debug the changes you made.

There are three ways to modify your process instance:

1. **Add token**: Select the flow node where you'd like to initiate a new token, then choose 'Add' from the modification dropdown.
2. **Cancel tokens**: Select the flow node where you'd like to cancel active tokens, then choose 'Cancel' from the modification dropdown.
3. **Move tokens**: Select the flow node from which you'd like to move active tokens, then choose 'Move' from the modification dropdown. Afterward, you'll be able to select a target flow node to which the tokens will be relocated.
- **Add token**: Select the flow node where you'd like to initiate a new token and select **Add** from the modification dropdown.
- **Cancel tokens**: Select the flow node where you'd like to cancel active tokens and select **Cancel** from the modification dropdown.
- **Move tokens**: Select the flow node from which you'd like to move active tokens and select **Move** from the modification dropdown. Then, select a target flow node to relocate the tokens.

Unlike in [Operate](/components/operate/userguide/process-instance-modification.md), these changes are applied immediately. If you need to change variables while modifying a process, you can use the Variables panel to set them separately. Alternatively, for this or more advanced use cases you can modify the process instance from Operate.
:::note
Unlike in [Operate](/components/operate/userguide/process-instance-modification.md), these changes are applied immediately. If you need to change variables while modifying a process, use the **Variables** panel to set them separately. Alternatively, for advanced use cases you can modify the process instance from Operate.
:::

![modify process instance](img/play-modifications.png)

### Limitations

Rewinding a process instance that has modifications applied to, is currently not supported. Additionally, some elements do not support specific modifications:
Rewinding a process instance that has modifications applied to is currently not supported. Additionally, some elements do not support specific modifications:

- **Add token**/**Move tokens to** modifications are not possible for the following type of elements:
- **Add token**/**Move tokens to** modifications are not possible for the following element types:
- Start events
- Boundary events
- Events attached to event-based gateways
- **Move tokens from** modification is not possible for a subprocess itself.
- **Add token**/**Move tokens to** modifications are currently not possible for elements with multiple running scopes.
- All tokens of a multi-instance element are moved or cancelled at the same time.
- All tokens of a multi-instance element are moved or canceled at the same time.

## Rapid iteration

Expand All @@ -131,8 +133,8 @@ Depending on the BPMN element, there may be a different action:

- **User tasks** with an embedded form are displayed on click. However, you cannot track assignment logic.
- **Call activities** can be navigated into and performed.
- **Manual tasks**, **undefined tasks**, **script tasks**, **business rule tasks**, **gateways**, **outbound connectors** and other BPMN elements that control the process’s path are automatically completed based on their configuration.
- **Service tasks**, **inbound Connectors**, message-related tasks or events are simulated on click or triggered from an external client. However, Play attempts message correlation based on the process context but cannot infer keys from FEEL expressions. Therefore, these keys must be manually entered by publishing a message using secondary actions.
- **Manual tasks**, **undefined tasks**, **script tasks**, **business rule tasks**, **gateways**, **outbound Connectors** and other BPMN elements that control the process’s path are automatically completed based on their configuration.
- **Service tasks**, **inbound Connectors**, message-related tasks, or events are simulated on click or triggered from an external client. However, Play attempts message correlation based on the process context but cannot infer keys from FEEL expressions. Therefore, these keys must be manually entered by publishing a message using secondary actions.
- Many action icons have secondary actions. For example, **user tasks** can be completed with variables rather than a form, and **service tasks** can trigger an error event.

## Operate vs. Play
Expand Down Expand Up @@ -160,31 +162,31 @@ For more information about terms, refer to our [licensing and terms page](https:

## Configuration for Self-Managed

### Simple docker setup
### Docker setup

1. [Download or clone this repo](https://github.com/camunda/camunda-platform).
2. Open the `docker-compose/camunda-8.6` folder. This contains the alpha releases for the upcoming 8.6 release.
3. Run `docker compose --profile full up -d`
4. Open Web Modeler at http://localhost:8070
3. Run `docker compose --profile full up -d`.
4. Open Web Modeler at [http://localhost:8070](http://localhost:8070).

After selecting the Play tab, you will be prompted to provide the details of your cluster.
After selecting the **Play** tab, you will be prompted to provide the details of your cluster.

Find the information below along with example values for this Docker setup.

![play cluster config](img/play-cluster-configuration.png)

| Name | Description | Example value |
| ----------------- | -------------------------------------------- | --------------------------------------------------------------------------------- |
| Cluster endpoint | Address where your cluster can be reached. | `http://zeebe:26500` |
| Operate base url | Address where Operate can be reached. | `http://operate:8080` |
| Operate audience | Permission name for Operate | `operate-api` |
| Tasklist base url | Address where Tasklist can be reached. | `http://tasklist:8080` |
| Tasklist audience | Permission name for Tasklist | `tasklist-api` |
| Zeebe rest url | Address where Zeebe rest api can be reached. | `http://zeebe:8080` |
| Client id | Name of your registered client | `zeebe` |
| Client secret | Password for your registered client | `zecret` |
| OAuth token url | Token issuer server | `http://keycloak:8080/auth/realms/camunda-platform/protocol/openid-connect/token` |
| OAuth audience | Permission name for Zeebe | `zeebe-api` |
| Name | Description | Example value |
| ----------------- | ----------------------------------------------- | --------------------------------------------------------------------------------- |
| Cluster endpoint | Address where your cluster can be reached | `http://zeebe:26500` |
| Operate base url | Address where Operate can be reached | `http://operate:8080` |
| Operate audience | Permission name for Operate | `operate-api` |
| Tasklist base url | Address where Tasklist can be reached | `http://tasklist:8080` |
| Tasklist audience | Permission name for Tasklist | `tasklist-api` |
| Zeebe rest url | Address where the Zeebe REST API can be reached | `http://zeebe:8080` |
| Client id | Name of your registered client | `zeebe` |
| Client secret | Password for your registered client | `zecret` |
| OAuth token url | Token issuer server | `http://keycloak:8080/auth/realms/camunda-platform/protocol/openid-connect/token` |
| OAuth audience | Permission name for Zeebe | `zeebe-api` |

### Limitations

Expand Down

0 comments on commit 55a50b8

Please sign in to comment.