Skip to content

Commit

Permalink
Update ID references (#4644)
Browse files Browse the repository at this point in the history
* Fix references in Concepts, Console

* DMN

* FEEL

* Guides

* Modeler extras

* Fix ID
  • Loading branch information
mesellings authored Nov 22, 2024
1 parent 549a0e5 commit 2bd383d
Show file tree
Hide file tree
Showing 22 changed files with 50 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,6 @@ If you target a _TaskInfoEntity_:

If you target a _ProcessInstanceInfoEntity_:

- Create a new instance by an _ExecutionListener_ on the process instance start event. The process instance id might not yet be known at this time. So either you create your own id and set it as a process variable (to SQL "join" on this later), or you can add a safe point before the listener triggers to make sure the process instance was committed to the database.
- Create a new instance by an _ExecutionListener_ on the process instance start event. The process instance ID might not yet be known at this time. So either you create your own ID and set it as a process variable (to SQL "join" on this later), or you can add a safe point before the listener triggers to make sure the process instance was committed to the database.

- Decide when you have to update information in the entity, this depends on various factors (like amount of data, frequency of changes, way of changing data, ...).
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ We recommend using Camunda Modeler's properties panel to edit technical identifi

![Properties Panel](naming-technically-relevant-ids-assets/camunda-modeler-properties-panel.png)

We especially do not recommend editing identifiers in the XML directly, as it might accidently corrupt your BPMN file. You have to keep the identifiers in the section about the graphical layout (so called "DI" for diagram interchange) further down in sync with the execution semantics at the top of the XML.
We especially do not recommend editing identifiers in the XML directly, as it might accidentally corrupt your BPMN file. You have to keep the identifiers in the section about the graphical layout (so called "DI" for diagram interchange) further down in sync with the execution semantics at the top of the XML.

However, we include an XML example of all those identifiers mentioned for illustration:

Expand Down Expand Up @@ -89,4 +89,4 @@ If you have lots of process, case, and decision definitions with lots of IDs, co

## Using a Camunda Modeler plugin to generate meaningful ids

You can use [this modeler plugin community extension](https://github.com/camunda-community-hub/camunda-modeler-plugin-rename-technical-ids) to automatically convert your ids to comply with our best practices. Of course, you could also use this as a basis to create your own modeler plugin to generate ids that follow your custom naming conventions. Or, you could implement a similar plugin to implement checks if all relavant ids follow your naming conventions.
You can use [this modeler plugin community extension](https://github.com/camunda-community-hub/camunda-modeler-plugin-rename-technical-ids) to automatically convert your IDs to comply with our best practices. Of course, you could also use this as a basis to create your own modeler plugin to generate IDs that follow your custom naming conventions. Or, you could implement a similar plugin to implement checks if all relavant IDs follow your naming conventions.
4 changes: 2 additions & 2 deletions docs/components/concepts/messages.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ A message is not sent to a process instance directly. Instead, the message corre

![Message Correlation](assets/message-correlation.png)

A subscription is opened when a process instance awaits a message; for example, when entering a message catch event. The message name is defined either statically in the process (e.g. `Money collected`) or dynamically as an expression. The correlation key is defined dynamically as an expression (e.g. `= orderId`). The expressions are evaluated on activating the message catch event. The results of the evaluations are used as message name and as correlation key of the subscription (e.g. `"order-123"`).
A subscription is opened when a process instance awaits a message; for example, when entering a message catch event. The message name is defined either statically in the process (e.g. `Money collected`) or dynamically as an expression. The correlation key is defined dynamically as an expression (for example, `= orderId`). The expressions are evaluated on activating the message catch event. The results of the evaluations are used as message name and as correlation key of the subscription (e.g. `"order-123"`).

When a message is published and the message name and correlation key match to a subscription, the message is correlated to the corresponding process instance. If no proper subscription is opened, the message is discarded.

Expand Down Expand Up @@ -81,7 +81,7 @@ zbctl publish message "Money collected" --correlationKey "order-123" --messageId

By combining the principles of message correlation, message uniqueness, and message buffering, very different behaviors can be achieved. Please note that a message name is mandatory, so it is omitted from the table.

| Correlation key | Message Id | Time to live | Receiver type | Behavior |
| Correlation key | Message ID | Time to live | Receiver type | Behavior |
| --------------- | ---------- | ------------ | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| set | not set | set to 0 | Start event | A new instance is started if no instance with the correlation key set at start is active, see [single instance](./#single-instance). |
| set | not set | set to 0 | Intermediate event | The message is correlated if a matching subscription is active. |
Expand Down
4 changes: 2 additions & 2 deletions docs/components/console/manage-organization/external-sso.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ For Azure AD, you will need to provide:

- The domain used for the login email addresses
- The Microsoft Azure AD domain
- The generated client id
- The generated client ID
- The client secret value

To generate the client on your end, you will need to use the Camunda **Redirect URL** `https://weblogin.cloud.camunda.io/login/callback `. Ensure you attach the user permissions `Users > User.Read`.
Expand All @@ -43,7 +43,7 @@ Default organizations for external identity providers are only available for org

By setting up an external identity provider, it is possible to configure up to 10 default organizations. The following information must be added in the ticket so that the support team can configure the default organizations:

- Organization Id
- Organization ID
- Default organization roles

If a user logs in with the configured connection, the user is automatically assigned to these organizations with the corresponding roles.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ When the created process instance is completed, the call activity is left and th

## Defining the called process

A call activity must define the BPMN process id of the called process as `processId`.
A call activity must define the BPMN process ID of the called process as `processId`.

Usually, the `processId` is defined as a [static value](/components/concepts/expressions.md#expressions-vs-static-values) (e.g. `shipping-process`), but it can also be defined as [expression](/components/concepts/expressions.md) (e.g. `= "shipping-" + tenantId`). The expression is evaluated on activating the call activity and must result in a `string`.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Message events are events which reference a message; they are used to wait until

A process can have one or more message start events (besides other types of start events). Each of the message events must have a unique message name.

When a process is deployed, it creates a message subscription for each message start event. Message subscriptions of the previous version of the process (based on the BPMN process id) are closed.
When a process is deployed, it creates a message subscription for each message start event. Message subscriptions of the previous version of the process (based on the BPMN process ID) are closed.

### Message correlation

Expand Down
4 changes: 2 additions & 2 deletions docs/components/modeler/bpmn/signal-events/signal-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ Broadcasting a signal iterates over the available subscriptions. If the name of
name of the signal start event, the process instance is created.

Signal subscriptions only exist for the latest version of a process definition. Deploying a new version of the same
process (based on the BPMN process id) will delete the old signal subscription. A new subscription is opened for the
new deployed process definition. When the latest version of a process is deleted, the signal subscription is also deleted. If the previous version of the same process (based on the BPMN process id) contains a signal start event, a new subscription
process (based on the BPMN process ID) will delete the old signal subscription. A new subscription is opened for the
new deployed process definition. When the latest version of a process is deleted, the signal subscription is also deleted. If the previous version of the same process (based on the BPMN process ID) contains a signal start event, a new subscription
is opened for it.

## Signal intermediate catch events
Expand Down
2 changes: 1 addition & 1 deletion docs/components/modeler/bpmn/timer-events/timer-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Timer events are events triggered by a defined timer.

A process can have one or more timer start events (besides other types of start events). Each of the timer events must have either a time date or time cycle definition.

When a process is deployed, it schedules a timer for each timer start event. Scheduled timers of the previous version of the process (based on the BPMN process id) are canceled.
When a process is deployed, it schedules a timer for each timer start event. Scheduled timers of the previous version of the process (based on the BPMN process ID) are canceled.

When a timer is triggered, a new process instance is created and the corresponding timer start event is activated.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The events **Desktop Modeler** sends share a similar payload which usually (but

- **event name**: The name of the event triggered (e.g. `diagram:opened`)
- **application version**: The version of Desktop Modeler being used (e.g. Version 5.0.0)
- **editor id**: A randomly generated id assigned to your Desktop Modeler installation
- **editor id**: A randomly generated ID assigned to your Desktop Modeler installation

## Definition of events

Expand Down Expand Up @@ -106,7 +106,7 @@ Currently, these containers are:

The event supplies:

- The `parent` container id to locate the application section
- The `parent` container ID to locate the application section
- The button label or link text (generalized as label) for identification of what was specifically clicked
- A type to differentiate buttons, internal links, and external links
- The link target (optional for external links)
Expand Down
12 changes: 6 additions & 6 deletions docs/components/modeler/dmn/decision-literal-expression.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,20 +42,20 @@ attribute on the `decision` element.

![Decision Id](assets/decision-literal-expression/decision-id.png)

The id is the technical identifier of the decision. It is set in the `id`
The ID is the technical identifier of the decision. It is set in the `id`
attribute on the `decision` element.

Each decision should have an unique id when it is deployed to Camunda.
Each decision should have an unique ID when it is deployed to Camunda.

:::caution

The decision id may not contain any special characters or symbols (e.g. whitespace, dashes, etc.).
The decision ID may not contain any special characters or symbols (e.g. whitespace, dashes, etc.).

The decision id can be any alphanumeric string including the `_` symbol. For a combination of words, it's recommended to
The decision ID can be any alphanumeric string including the `_` symbol. For a combination of words, it's recommended to
use the `camelCase` or the `snake_case` format. The `kebab-case` format is not allowed because it contains the
operator `-`.

If the decision id contain a special character or symbol then the decision result can't be accessed in
If the decision ID contain a special character or symbol then the decision result can't be accessed in
a [dependent decision](decision-requirements-graph.md#required-decisions).

:::
Expand Down Expand Up @@ -116,7 +116,7 @@ a [dependent decision](decision-requirements-graph.md#required-decisions).

:::tip

It is recommended to use the decision id as the variable name.
It is recommended to use the decision ID as the variable name.

In contrast to decision tables, the result of a decision literal expression can be accessed in
a [dependent decision](decision-requirements-graph.md#required-decisions) by its variable name instead of its decision
Expand Down
12 changes: 6 additions & 6 deletions docs/components/modeler/dmn/decision-requirements-graph.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ The name describes the DRG. It is set as the `name` attribute on the `definition

![Decision Requirements Graph Id](assets/decision-requirements-graph/drg-id.png)

The id is the technical identifier of the DRG. It is set in the `id` attribute on the `definitions` element.
The ID is the technical identifier of the DRG. It is set in the `id` attribute on the `definitions` element.

Each DRG should have an unique id when it is deployed to Camunda.
Each DRG should have an unique ID when it is deployed to Camunda.

```xml

Expand All @@ -66,7 +66,7 @@ Each DRG should have an unique id when it is deployed to Camunda.
![Decision](assets/decision-requirements-graph/decision.png)

A decision requirements graph can have one or more decisions. A decision has a [name](decision-table.md#decision-name)
which is shown in the DRD and an [id](decision-table.md#decision-id). The decision logic inside the decision must be
which is shown in the DRD and an [ID](decision-table.md#decision-id). The decision logic inside the decision must be
either a [decision table](decision-table.md) or a [decision literal expression](decision-literal-expression.md).

A decision is represented by a `decision` element inside the `definitions` XML element.
Expand All @@ -89,15 +89,15 @@ A decision is represented by a `decision` element inside the `definitions` XML e
A decision can have one or more required decisions which it depends on.

A required decision is represented by a `requiredDecision` element inside an `informationRequirement` XML element. It
has a `href` attribute and the value starts with `#` followed by the [decision id](decision-table.md#decision-id) of the
has a `href` attribute and the value starts with `#` followed by the [decision ID](decision-table.md#decision-id) of the
required decision.

:::tip

The result of a required decision can be accessed in the dependent decision by its decision id.
The result of a required decision can be accessed in the dependent decision by its decision ID.

If the required decision is a decision table and has more than one output then the output values are grouped under the
decision id and can be accessed by their [output names](decision-table-output.md#output-name) (
decision ID and can be accessed by their [output names](decision-table-output.md#output-name) (
e.g. `decisionId.outputName`). The structure of the result depends on the decision
table [hit policy](decision-table-hit-policy.md).

Expand Down
4 changes: 2 additions & 2 deletions docs/components/modeler/dmn/decision-table-input.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ XML element.
</definitions>
```

## Input id
## Input ID

The input id is a unique identifier of the decision table input. It is used by Camunda to reference the
The input ID is a unique identifier of the decision table input. It is used by Camunda to reference the
input clause. Therefore, it is required. It is set as the `id` attribute of the `input` XML element.

```xml
Expand Down
6 changes: 3 additions & 3 deletions docs/components/modeler/dmn/decision-table-output.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ XML element.

```

## Output id
## Output ID

The output id is a unique identifier of the decision table output. It is used by Camunda to reference the
The output ID is a unique identifier of the decision table output. It is used by Camunda to reference the
output clause. Therefore, it is required. It is set as the `id` attribute of the `output` XML element.

```xml
Expand Down Expand Up @@ -75,7 +75,7 @@ a [dependent decision](decision-requirements-graph.md#required-decisions) nor in

:::tip

If the decision table has only one output then it is recommended that the [decision id](decision-table.md#decision-id)
If the decision table has only one output then it is recommended that the [decision ID](decision-table.md#decision-id)
is used as the output name.

The decision result can be accessed in a [dependent decision](decision-requirements-graph.md#required-decisions) by its
Expand Down
14 changes: 7 additions & 7 deletions docs/components/modeler/dmn/decision-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,25 +41,25 @@ attribute on the `decision` element. It can be changed via the Properties Panel
</decision>
```

## Decision id
## Decision ID

![Decision Id](assets/decision-table/decision-id.png)
![Decision ID](assets/decision-table/decision-id.png)

The id is the technical identifier of the decision. It is set in the `id`
The ID is the technical identifier of the decision. It is set in the `id`
attribute on the `decision` element. Just as the `name`, the `id` can be changed via the Properties Panel after
selecting the respective "Decision" in the Decision Requirements Diagram view.

Each decision should have an unique id when it is deployed to Camunda.
Each decision should have an unique ID when it is deployed to Camunda.

:::caution

The decision id may not contain any special characters or symbols (e.g. whitespace, dashes, etc.).
The decision ID may not contain any special characters or symbols (e.g. whitespace, dashes, etc.).

The decision id can be any alphanumeric string including the `_` symbol. For a combination of words, it's recommended to
The decision ID can be any alphanumeric string including the `_` symbol. For a combination of words, it's recommended to
use the `camelCase` or the `snake_case` format. The `kebab-case` format is not allowed because it contains the
operator `-`.

If the decision id contain a special character or symbol then the decision result can't be accessed in
If the decision ID contains a special character or symbol then the decision result can't be accessed in
a [dependent decision](decision-requirements-graph.md#required-decisions).

:::
Expand Down
2 changes: 1 addition & 1 deletion docs/components/modeler/dmn/dmn.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ description: "Camunda Desktop and Web Modeler both offer the same Modeling exper

Camunda Desktop and Web Modeler both offer the same Modeling experience for DMN 1.3 models: Modeling starts in the Decision Requirements Diagram (DRD) view. From there, you can add DMN elements from the palette on the left side by dragging and dropping them onto the diagram canvas.

Alternatively, you can add new elements by using the context menu that appears when you select an element in the diagram. Using the wrench icon in the context menu, you can change the type of an element in place. Use the properties panel on the right side to change the name or id of the DMN diagram.
Alternatively, you can add new elements by using the context menu that appears when you select an element in the diagram. Using the wrench icon in the context menu, you can change the type of an element in place. Use the properties panel on the right side to change the name or ID of the DMN diagram.

## Demo

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ date("2017-03-10")

### Time

A local or zoned time. The time can have an offset or time zone id.
A local or zoned time. The time can have an offset or time zone ID.

- Format: `HH:mm:ss` / `HH:mm:ss+/-HH:mm` / `HH:mm:ss@ZoneId`
- Java Type: `java.time.LocalTime` / `java.time.OffsetTime`
Expand All @@ -89,7 +89,7 @@ time("10:31:10@Europe/Paris")

### Date-time

A date with a local or zoned time component. The time can have an offset or time zone id.
A date with a local or zoned time component. The time can have an offset or time zone ID.

- Format: `yyyy-MM-dd'T'HH:mm:ss` / `yyyy-MM-dd'T'HH:mm:ss+/-HH:mm` / `yyyy-MM-dd'T'HH:mm:ss@ZoneId`
- Java Type: `java.time.LocalDateTime` / `java.time.DateTime`
Expand Down
Loading

0 comments on commit 2bd383d

Please sign in to comment.