Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

style(formatting): technical overview of Operate Components docs #593

Merged
merged 3 commits into from
Feb 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions docs/components/operate/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
id: index
title: Introduction
description: "Operate is a tool for monitoring and troubleshooting process instances running in Zeebe."
---

Operate is a tool for monitoring and troubleshooting process instances running in Zeebe.
Expand All @@ -17,15 +18,16 @@ dark: useBaseUrl('img/operate-introduction_dark.png'),
/>;
-->

In addition to providing visibility into active and completed process instances, Operate also makes it possible to carry out key operations such as resolving <!-- FIXME: [incidents](/reference/incidents.html) --> incidents, and updating process instance variables.
In addition to providing visibility into active and completed process instances, Operate also makes it possible to carry out key operations such as resolving [incidents](./userguide/resolve-incidents-update-variables.md), and updating process instance variables.

[//]:# (What is the link to fix here?)

![operate-introduction](img/operate-introduction_light.png)

In the [Operate User Guide](/components/operate/userguide/basic-operate-navigation.md), learn how to use it to monitor process instances and more features.
Learn how to use Operate to monitor process instances and more features in the [Operate user guide](/components/operate/userguide/basic-operate-navigation.md).

Operate is also available for production use (with support) in the Camunda Cloud offering.

If you'd like try out Operate in Camunda Cloud, sign up [here](https://accounts.cloud.camunda.io/signup).

Because Operate can be a helpful tool when getting started with Zeebe and building an initial proof of concept, we make it available under [Operate Trial license](https://camunda.com/legal/terms/cloud-terms-and-conditions/general-terms-and-conditions-for-the-operate-trial-version/). There are no restrictions under this license when it comes to the length of the evaluation period or the available feature set _as long as you use Operate in non-production environments only._
To try out Operate in Camunda Cloud, sign up [here](https://accounts.cloud.camunda.io/signup).

Because Operate can be a helpful tool when getting started with Zeebe and building an initial proof of concept, we make it available under the [Operate trial license](https://camunda.com/legal/terms/cloud-terms-and-conditions/general-terms-and-conditions-for-the-operate-trial-version/). There are no restrictions under this license when it comes to the length of the evaluation period or the available feature set _as long as you use Operate in non-production environments only._
11 changes: 5 additions & 6 deletions docs/components/operate/userguide/basic-operate-navigation.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
---
id: basic-operate-navigation
title: Getting familiar with Operate
description: "An overview of navigating Operate and its features"
---

This section and the next section, “Variables and incidents,” assumes you’ve deployed a process to Zeebe and created at least one process instance.
This section and the next section, [variables and incidents](./resolve-incidents-update-variables.md), assumes you’ve deployed a process to Zeebe and created at least one process instance.

If you’re not sure how to deploy processes or create instances, we recommend going through the [getting started tutorial](./guides/getting-started/model-your-first-process.md).
If you’re not sure how to deploy processes or create instances, visit our [getting started tutorial](./guides/getting-started/model-your-first-process.md).

In the following sections, we’ll use the same `order-process.bpmn` process model from the getting started tutorial.

Expand All @@ -21,7 +22,7 @@ To view a deployed process, take the following steps:

![operate-view-process](./img/operate-view-process_light.png)

3. From this **Running Instances** view, you can cancel a single running process instance.
3. From this **Instances** tab, you can cancel a single running process instance.

![operate-cancel-process-instance](./img/operate-view-process-cancel_light.png)

Expand All @@ -33,6 +34,4 @@ Running process instances appear in the **Instances** section below the process

Here, see details about the process instance, including the instance history and the variables attached to the instance.

![operate-view-instance-detail](./img/operate-view-instance-detail_light.png)


![operate-view-instance-detail](./img/operate-view-instance-detail_light.png)
27 changes: 16 additions & 11 deletions docs/components/operate/userguide/delete-finished-instances.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,51 @@
---
id: delete-finished-instances
title: Delete finished instances
description: "Let's delete a canceled or completed process instance."
---

A finished process instance, meaning a canceled or a completed process instance, can be deleted from instances page or instance detail page.
A finished process instance, meaning a canceled or a completed process instance, can be deleted from the **Instances** page or instance detail page.

## Delete process instance from instances page
## Delete process instance from Instances page

1. On instances page, apply **Finished Instances** filter
To delete a process instance from the **Instances** page, take the following steps:

1. On the **Instances** page, apply the **Finished Instances** filter.

![operate-view-finished-instances](./img/operate-instances-finished-instances_light.png)

2. Click delete icon on any process instance you want to delete
1. Click the trash can icon on any process instance you want to delete.

![operate-perform-delete-operation](./img/operate-instances-click-delete-operation_light.png)

3. Confirm the delete operation by clicking 'Delete'
1. Confirm the delete operation by clicking **Delete**.

![operate-confirm-delete-operation](./img/operate-instances-delete-operation-confirm_light.png)

4. Delete operation can be seen in operations panel
4. In the **Operations** panel on the right side of the screen, view the deleted process instance.

![operate-view-delete-operation](./img/operate-operations-panel-delete-operation_light.png)

## Delete process instance from instance detail page

1. On instances page, apply **Finished Instances** filter
1. On the **Instances** page, apply the **Finished Instances** filter.

![operate-view-finished-instances-instance-detail](./img/operate-instance-detail-finished-instances_light.png)

2. Navigate to instance detail page, by clicking the id of the process instance you want to delete
2. Navigate to the instance detail page by clicking the **Instance id** of the process instance you want to delete.

![operate-navigate-finished-instance-detail](./img/operate-instance-detail-finished-instances-navigate_light.png)

3. Click the delete icon
3. Click the delete icon.

![operate-instance-detail-perform-delete](./img/operate-finished-instance-detail_light.png)

4. Confirm the delete operation by clicking 'Delete'
1. Confirm the delete operation by clicking **Delete**.

![operate-instance-detail-confirm-delete-operation](./img/operate-instance-detail-delete-operation-confirm_light.png)

5. Process instance is deleted
:::note
Use caution as the process instance is now deleted and you may not access it again.
:::

![operate-instance-deleted-notification](./img/operate-instance-deleted-notification_light.png)
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
---
id: operate-feedback-and-questions
title: Giving feedback and asking questions
description: "Have questions or feedback about Operate? Contact us."
---

Have questions or feedback about Operate?

Contact us at [Camunda Cloud Contact](/contact).

Have questions or feedback about Operate? [Contact us](/contact).
Original file line number Diff line number Diff line change
@@ -1,75 +1,130 @@
---
id: resolve-incidents-update-variables
title: Variables and incidents
description: "Let's examine variable and incidents."
---

Every process instance created for the process model used in the getting started tutorial requires an `orderValue` so the XOR gateway evaluation will happen properly.
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

Let’s look at a case where `orderValue` is present and was set as a string, but our `order-process.bpmn` model requires an integer to properly evaluate the `orderValue` and route the instance.
Every process instance created for the process model used in the [getting started tutorial](./guides/getting-started/model-your-first-process.md) requires an `orderValue` so the XOR gateway evaluation will happen properly.

**Linux**
Let’s look at a case where `orderValue` is present and was set as a string, but our `order-process.bpmn` model required an integer to properly evaluate the `orderValue` and route the instance.

<Tabs groupId="OS" defaultValue="linux" values={
[
{label: 'Linux', value: 'linux', },
{label: 'MacOS', value: 'macos', },
{label: 'Windows', value: 'windows', },
]
}>

<TabItem value='linux'>

```
./bin/zbctl --insecure create instance order-process --variables '{"orderId": "1234", "orderValue":"99"}'
```

**Mac**
</TabItem>

<TabItem value='macos'>

```
./bin/zbctl.darwin --insecure create instance order-process --variables '{"orderId": "1234", "orderValue":"99"}'
```

**Windows (Powershell)**
</TabItem>

<TabItem value='windows'>

```
./bin/zbctl.exe --insecure create instance order-process --variables '{\"orderId\": \"1234\", \
"orderValue\": \"99\"}'
```

To advance the instance to our XOR gateway, we’ll quickly create a job worker to complete the `Initiate Payment` task:
</TabItem>
</Tabs>

## Advance an instance to an XOR gateway

To advance the instance to our XOR gateway, we’ll create a job worker to complete the `Initiate Payment` task:

**Linux**
<Tabs groupId="OS" defaultValue="linux" values={
[
{label: 'Linux', value: 'linux', },
{label: 'MacOS', value: 'macos', },
{label: 'Windows', value: 'windows', },
]
}>

<TabItem value='linux'>

```
./bin/zbctl --insecure create worker initiate-payment --handler cat
```

**Mac**
</TabItem>

<TabItem value='macos'>

```
./bin/zbctl.darwin --insecure create worker initiate-payment --handler cat
```

**Windows (Powershell)**
</TabItem>

<TabItem value='windows'>

```
./bin/zbctl.exe --insecure create worker initiate-payment --handler "findstr .*"
```

We’ll publish a message that will be correlated with the instance so we can advance past the `Payment Received` intermediate message catch event:
</TabItem>
</Tabs>

We’ll publish a message that will be correlated with the instance, so we can advance past the `Payment Received` intermediate message catch event:

<Tabs groupId="OS" defaultValue="linux" values={
[
{label: 'Linux', value: 'linux', },
{label: 'MacOS', value: 'macos', },
{label: 'Windows', value: 'windows', },
]
}>

**Linux**
<TabItem value='linux'>

```
./bin/zbctl --insecure publish message "payment-received" --correlationKey="1234"
```

**Mac**
</TabItem>

<TabItem value='macos'>

```
./bin/zbctl.darwin --insecure publish message "payment-received" --correlationKey="1234"
```

**Windows (Powershell)**
</TabItem>

<TabItem value='windows'>

```
./bin/zbctl.exe --insecure publish message "payment-received" --correlationKey="1234"
```

</TabItem>
</Tabs>

In the Operate interface, you should now see the process instance has an <!-- FIXME: [“Incident”](/reference/incidents.html) --> incident, which means there’s a problem with process execution that must be fixed before the process instance can progress to the next step.

[//]:# (What is the FIXME note referencing above?)

![operate-incident-process-view](./img/operate-process-view-incident_light.png)

## Diagnosing and resolving incidents

Operate provides tools for diagnosing and resolving incidents. Let’s go through incident diagnosis and resolution step by step.

When we inspect the process instance, we can see exactly what our incident is: `Expected to evaluate condition 'orderValue>=100' successfully, but failed because: Cannot compare values of different types: STRING and INTEGER`
Expand All @@ -93,30 +148,47 @@ There’s one last step: initiating a “retry” of the process instance. There

![operate-retry-instance](./img/operate-process-retry-incident_light.png)

You should now see the incident has been resolved, and the process instance has progressed to the next step. Well done!
You should now see the incident has been resolved, and the process instance has progressed to the next step.

![operate-incident-resolved-instance-view](./img/operate-incident-resolved_light.png)

## Complete a process instance

If you’d like to complete the process instance, create a worker for the `Ship Without Insurance` task:

**Linux**
<Tabs groupId="OS" defaultValue="linux" values={
[
{label: 'Linux', value: 'linux', },
{label: 'MacOS', value: 'macos', },
{label: 'Windows', value: 'windows', },
]
}>

<TabItem value='linux'>

```
./bin/zbctl --insecure create worker ship-without-insurance --handler cat
```

**Mac**
</TabItem>

<TabItem value='macos'>

```
./bin/zbctl.darwin --insecure create worker ship-without-insurance --handler cat
```

**Windows (Powershell)**
</TabItem>

<TabItem value='windows'>

```
./bin/zbctl.exe --insecure create worker ship-without-insurance --handler "findstr .*"
```

</TabItem>
</Tabs>

The completed process instance with the path taken:

![operate-incident-resolved-path-view](./img/operate-incident-resolved-path_light.png)
8 changes: 4 additions & 4 deletions docs/components/operate/userguide/selections-operations.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
---
id: selections-operations
title: Selections and operations
description: "In some cases, you’ll need to retry or cancel many process instances at once."
---

In some cases, you’ll need to retry or cancel many process instances at once. Operate also supports this type of operation.

Imagine a case where many process instances have an incident caused by the same issue. At some point, the underlying problem will have been resolved (for example, maybe a microservice was down for an extended period of time, then was brought back up.)
Imagine a case where many process instances have an incident caused by the same issue. At some point, the underlying problem will have been resolved (for example, maybe a microservice was down for an extended period of time, then was brought back up.)

Though the underlying problem was resolved, the affected process instances are stuck until they are “retried”.
Though the underlying problem was resolved, the affected process instances are stuck until they are “retried."

![operate-batch-retry](./img/operate-many-instances-with-incident_light.png)

Expand All @@ -16,7 +17,7 @@ Let's create a **selection** in Operate. A selection is a set of process instanc
To create a selection, take the following steps:

1. Check the box next to the process instances you'd like to include.
2. Click the blue **Apply Operation on N Instances** button.
2. Click the blue **Apply Operation on N Instances** button.

![operate-batch-retry](img/operate-create-selection_light.png)

Expand All @@ -27,4 +28,3 @@ To create a selection, take the following steps:
After confirmation, you can see the **Operations** panel with the current status of all operations.

![operate-batch-retry](./img/operate-operations-panel_light.png)