diff --git a/docs/documentation/installation/operaton-bpm-run.md b/docs/documentation/installation/operaton-bpm-run.md
index 66091d1e..920cab11 100644
--- a/docs/documentation/installation/operaton-bpm-run.md
+++ b/docs/documentation/installation/operaton-bpm-run.md
@@ -24,7 +24,7 @@ java -version
If you need to install Java Runtime Environment, you can [find the download from Oracle here](https://www.oracle.com/java/technologies/javase-downloads.html).
## Installation Procedure
-1. Download the pre-packed distribution of [Operaton here](tbd).
+1. Download the pre-packed [Operaton Run distribution](https://github.com/operaton/operaton/releases/latest).
1. Unpack the distro to a directory.
1. Configure the distro as described in the [User Guide](../user-guide/operaton-bpm-run.md).
1. Start Operaton Run by executing the start script (start.bat for Windows, start.sh for Linux/Mac).
diff --git a/docs/documentation/introduction/implemented-standards.md b/docs/documentation/introduction/implemented-standards.md
index 7eb61e41..c344916c 100644
--- a/docs/documentation/introduction/implemented-standards.md
+++ b/docs/documentation/introduction/implemented-standards.md
@@ -21,8 +21,8 @@ Business Process Model and Notation (BPMN) is a standard for Workflow and Proces
Operaton supports the 2.0 version of BPMN.
* Getting started implementing BPMN Processes: [Quick Start (Java / JS)]
-* Getting to Know BPMN as a Modeling Language: [BPMN Modeling Tutorial]
-* Modeling BPMN: [BPMN Modeling Reference]
+* Getting to Know BPMN as a Modeling Language: [Quick Start (Java / JS)]
+* Modeling BPMN: [BPMN Implementation Reference]
* Tool for modeling BPMN: [BPMN Modeler][modelers]
* Implementing BPMN Processes: [BPMN Implementation Reference]
* Executing BPMN: [Process Engine]
@@ -49,13 +49,11 @@ Operaton supports the 1.1 version of DMN.
[OMG]: http://www.omg.org/
[modelers]: ../modeling-bpmn/index.md
-[BPMN Modeling Tutorial]: https://operaton.org/bpmn/tutorial/
-[BPMN Modeling Reference]: https://operaton.org/bpmn/reference/
-[Quick Start (Java / JS)]: /get-started/quick-start/
+[Quick Start (Java / JS)]: /docs/get-started/quick-start/
[BPMN Implementation Reference]: ../reference/bpmn20/index.md
[CMMN Implementation Reference]: ../reference/cmmn11/index.md
-[DMN Getting Started]: /get-started/dmn/
+[DMN Getting Started]: /docs/get-started/dmn/
[DMN Implementation Reference]: ../reference/dmn/index.md
-[DMN Modeling Tutorial]: https://operaton.org/dmn/tutorial/
+[DMN Modeling Tutorial]: /docs/get-started/dmn/
[Process Engine]: ../user-guide/process-engine/index.md
[DMN Engine]: ../user-guide/dmn-engine/index.md
diff --git a/docs/documentation/introduction/supported-environments.md b/docs/documentation/introduction/supported-environments.md
index aeb6ce06..04a2cb02 100644
--- a/docs/documentation/introduction/supported-environments.md
+++ b/docs/documentation/introduction/supported-environments.md
@@ -14,7 +14,7 @@ menu:
Run Operaton in every Java-runnable environment. Operaton is supported with our QA infrastructure in the following environments.
:::note[Supported Environments]
- Please note that the environments listed in this section depend on the version of Operaton. Please select the corresponding version of this documentation to see the environment that fits to your version of Operaton. e.g., [supported environments for version 7.15](http://docs.operaton.org/7.15/guides/user-guide/#introduction-supported-environments)
+ Please note that the environments listed in this section depend on the version of Operaton. Select the corresponding version of this documentation to see the environment that fits your Operaton version.
:::
diff --git a/docs/documentation/reference/bpmn20/events/bpmn/event-error.bpmn b/docs/documentation/reference/bpmn20/events/bpmn/event-error.bpmn
index 4a54776b..10bec9fd 100644
--- a/docs/documentation/reference/bpmn20/events/bpmn/event-error.bpmn
+++ b/docs/documentation/reference/bpmn20/events/bpmn/event-error.bpmn
@@ -28,7 +28,7 @@
-
+
@@ -86,4 +86,4 @@
-
\ No newline at end of file
+
diff --git a/docs/documentation/reference/bpmn20/events/cancel-and-compensation-events.md b/docs/documentation/reference/bpmn20/events/cancel-and-compensation-events.md
index f7b7c83e..e1fd4703 100644
--- a/docs/documentation/reference/bpmn20/events/cancel-and-compensation-events.md
+++ b/docs/documentation/reference/bpmn20/events/cancel-and-compensation-events.md
@@ -185,4 +185,4 @@ The XML representation of a compensation start event is the normal start event d
### Additional Resources
* [Transaction subprocess](../subprocesses/transaction-subprocess.md)
-* [Compensation Events](http://operaton.org/bpmn/reference.html#events-compensation) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Events](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/events/conditional-events.md b/docs/documentation/reference/bpmn20/events/conditional-events.md
index b7fbb352..c8676bf7 100644
--- a/docs/documentation/reference/bpmn20/events/conditional-events.md
+++ b/docs/documentation/reference/bpmn20/events/conditional-events.md
@@ -266,4 +266,4 @@ If a variable is set in the context of the `SubProcess` instance, then only the
## Additional Resources
-* [Conditional Events](http://operaton.org/bpmn/reference.html#events-conditional) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Events](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/events/error-events.md b/docs/documentation/reference/bpmn20/events/error-events.md
index 0ab4a957..b898c711 100644
--- a/docs/documentation/reference/bpmn20/events/error-events.md
+++ b/docs/documentation/reference/bpmn20/events/error-events.md
@@ -28,7 +28,7 @@ An error event definition references an error element. The following is an examp
```xml
-
+
@@ -67,7 +67,7 @@ The referencing error event definition must specify
@@ -192,7 +192,7 @@ A error boundary event is defined as a typical boundary event. As with the other
```xml
-
+
@@ -230,5 +230,5 @@ An error can be handled by the error start event in the event sub process and th
### Additional Resources
-* [Error Events](http://operaton.org/bpmn/reference.html#events-error) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Events](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
* [Incidents](../../../user-guide/process-engine/incidents.md) in the [User Guide](../../../user-guide/index.md)
diff --git a/docs/documentation/reference/bpmn20/events/signal-events.md b/docs/documentation/reference/bpmn20/events/signal-events.md
index 2d2af84b..7654ea88 100644
--- a/docs/documentation/reference/bpmn20/events/signal-events.md
+++ b/docs/documentation/reference/bpmn20/events/signal-events.md
@@ -313,4 +313,4 @@ The following extensions are supported for the Signal Intermediate and End Throw
## Additional Resources
-* [Signal Events](http://operaton.org/bpmn/reference.html#events-signal) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Events](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/events/terminate-event.md b/docs/documentation/reference/bpmn20/events/terminate-event.md
index f107ad59..f7a045e5 100644
--- a/docs/documentation/reference/bpmn20/events/terminate-event.md
+++ b/docs/documentation/reference/bpmn20/events/terminate-event.md
@@ -61,4 +61,4 @@ A terminate event is modeled as an end event with an additional definition eleme
### Additional Resources
-* [Terminate Events](http://operaton.org/bpmn/reference.html#events-termination) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Events](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/gateways/event-based-gateway.md b/docs/documentation/reference/bpmn20/gateways/event-based-gateway.md
index d222d36f..a4547e15 100644
--- a/docs/documentation/reference/bpmn20/gateways/event-based-gateway.md
+++ b/docs/documentation/reference/bpmn20/gateways/event-based-gateway.md
@@ -95,4 +95,4 @@ The corresponding xml looks like this:
## Additional Resources
-* [Event-based Gateways](http://operaton.org/bpmn/reference.html#gateways-event-based-gateways) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Gateways](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/gateways/exclusive-gateway.md b/docs/documentation/reference/bpmn20/gateways/exclusive-gateway.md
index 4ede68de..710bae9f 100644
--- a/docs/documentation/reference/bpmn20/gateways/exclusive-gateway.md
+++ b/docs/documentation/reference/bpmn20/gateways/exclusive-gateway.md
@@ -75,4 +75,4 @@ The XML representation of an exclusive gateway is straightforward: one line defi
## Additional Resources
* [Conditional and Default Sequence Flows](../gateways/sequence-flow.md)
-* [Exclusive Gateways](http://operaton.org/bpmn/reference.html#gateways-data-based-exclusive-gateways) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Gateways](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/gateways/inclusive-gateway.md b/docs/documentation/reference/bpmn20/gateways/inclusive-gateway.md
index 1c3c2501..c9704e18 100644
--- a/docs/documentation/reference/bpmn20/gateways/inclusive-gateway.md
+++ b/docs/documentation/reference/bpmn20/gateways/inclusive-gateway.md
@@ -162,5 +162,5 @@ The following examples show under which conditions an inclusive gateway will tri
## Additional Resources
-* [Inclusive Gateways](http://operaton.org/bpmn/reference.html#gateways-data-based-inclusive-gateways) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Gateways](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
* [Conditional and Default Sequence Flows](../gateways/sequence-flow.md)
diff --git a/docs/documentation/reference/bpmn20/gateways/parallel-gateway.md b/docs/documentation/reference/bpmn20/gateways/parallel-gateway.md
index c9a2dbaa..65f62269 100644
--- a/docs/documentation/reference/bpmn20/gateways/parallel-gateway.md
+++ b/docs/documentation/reference/bpmn20/gateways/parallel-gateway.md
@@ -118,4 +118,4 @@ Note that a parallel gateway does not need to be 'balanced' (i.e., a matching nu
## Additional Resources
-* [Parallel Gateways](http://operaton.org/bpmn/reference.html#gateways-parallel-gateways) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Gateways](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/index.md b/docs/documentation/reference/bpmn20/index.md
index 0d83cc3b..1ac39d8d 100644
--- a/docs/documentation/reference/bpmn20/index.md
+++ b/docs/documentation/reference/bpmn20/index.md
@@ -9,7 +9,7 @@ This page gives you an overview of the BPMN 2.0 elements and the current coverag
:::note[BPMN - Business Process Model and Notation]
If you are unfamiliar with BPMN 2.0, you might want to check out the
-BPMN Tutorial first.
+BPMN Quick Start first.
:::
## Coverage
@@ -181,8 +181,7 @@ In BPMN there are start events, intermediate events and end events. These three
:::note[Understanding BPMN Events]
To help understand the principle behavior of events in BPMN, we recommend to check the
-[Events: Basic Concepts](http://operaton.org/bpmn/reference.html#events-basic-concepts)
-chapter of the [BPMN Modeling Reference](http://operaton.org/bpmn/reference.html).
+[Events](./events/index.md) section of this BPMN 2.0 implementation reference.
:::
@@ -483,4 +482,4 @@ chapter of the [BPMN Modeling Reference](http://operaton.org/bpmn/reference.html
-
\ No newline at end of file
+
diff --git a/docs/documentation/reference/bpmn20/subprocesses/call-activity.md b/docs/documentation/reference/bpmn20/subprocesses/call-activity.md
index 80dc8ce6..20cc5e06 100644
--- a/docs/documentation/reference/bpmn20/subprocesses/call-activity.md
+++ b/docs/documentation/reference/bpmn20/subprocesses/call-activity.md
@@ -402,4 +402,4 @@ An expression also allows using the tenant id of the calling process instance in
## Additional Resources
-* [Call Activity](http://operaton.org/bpmn/reference.html#activities-call-activity) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Subprocesses](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/subprocesses/embedded-subprocess.md b/docs/documentation/reference/bpmn20/subprocesses/embedded-subprocess.md
index 74471167..d2d7ebea 100644
--- a/docs/documentation/reference/bpmn20/subprocesses/embedded-subprocess.md
+++ b/docs/documentation/reference/bpmn20/subprocesses/embedded-subprocess.md
@@ -79,4 +79,4 @@ A subprocess is defined by the subprocess element. All activities, gateways, eve
### Additional Resources
-* [Subprocesses](http://operaton.org/bpmn/reference.html#activities-subprocess) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Subprocesses](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/subprocesses/event-subprocess.md b/docs/documentation/reference/bpmn20/subprocesses/event-subprocess.md
index dad72e05..746c3155 100644
--- a/docs/documentation/reference/bpmn20/subprocesses/event-subprocess.md
+++ b/docs/documentation/reference/bpmn20/subprocesses/event-subprocess.md
@@ -101,4 +101,4 @@ These two differences can help you decide whether a boundary event or an embedde
## Additional Resources
-* [Event subprocess](http://operaton.org/bpmn/reference.html#activities-event-subprocess) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Subprocesses](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
diff --git a/docs/documentation/reference/bpmn20/tasks/business-rule-task.md b/docs/documentation/reference/bpmn20/tasks/business-rule-task.md
index fc1d0c65..57ca689e 100644
--- a/docs/documentation/reference/bpmn20/tasks/business-rule-task.md
+++ b/docs/documentation/reference/bpmn20/tasks/business-rule-task.md
@@ -202,5 +202,5 @@ In addition to the above, a Business Rule Task can be implemented via the [Exter
* [Decisions](../../../user-guide/process-engine/decisions/index.md)
* [Service Tasks](./service-task.md)
-* [Tasks](http://operaton.org/bpmn/reference.html#activities-task) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
-* [Demo using Drools on the Business Rule Task](https://github.com/operaton/operaton-consulting/tree/master/one-time-examples/order-confirmation-rules)
+* [Tasks](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
+* [DMN decision example](https://github.com/operaton/operaton-examples/tree/main/examples/dmn-decision)
diff --git a/docs/documentation/reference/bpmn20/tasks/receive-task.md b/docs/documentation/reference/bpmn20/tasks/receive-task.md
index 12a61a72..97ec6fbf 100644
--- a/docs/documentation/reference/bpmn20/tasks/receive-task.md
+++ b/docs/documentation/reference/bpmn20/tasks/receive-task.md
@@ -95,5 +95,5 @@ runtimeService.signal(execution.getId());
## Additional Resources
-* [Tasks](http://operaton.org/bpmn/reference.html#activities-task) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Tasks](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
* [Message Receive Events](../events/message-events.md)
diff --git a/docs/documentation/reference/bpmn20/tasks/service-task.md b/docs/documentation/reference/bpmn20/tasks/service-task.md
index ca29335b..6635d33b 100644
--- a/docs/documentation/reference/bpmn20/tasks/service-task.md
+++ b/docs/documentation/reference/bpmn20/tasks/service-task.md
@@ -163,5 +163,5 @@ To declare a Service Task to be handled externally, the attribute `operaton:type
## Additional Resources
-* [Tasks](http://operaton.org/bpmn/reference.html#activities-task) in the [BPMN Modeling Reference](http://operaton.org/bpmn/reference.html) section
+* [Tasks](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
* [How to call a Webservice from BPMN](http://www.bpm-guide.de/2010/12/09/how-to-call-a-webservice-from-bpmn/). Please note that this article is outdated. However, it is still valid regarding how you would call a Web Service using the process engine.
diff --git a/docs/documentation/reference/bpmn20/tasks/task-markers.md b/docs/documentation/reference/bpmn20/tasks/task-markers.md
index 0e8ab1e3..13e29f5c 100644
--- a/docs/documentation/reference/bpmn20/tasks/task-markers.md
+++ b/docs/documentation/reference/bpmn20/tasks/task-markers.md
@@ -204,5 +204,5 @@ To declare an activity to be a compensation handler, we need to set the attribut
## Additional Resources
-* [Tasks](http://operaton.org/bpmn/reference.html#activities-task) in the [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html)
+* [Tasks](./index.md) in the [BPMN 2.0 Implementation Reference](../index.md)
* [Transaction Subprocess](../subprocesses/transaction-subprocess.md)
diff --git a/docs/documentation/reference/deployment-descriptors/processes-xml.md b/docs/documentation/reference/deployment-descriptors/processes-xml.md
index dc352a65..81fc801d 100644
--- a/docs/documentation/reference/deployment-descriptors/processes-xml.md
+++ b/docs/documentation/reference/deployment-descriptors/processes-xml.md
@@ -24,7 +24,7 @@ The namespace for the processes.xml file is `http://www.operaton.org/schema/1.0/
## Empty processes.xml
-The `processes.xml` may be left blank (can be empty). In this case, default values are used. See the [Empty processes.xml](../../user-guide/process-applications/the-processes-xml-deployment-descriptor.md#empty-processesxml) section of the [User Guide](../../user-guide/index.md) for more details.
+The `processes.xml` may be left blank (can be empty). In this case, default values are used. See the [Empty processes.xml](../../user-guide/process-applications/the-processes-xml-deployment-descriptor.md#empty-processes-xml) section of the [User Guide](../../user-guide/index.md) for more details.
## Example
diff --git a/docs/documentation/reference/deployment-descriptors/tags/process-engine.mdx b/docs/documentation/reference/deployment-descriptors/tags/process-engine.mdx
index d03db0f9..ec7b0c45 100644
--- a/docs/documentation/reference/deployment-descriptors/tags/process-engine.mdx
+++ b/docs/documentation/reference/deployment-descriptors/tags/process-engine.mdx
@@ -5,6 +5,31 @@ sidebar_position: 50
---
+
+
The process engine configuration can be placed in both [processes.xml](../processes-xml.md) and the [bpm-platform.xml](../bpm-platform-xml.md) files. If the process engine is configured in either or both of those files, it will be bootstrapped by the Operaton infrastructure and be made available through `BpmPlatform.getProcessEngineService().getProcessEngine("name of process engine")`.
@@ -367,8 +392,8 @@ The following is a list with the most commonly used process engine configuration
-
-
enableXxeProcessing
+
+
enableXxeProcessing
Boolean
If set to true, enables XML eXternal Entity (XXE) Processing. When disabled, it provides protection against XXE Processing attacks.
@@ -844,7 +869,7 @@ The following is a list with the most commonly used process engine configuration
@@ -1221,8 +1246,8 @@ The following is a list with the most commonly used process engine configuration
in the User Guide.
-
-
historyTimeToLive
+
+
historyTimeToLive
String
Defines history time to live for process definitions and decision definitions if no other value is defined.
diff --git a/docs/documentation/reference/forms/embedded-forms/controls/bpmn-buttons.md b/docs/documentation/reference/forms/embedded-forms/controls/bpmn-buttons.md
index a4eb2d33..248ba812 100644
--- a/docs/documentation/reference/forms/embedded-forms/controls/bpmn-buttons.md
+++ b/docs/documentation/reference/forms/embedded-forms/controls/bpmn-buttons.md
@@ -10,7 +10,7 @@ menu:
---
-These buttons can be used to trigger error and escalation events in user tasks. They will submit all entered values and activate the corresponding boundary event. To learn more about error and escalation events, see our section about [events](https://docs.operaton.org/docs/documentation/reference/bpmn20/events/).
+These buttons can be used to trigger error and escalation events in user tasks. They will submit all entered values and activate the corresponding boundary event. To learn more about error and escalation events, see our section about [events](/docs/documentation/reference/bpmn20/events/).
## Error
@@ -30,4 +30,4 @@ In a similar manner to the error button, an escalation button can be bound to an
```html
-```
\ No newline at end of file
+```
diff --git a/docs/documentation/user-guide/model-api/bpmn-model-api/fluent-builder-api.md b/docs/documentation/user-guide/model-api/bpmn-model-api/fluent-builder-api.md
index ba368da3..9ff1d6cb 100644
--- a/docs/documentation/user-guide/model-api/bpmn-model-api/fluent-builder-api.md
+++ b/docs/documentation/user-guide/model-api/bpmn-model-api/fluent-builder-api.md
@@ -336,4 +336,4 @@ overlapping elements in the diagram.
Branches of gateways are placed one below the other. Auto layout is not provided, therefore the elements of different branches may overlap.
-[multi-instance]: ../../../../reference/bpmn20/tasks/task-markers/#multiple-instance
+[multi-instance]: ../../../reference/bpmn20/tasks/task-markers.md#multiple-instance
diff --git a/docs/documentation/user-guide/operaton-bpm-run.md b/docs/documentation/user-guide/operaton-bpm-run.md
index 3e110d8e..9ad2d079 100644
--- a/docs/documentation/user-guide/operaton-bpm-run.md
+++ b/docs/documentation/user-guide/operaton-bpm-run.md
@@ -9,7 +9,7 @@ This guide gives an introduction to Operaton Run, a pre-packaged, lightweight di
## Prerequisites and audience
-To use this guide, you should at least know what Operaton is and what it does. Check out the [Get Started guides](https://docs.operaton.org/get-started/quick-start/) if you have never used Operaton before. The [Installation guide](../installation/operaton-bpm-run.md) is also worth looking at if you are completely new to Operaton.
+To use this guide, you should at least know what Operaton is and what it does. Check out the [Get Started guides](/docs/get-started/quick-start/) if you have never used Operaton before. The [Installation guide](../installation/operaton-bpm-run.md) is also worth looking at if you are completely new to Operaton.
This guide will teach you about Operaton Run and how to configure it. It can serve as a reference page for configuration and operation options. It will not give you a step-by-step guide on how to install Operaton Run. Head over to the [Installation guide](../installation/operaton-bpm-run.md) for details on how to install and start Operaton Run.
@@ -26,7 +26,7 @@ Operaton Run is a full distribution of Operaton. It includes:
## Starting with Operaton Run
-To start with Operaton Run, download the [distribution](https://downloads.camunda.cloud/release/operaton-bpm/run/) and unpacking it. You will find the following structure:
+To start with Operaton Run, download the [distribution](https://github.com/operaton/operaton/releases/latest) and unpack it. You will find the following structure:
```
operaton-bpm-run
@@ -323,7 +323,7 @@ Operaton Run also supports configuration options for customizing the deployment.
When set to false, all deployments will be deployed without filtering their resources.
diff --git a/docs/documentation/user-guide/process-applications/the-processes-xml-deployment-descriptor.md b/docs/documentation/user-guide/process-applications/the-processes-xml-deployment-descriptor.md
index b2556c3d..1fb65bc0 100644
--- a/docs/documentation/user-guide/process-applications/the-processes-xml-deployment-descriptor.md
+++ b/docs/documentation/user-guide/process-applications/the-processes-xml-deployment-descriptor.md
@@ -37,7 +37,7 @@ A single deployment (process-archive) is declared. The process archive has the n
See [Deployment Descriptor Reference](../../reference/deployment-descriptors/processes-xml.md) for complete documentation of the syntax of the `processes.xml` file.
-## Empty processes.xml
+## Empty processes.xml {#empty-processes-xml}
The processes.xml may optionally be empty (left blank). In this case default values are used. The empty processes.xml corresponds to the following configuration:
diff --git a/docs/documentation/user-guide/process-engine/decisions/bpmn-cmmn.md b/docs/documentation/user-guide/process-engine/decisions/bpmn-cmmn.md
index 8f5a58ee..b7305ede 100644
--- a/docs/documentation/user-guide/process-engine/decisions/bpmn-cmmn.md
+++ b/docs/documentation/user-guide/process-engine/decisions/bpmn-cmmn.md
@@ -388,7 +388,7 @@ These APIs are **not** part of the [public API](../../../introduction/public-api
:::
It is possible to add own functions which can be used inside JUEL expressions.
-Therefore a new [FunctionMapper](org/operaton/bpm/engine/impl/javax/el/FunctionMapper.html) has to be implemented. The function mapper than
+Therefore a new [jakarta.el.FunctionMapper](https://jakarta.ee/specifications/expression-language/6.0/apidocs/jakarta.el/jakarta/el/functionmapper) has to be implemented. The function mapper then
has to be added to the process engine configuration after it was
initialized.
diff --git a/docs/documentation/user-guide/process-engine/decisions/history.md b/docs/documentation/user-guide/process-engine/decisions/history.md
index 9c805125..0a74eda1 100644
--- a/docs/documentation/user-guide/process-engine/decisions/history.md
+++ b/docs/documentation/user-guide/process-engine/decisions/history.md
@@ -143,7 +143,7 @@ reference].
### Historic Decision Input Instance
-The [HistoricDecisionInputInstance](org/operaton/bpm/engine/history/HistoricDecisionInputInstance) represents one input of an
+The [HistoricDecisionInputInstance](https://docs.operaton.org/reference/latest/javadoc/org/operaton/bpm/engine/history/HistoricDecisionInputInstance.html) represents one input of an
evaluated decision (e.g., an input clause of a decision table).
```java
@@ -168,7 +168,7 @@ input specifies a type.
### Historic Decision Output Instance
-The [HistoricDecisionOutputInstance](org/operaton/bpm/engine/history/HistoricDecisionOutputInstance) represents one output entry of an
+The [HistoricDecisionOutputInstance](https://docs.operaton.org/reference/latest/javadoc/org/operaton/bpm/engine/history/HistoricDecisionOutputInstance.html) represents one output entry of an
evaluated decision. If the decision is implemented as decision table, the
`HistoricDecisionInstance` contains one `HistoricDecisionOutputInstance`
for each output clause and matched rule.
diff --git a/docs/documentation/user-guide/process-engine/multi-tenancy.md b/docs/documentation/user-guide/process-engine/multi-tenancy.md
index 2d27bb76..91103279 100644
--- a/docs/documentation/user-guide/process-engine/multi-tenancy.md
+++ b/docs/documentation/user-guide/process-engine/multi-tenancy.md
@@ -485,7 +485,7 @@ If different tenants should work on entirely different databases, they have to u
For schema- or table-based isolation, a single data source can be used which means that resources like a connection pool can be shared among multiple engines.
To achieve this,
-* the configuration option [databaseTablePrefix](../../reference/deployment-descriptors/tags/process-engine.mdx#configuration-protperties) can be used to configure database access.
+* the configuration option [databaseTablePrefix](../../reference/deployment-descriptors/tags/process-engine.mdx#configuration-properties) can be used to configure database access.
* consider switching on the setting `useSharedSqlSessionFactory`. The setting controls whether each process engine instance should parse and maintain a local copy of the mybatis mapping files or whether a single, shared copy can be used. Since the mappings require a lot of heap (>30MB), it is recommended to switch this on. This way only one copy needs to be allocated.
:::warning[Considerations for useSharedSqlSessionFactory setting]
diff --git a/docs/documentation/user-guide/process-engine/password-hashing.md b/docs/documentation/user-guide/process-engine/password-hashing.md
index b5d84783..070c29b9 100644
--- a/docs/documentation/user-guide/process-engine/password-hashing.md
+++ b/docs/documentation/user-guide/process-engine/password-hashing.md
@@ -44,7 +44,7 @@ public class MyPasswordEncryptor implements PasswordEncryptor {
}
```
-Once this is done, you can use the process engine configuration to plug in the custom implementation by the setting the `passwordEncryptor` property to your custom implementation, e.g., `MyPasswordEncryptor`. See [Process Engine Bootstrapping](../process-engine-bootstrapping) on where you have to set the property for your Operaton environment.
+Once this is done, you can use the process engine configuration to plug in the custom implementation by the setting the `passwordEncryptor` property to your custom implementation, e.g., `MyPasswordEncryptor`. See [Process Engine Bootstrapping](./process-engine-bootstrapping.md) on where you have to set the property for your Operaton environment.
Note that, even if you have already users created with passwords hashed by other algorithms, e.g., old custom algorithms or the Operaton default hash algorithm `SHA-512`, they can still automatically be resolved by the engine although you have added your custom algorithm afterwards. The property `customPasswordChecker` is a list of hashing algorithms to be used to check (older) passwords. The Operaton default hashing algorithms are automatically added, so please only add your previous custom `passwordEncryptor` implementation to that list.
@@ -69,4 +69,4 @@ public class MyCustomSaltGenerator implements SaltGenerator {
}
```
-Once this is done, you can use the process engine configuration to plug in the custom implementation by the setting the `saltGenerator` property to your custom implementation, e.g., `MyCustomSaltGenerator`. See [Process Engine Bootstrapping](../process-engine-bootstrapping) on where you have to set the property for your Operaton environment.
+Once this is done, you can use the process engine configuration to plug in the custom implementation by the setting the `saltGenerator` property to your custom implementation, e.g., `MyCustomSaltGenerator`. See [Process Engine Bootstrapping](./process-engine-bootstrapping.md) on where you have to set the property for your Operaton environment.
diff --git a/docs/documentation/user-guide/process-engine/password-policy.md b/docs/documentation/user-guide/process-engine/password-policy.md
index 55e45ac5..7fd1f0a3 100644
--- a/docs/documentation/user-guide/process-engine/password-policy.md
+++ b/docs/documentation/user-guide/process-engine/password-policy.md
@@ -28,7 +28,7 @@ The built-in password policy requires all passwords to meet the following criter
## Customize the Password Policy
-You can use the process engine configuration to enable / disable the password policy or plug in a custom policy. See [Process Engine Bootstrapping](../process-engine-bootstrapping) on how to set properties for your Operaton environment.
+You can use the process engine configuration to enable / disable the password policy or plug in a custom policy. See [Process Engine Bootstrapping](./process-engine-bootstrapping.md) on how to set properties for your Operaton environment.
To enable or disable the password policy checks you need to set the `enablePasswordPolicy` property.
@@ -66,4 +66,4 @@ public class MyPasswordPolicyRule implements PasswordPolicyRule {
```
By providing a rule placeholder and parameters via `getPlaceholder` and `getParameters` a custom front end can display error messages based on the rules and their configuration. (e.g. "The password must at least have a length of X characters" with X being configurable and passed within the parameter map)
-A rules `execute` method checks if the entered password meets this rule or not. It is executed when trying to save a user.
\ No newline at end of file
+A rules `execute` method checks if the entered password meets this rule or not. It is executed when trying to save a user.
diff --git a/docs/documentation/user-guide/process-engine/process-diagram-api.md b/docs/documentation/user-guide/process-engine/process-diagram-api.md
index dd5cceb0..1f32010f 100644
--- a/docs/documentation/user-guide/process-engine/process-diagram-api.md
+++ b/docs/documentation/user-guide/process-engine/process-diagram-api.md
@@ -22,7 +22,7 @@ The previous JavaScript BPMN renderer can still be found at [operaton-bpmn.js](h
## bpmn.io Diagram Renderer
-To render a process diagram, you need to retrieve the diagram XML via the Java- or [REST API](../getProcessDefinitionBpmn20XmlByKey#Process-Definition). The following example shows how to render the process XML using bpmn.io. For more documentation regarding the annotation of the diagram and user interaction, please refer to the [bpmn.io](https://github.com/bpmn-io/bpmn-js) page.
+To render a process diagram, you need to retrieve the diagram XML via the Java- or [REST API](../../reference/rest/specification.md). The following example shows how to render the process XML using bpmn.io. For more documentation regarding the annotation of the diagram and user interaction, please refer to the [bpmn.io](https://github.com/bpmn-io/bpmn-js) page.
```javascript
var BpmnViewer = require('bpmn-js');
diff --git a/docs/documentation/user-guide/process-engine/process-engine-concepts.md b/docs/documentation/user-guide/process-engine/process-engine-concepts.md
index 5d3f6768..2c702a77 100644
--- a/docs/documentation/user-guide/process-engine/process-engine-concepts.md
+++ b/docs/documentation/user-guide/process-engine/process-engine-concepts.md
@@ -16,13 +16,13 @@ This section explains some core process engine concepts that are used in both th
## Process Definitions
-A process definition defines the structure of a process. You could say that the process definition *is* the process. Operaton uses [BPMN 2.0](http://operaton.org/bpmn/tutorial.html) as its primary modeling language for modeling process definitions.
+A process definition defines the structure of a process. You could say that the process definition *is* the process. Operaton uses [BPMN 2.0](../../reference/bpmn20/index.md) as its primary modeling language for modeling process definitions.
:::note[BPMN 2.0 Reference]
Operaton comes with two BPMN 2.0 References:
-* The [BPMN 2.0 Modeling Reference](http://operaton.org/bpmn/reference.html#!/reference) introduces the fundamentals of BPMN 2.0 and helps you to get started modeling processes. (Make sure to read the [Tutorial](http://operaton.org/bpmn/tutorial.html) as well.)
-* The [BPMN 2.0 Implementation Reference](../../reference/bpmn20/index.md) covers the implementation of the individual BPMN 2.0 constructs Operaton. You should consult this reference if you want to implement and execute BPMN processes.
+* The [BPMN 2.0 Quick Start](/docs/get-started/quick-start/) helps you get started modeling and running a process.
+* The [BPMN 2.0 Implementation Reference](../../reference/bpmn20/index.md) covers the implementation of the individual BPMN 2.0 constructs in Operaton. You should consult this reference if you want to implement and execute BPMN processes.
:::
diff --git a/docs/documentation/user-guide/runtime-container-integration/jboss.md b/docs/documentation/user-guide/runtime-container-integration/jboss.md
index 48793e3d..837c8b17 100644
--- a/docs/documentation/user-guide/runtime-container-integration/jboss.md
+++ b/docs/documentation/user-guide/runtime-container-integration/jboss.md
@@ -12,7 +12,7 @@ menu:
---
:::note[Installation Guide]
- If you [download a full distribution](http://operaton.org/download/), the Operaton WildFly subsystem is readily installed into the application server.
+ If you [download a full distribution](../../introduction/downloading-operaton.md), the Operaton WildFly subsystem is readily installed into the application server.
[Read the installation guide](../../installation/full/wildfly/index.md) to learn how to install the Operaton WildFly subsystem into your WildFly Server.
:::
diff --git a/docs/documentation/user-guide/security.md b/docs/documentation/user-guide/security.md
index 628af8da..b6673e29 100644
--- a/docs/documentation/user-guide/security.md
+++ b/docs/documentation/user-guide/security.md
@@ -10,7 +10,7 @@ menu:
---
-This page provides an overview of how to secure a Operaton installation. For Operaton's security policy, a list of security notices and a guide how to report vulnerabilities, please visit the [general security documentation](/security).
+This page provides an overview of how to secure a Operaton installation. For Operaton's security policy, a list of security notices and a guide how to report vulnerabilities, please visit the [general security documentation](/docs/security/).
In order to secure a Operaton installation, Operaton itself must be configured correctly and it must be integrated correctly into its environment. This section also identifies areas where we consider security issues to be relevant for the specific Operaton product and listed those in the subsequent sections. Compliance for those areas is ensured based on common industry best practices and influenced by security requirements of standards like OWASP Top 10 and others
@@ -24,7 +24,7 @@ There are different ways of using Operaton and different components are provided
* Web applications (Cockpit, Tasklist, ...): similar considerations to the REST API apply.
-Keep in mind that it is not recommended to use the pre-packaged distribution in production environment rather install the full distribution manually (for example [Tomcat manual installation](https://docs.operaton.org/docs/documentation/installation/full/tomcat/manual/)).
+Keep in mind that it is not recommended to use the pre-packaged distribution in production environment rather install the full distribution manually (for example [Tomcat manual installation](/docs/documentation/installation/full/tomcat/manual/)).
:::warning[Security Consideration]
The pre-packaged distribution is intended for users who want a getting started experience. In case
diff --git a/docs/documentation/user-guide/spring-boot-integration/configuration.mdx b/docs/documentation/user-guide/spring-boot-integration/configuration.mdx
index f7a6c5a9..7a1d3a33 100644
--- a/docs/documentation/user-guide/spring-boot-integration/configuration.mdx
+++ b/docs/documentation/user-guide/spring-boot-integration/configuration.mdx
@@ -5,6 +5,8 @@ sidebar_position: 20
---
+
+
The auto starter uses the `org.operaton.bpm.engine.impl.cfg.ProcessEnginePlugin` mechanism to configure the engine.
The configuration is divided into _sections_. These _sections_ are represented by the marker interfaces:
@@ -191,7 +193,7 @@ public class MyCustomConfiguration extends AbstractOperatonConfiguration {
## Operaton Engine Properties
In addition to the bean-based way of overriding process engine configuration properties, it is also possible
to set those properties via an application.yaml configuration file. Instructions on how to use it
-can be found in the Spring Boot Starter Guide.
+can be found in the Spring Boot Starter Guide.
The available properties are as follows:
diff --git a/docs/documentation/user-guide/spring-boot-integration/process-applications.md b/docs/documentation/user-guide/spring-boot-integration/process-applications.md
index f85345ae..ead8d596 100644
--- a/docs/documentation/user-guide/spring-boot-integration/process-applications.md
+++ b/docs/documentation/user-guide/spring-boot-integration/process-applications.md
@@ -28,7 +28,7 @@ public class MyApplication {
}
```
-Some configuration can be done via Spring Boot configuration parameters. Check [the list of currently available parameters](../spring-boot-integration/configuration.mdx#operaton-bpm-application).
+Some configuration can be done via Spring Boot configuration parameters. Check [the list of currently available parameters](../spring-boot-integration/configuration.mdx#operaton-engine-properties).
## Using Deployment Callbacks
@@ -46,4 +46,4 @@ public void onPostDeploy(PostDeployEvent event) {
public void onPreUndeploy(PreUndeployEvent event) {
...
}
-```
\ No newline at end of file
+```
diff --git a/docs/documentation/user-guide/testing/index.md b/docs/documentation/user-guide/testing/index.md
index 24eaae4e..68036d59 100644
--- a/docs/documentation/user-guide/testing/index.md
+++ b/docs/documentation/user-guide/testing/index.md
@@ -274,8 +274,8 @@ Also, you will have to add the AssertJ library to your dependencies. Make sure t
```
-If Operaton Assert is used in combination with [Spring Boot](https://spring.io/projects/spring-boot) or the
-[Operaton Spring Boot Starter](https://docs.operaton.org/docs/documentation/user-guide/spring-boot-integration/),
+If Operaton Assert is used in combination with [Spring Boot](https://spring.io/projects/spring-boot) or the
+[Operaton Spring Boot Starter](/docs/documentation/user-guide/spring-boot-integration/),
the AssertJ dependency will be present in your project already.
### Assertions Version Compatibility
diff --git a/docs/documentation/webapps/admin/auditing.md b/docs/documentation/webapps/admin/auditing.md
index 44dc560b..5137ca1d 100644
--- a/docs/documentation/webapps/admin/auditing.md
+++ b/docs/documentation/webapps/admin/auditing.md
@@ -32,5 +32,5 @@ To only display Operations performed by a specific User, click in the Search fie
You can filter the results by a timespan in which the operation occurred. Click in the Search field and select `Timestamp` from the dropdown. By clicking on the operator, you can select if you want to see results `before` or `after` the specified time.
### Operations of a specific Entity
-If you are only interested in operations concerning Authorizations, you can use the `Entity Type` filter. For a complete list of logged operations, check out [History and Audit Event Log](/user-guide/process-engine/history/#glossary-of-operations-logged-in-the-user-operation-log).
+If you are only interested in operations concerning Authorizations, you can use the `Entity Type` filter. For a complete list of logged operations, check out [History and Audit Event Log](../../user-guide/process-engine/history/user-operation-log.md#glossary-of-operations-logged-in-the-user-operation-log).
Filter by Type
diff --git a/docs/documentation/webapps/cockpit/auditing.md b/docs/documentation/webapps/cockpit/auditing.md
index 5e600941..3efed0bc 100644
--- a/docs/documentation/webapps/cockpit/auditing.md
+++ b/docs/documentation/webapps/cockpit/auditing.md
@@ -30,7 +30,7 @@ You can limit Results the time the operation occurred. Click in the Search field
Filter by Timestamp
### Operations of a specific Type
-If you are only interested in a specific operation, for example, every time a process instance was manually modified, you can use the `operation` filter. Select the desired operation from the dropdown or start to type the name to filter through the list. For a complete list of logged operations, check out [History and Audit Event Log](/user-guide/process-engine/history/#glossary-of-operations-logged-in-the-user-operation-log).
+If you are only interested in a specific operation, for example, every time a process instance was manually modified, you can use the `operation` filter. Select the desired operation from the dropdown or start to type the name to filter through the list. For a complete list of logged operations, check out [History and Audit Event Log](../../user-guide/process-engine/history/user-operation-log.md#glossary-of-operations-logged-in-the-user-operation-log).
Filter by Type
### Annotating Operation Logs
@@ -41,4 +41,4 @@ For each operation, an annotation can be added to provide context. To do this, c
## User Operation Log per Process
Batch View Page
-Every Process Instance offers a User Operations table. It displays all User Operation affecting the particular process. The table can be found in both the process definition and instance history views.
\ No newline at end of file
+Every Process Instance offers a User Operations table. It displays all User Operation affecting the particular process. The table can be found in both the process definition and instance history views.
diff --git a/docs/documentation/webapps/cockpit/bpmn/process-definition-view.md b/docs/documentation/webapps/cockpit/bpmn/process-definition-view.md
index 3c88ec28..faa1117b 100644
--- a/docs/documentation/webapps/cockpit/bpmn/process-definition-view.md
+++ b/docs/documentation/webapps/cockpit/bpmn/process-definition-view.md
@@ -24,12 +24,12 @@ Click on the name to display the process in the process definition view.
Please note that a filter called Parent is automatically set for the process so that you only see the instances that belong to the parent process.
In the *Activity* column you can select the instance that is calling the child process.
-The `Job Definitions` tab displays the job definitions that are linked to this process definition. Observe the name of the activity, the type of job, the configuration and the state thereof. You can also suspend and re-activate the job definition (see [Job Definition Suspension][job-definition-suspension] for more information). It is also possible to [set the priority of jobs](../bpmn/process-definition-view.md#set-job-priority).
+The `Job Definitions` tab displays the job definitions that are linked to this process definition. Observe the name of the activity, the type of job, the configuration and the state thereof. You can also suspend and re-activate the job definition (see [Job Definition Suspension][job-definition-suspension] for more information). It is also possible to [set the priority of jobs](./process-definition-view.md#set-job-priority).
-[call-activity-navigation]: ../bpmn/process-definition-view.md#call-activity-navigation
-[failed-activities]: ../bpmn/failed-jobs.md
-[process-instance-view]: ../bpmn/process-instance-view.md
-[job-definition-suspension]: ../bpmn/suspension.md#job-definition-suspension
+[call-activity-navigation]: ./process-definition-view.md#call-activity-navigation
+[failed-activities]: ./failed-jobs.md
+[process-instance-view]: ./process-instance-view.md
+[job-definition-suspension]: ./suspension.md#job-definition-suspension
## Filter
@@ -108,7 +108,7 @@ Add a filter for process instances by filtering for already completed or still r
Add a filter for process instances by end date. Please note that the date must be set in accordance to the [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) standard and that this option is only available in the [process definition history view][process-definition-history-view]. Again choose between `before` and `after` to filter for instances that were ended before or after the given date. For example, click on `before` to obtain the selection..
-[process-definition-history-view]: ../bpmn/process-history-views.md#process-definition-history-view
+[process-definition-history-view]: #history-view
## Delete Multiple Running Process Instances
@@ -164,4 +164,4 @@ For more drill down options on call activities you can check out the [process in
and the [process history views][process-history-views].
-[process-history-views]: ../bpmn/process-history-views.md
\ No newline at end of file
+[process-history-views]: #history-view
diff --git a/docs/documentation/webapps/cockpit/extend/plugins.md b/docs/documentation/webapps/cockpit/extend/plugins.md
index 2d3ac2f0..3dcf283d 100644
--- a/docs/documentation/webapps/cockpit/extend/plugins.md
+++ b/docs/documentation/webapps/cockpit/extend/plugins.md
@@ -12,7 +12,7 @@ menu:
---
:::note[Plugin Compatibility]
-Please note that we updated the frontend plugin interface with Operaton Runtime 7.14. Plugins written for Operaton Runtime 7.13 and earlier might no longer work with Operaton Runtime 7.14. Checkout the [update guide](../update/minor/713-to-714) for more details.
+Please note that we updated the frontend plugin interface with Operaton Runtime 7.14. Plugins written for Operaton Runtime 7.13 and earlier might no longer work with Operaton Runtime 7.14.
:::
Cockpit defines a plugin concept to add own functionality without being forced to extend or hack the Cockpit web application. You can add plugins at various plugin points, e.g., the processes dashboard as shown in the following example:
@@ -117,7 +117,7 @@ This file can also be included standalone as a [custom script](../../cockpit/ext
The second argument contains API endpoints and CSRF cookie information, as well as constants like a `processDefinitionId`. The `api` key is always present and contains
* `engine`: the engine name
* `CSRFToken`: the current CSRF token for your requests
- * `baseApi`, `adminApi`, `cockpitApi`, `engineApi`: The paths to different API endpoints. The engineApi corresponds to the [Rest Api](../reference/rest)
+ * `baseApi`, `adminApi`, `cockpitApi`, `engineApi`: The paths to different API endpoints. The engineApi corresponds to the [Rest API](../../../reference/rest/index.md)
The details of which data is passed into the plugin can be found at the [plugin point reference](#plugin-points).
* `result`: Function, only available in data plugins. Argument is a (`Promise`).
@@ -157,7 +157,7 @@ Plugins created for Operaton.13 or earlier can be included for compatibility. To
Please note that all Plugins with this prefix will be included using the 7.13 plugin mechanism. You cannot create new Plugins with IDs starting with `legacy`.
-For more details about legacy Plugins, check out the legacy [Plugin documentation](https://docs.operaton.org/docs/documentation/webapps/cockpit/extend/plugins/). Please note that this link will take you to the documentation of Operaton.
+For more details about legacy Plugins, see the plugin points below.
## Plugin points
diff --git a/docs/documentation/webapps/tasklist/task-lifecycle.md b/docs/documentation/webapps/tasklist/task-lifecycle.md
index f7a933f7..de549131 100644
--- a/docs/documentation/webapps/tasklist/task-lifecycle.md
+++ b/docs/documentation/webapps/tasklist/task-lifecycle.md
@@ -11,6 +11,6 @@ menu:
---
-The diagram below shows the task lifecycle and supported transitions supported by Operaton. To get to know how to programmatically work with the lifecycle in your application, refer to the [Java-API Reference](org/operaton/bpm/engine/impl/TaskServiceImpl.html).
+The diagram below shows the task lifecycle and supported transitions supported by Operaton. To get to know how to programmatically work with the lifecycle in your application, refer to the [Java-API Reference](https://docs.operaton.org/reference/latest/javadoc/org/operaton/bpm/engine/impl/TaskServiceImpl.html).
User Task States
diff --git a/docs/get-started/apache-maven.md b/docs/get-started/apache-maven.md
index 2f5b2079..67838d39 100644
--- a/docs/get-started/apache-maven.md
+++ b/docs/get-started/apache-maven.md
@@ -74,7 +74,7 @@ The `operaton-engine` Spring integration for Spring Framework 6:
```
-## Operaton DMN Engine BOM (Bill of Materials)
+## Operaton DMN Engine BOM (Bill of Materials) {#operaton-dmn-engine-bom}
This BOM allows to use the DMN engine standalone without the BPMN engine and the rest of the Operaton Platform.
```xml
@@ -113,6 +113,6 @@ It is not needed when using `operaton-engine` because that already contains the
* [DMN Engine](/docs/documentation/user-guide/dmn-engine/embed/#maven-coordinates)
* [Operaton Spin](/docs/documentation/reference/spin)
-* [Operaton Connect](/docs/documentation/reference/connect/#maven-coordinates)
+* [Operaton Connect](/docs/documentation/reference/connect/)
* [Templating Engines](/docs/documentation/user-guide/process-engine/templating/#install-a-template-engine-for-an-embedded-process-engine)
* [Spring Boot Integration](/docs/documentation/user-guide/spring-boot-integration/)
diff --git a/docs/get-started/archive/java-process-app/forms.md b/docs/get-started/archive/java-process-app/forms.md
index 390c79e2..7a373d6b 100644
--- a/docs/get-started/archive/java-process-app/forms.md
+++ b/docs/get-started/archive/java-process-app/forms.md
@@ -71,7 +71,7 @@ Adjust the `META-INF/processes.xml` deployment descriptor file by adding the for
## Re-Build and Deploy
-When you are done, save all resources, [perform a Maven build](../deploy/#build-the-web-application-with-maven) and [redeploy](../deploy/#deploy-to-apache-tomcat) the process application.
+When you are done, save all resources, [perform a Maven build](./deploy.md#build-the-web-application-with-maven) and [redeploy](./deploy.md#deploy-to-apache-tomcat) the process application.
:::note[Maven]
Before selecting the pom.xml in the Package Explorer of Eclipse and performing a right-click and select Run As / Maven Install, it is best practice to perform a right-click and select Run As / Maven Clean to make sure all resources are replaced with their newest version.
diff --git a/docs/get-started/archive/java-process-app/service-task.md b/docs/get-started/archive/java-process-app/service-task.md
index 57a543d3..7fe4fa0a 100644
--- a/docs/get-started/archive/java-process-app/service-task.md
+++ b/docs/get-started/archive/java-process-app/service-task.md
@@ -54,7 +54,7 @@ Use the properties view to reference the service task in the process (see screen

-Save the process model and update it in Eclipse. [Build](../deploy/#build-the-web-application-with-maven), [deploy](../deploy/#deploy-to-apache-tomcat) and [execute](../forms/#re-build-and-deploy) the process application. After completing the *Approve Loan* step, check the logfile of the Apache Tomcat server:
+Save the process model and update it in Eclipse. [Build](./deploy.md#build-the-web-application-with-maven), [deploy](./deploy.md#deploy-to-apache-tomcat) and [execute](./forms.md#re-build-and-deploy) the process application. After completing the *Approve Loan* step, check the logfile of the Apache Tomcat server:
INFO org.operaton.bpm.getstarted.loanapproval.ProcessRequestDelegate.execute
diff --git a/docs/get-started/archive/javaee7/complete-process.md b/docs/get-started/archive/javaee7/complete-process.md
index 2be9d3d3..91947774 100644
--- a/docs/get-started/archive/javaee7/complete-process.md
+++ b/docs/get-started/archive/javaee7/complete-process.md
@@ -59,7 +59,7 @@ A new conversation is started again before the view is rendered and the task is
Open the process with Camunda Modeler. Click on the prepare pizza user task. In the properties view, set the `Form Key` property to `app:preparepizza.jsf`.
-When you are done, save all resources, [perform a Maven build](../deploy/#build-the-process-application), and [redeploy](../deploy/#deploy-to-wildfly) the process application.
+When you are done, save all resources, [perform a Maven build](./deploy.md#build-the-process-application), and [redeploy](./deploy.md#deploy-to-wildfly) the process application.
### Add Send Rejection Email Service Task
@@ -100,9 +100,9 @@ public class OrderBusinessLogic {
Open the process with Camunda Modeler. Click on the reject email service task. In the properties view, set the `Expression` property to `${orderBusinessLogic.rejectOrder(execution)}`.
-When you are done, save all resources, [perform a Maven build](../deploy/#build-the-process-application) and [redeploy](../deploy/#deploy-to-wildfly) the process application. You can now approve and reject an order in [Tasklist](http://localhost:8080/operaton/app/tasklist). The output of the `Send Rejection Email` task can be checked by looking into the logfile of the WildFly server. It should state that a rejection email has been sent:
+When you are done, save all resources, [perform a Maven build](./deploy.md#build-the-process-application) and [redeploy](./deploy.md#deploy-to-wildfly) the process application. You can now approve and reject an order in [Tasklist](http://localhost:8080/operaton/app/tasklist). The output of the `Send Rejection Email` task can be checked by looking into the logfile of the WildFly server. It should state that a rejection email has been sent:
Sending Email:
Dear asdf, your order 2 of a Margarita pizza has been rejected.
-
\ No newline at end of file
+
diff --git a/docs/get-started/archive/javaee7/service-task.md b/docs/get-started/archive/javaee7/service-task.md
index 9799f5e3..7988d487 100644
--- a/docs/get-started/archive/javaee7/service-task.md
+++ b/docs/get-started/archive/javaee7/service-task.md
@@ -167,7 +167,7 @@ public class OrderBusinessLogic {
Use the properties view of the Persist Service Task in the process (see screenshot). You need to enter `${orderBusinessLogic.persistOrder(execution)}` as the `Expression` property. This will call the `persistOrder` method of the named EJB with the current execution as parameter.
-[Build](../deploy/#build-the-process-application), [deploy](../deploy/#deploy-to-wildfly) and start the process `Order Pizza` in [Tasklist](http://localhost:8080/operaton/app/tasklist). Fill out the emerging form. Now the *Persist Order* step should have been completed automatically. Check that by looking into the logfile of the WildFly server. It will show an entry for the new order entity:
+[Build](./deploy.md#build-the-process-application), [deploy](./deploy.md#deploy-to-wildfly) and start the process `Order Pizza` in [Tasklist](http://localhost:8080/operaton/app/tasklist). Fill out the emerging form. Now the *Persist Order* step should have been completed automatically. Check that by looking into the logfile of the WildFly server. It will show an entry for the new order entity:
INFO [stdout] Hibernate: insert into OrderEntity (address, approved, customer, pizza, version, id) values (?, ?, ?, ?, ?, ?)
diff --git a/docs/get-started/archive/javaee7/task-form.md b/docs/get-started/archive/javaee7/task-form.md
index 8e49b6a8..1184ef55 100644
--- a/docs/get-started/archive/javaee7/task-form.md
+++ b/docs/get-started/archive/javaee7/task-form.md
@@ -174,4 +174,4 @@ Open the process with the modeler. Click on the *Approve Order* user task. In th
Open the process with the modeler. In the properties view, set the `Condition` property of the conditional sequence flows after the exclusive gateway to `${orderBusinessLogic.getOrder(orderId).approved}` respectively `${not orderBusinessLogic.getOrder(orderId).approved}`.
-When you are done, save all resources, [perform a Maven build](../deploy/#build-the-process-application), and [redeploy](../deploy/#deploy-to-wildfly) the process application. Start the process `Order Pizza` in [Tasklist](http://localhost:8080/operaton/app/tasklist). Fill out the emerging form. Select the `All Tasks` element on the left side of Tasklist. An `Approve Order` task should then be listed in the tasklist. Go to the task and press on Claim. Now you can approve the pizza order.
\ No newline at end of file
+When you are done, save all resources, [perform a Maven build](./deploy.md#build-the-process-application), and [redeploy](./deploy.md#deploy-to-wildfly) the process application. Start the process `Order Pizza` in [Tasklist](http://localhost:8080/operaton/app/tasklist). Fill out the emerging form. Select the `All Tasks` element on the left side of Tasklist. An `Approve Order` task should then be listed in the tasklist. Go to the task and press on Claim. Now you can approve the pizza order.
diff --git a/docs/get-started/dmn/deploy.md b/docs/get-started/dmn/deploy.md
index a6cb411e..34cf2e5c 100644
--- a/docs/get-started/dmn/deploy.md
+++ b/docs/get-started/dmn/deploy.md
@@ -103,8 +103,8 @@ Congratulations, you have now successfully set up a project with your first DMN
Next,
-* see how you can evaluate the decision using the [REST API](/docs/documentation/reference/rest/decision-definition/post-evaluate/),
+* see how you can evaluate the decision using the [REST API](/docs/documentation/reference/rest/specification),
* learn more about DMN by reading the [DMN Reference](/docs/documentation/reference/dmn/),
* learn more about the [Decision API exposed by Operaton Process Engine](/docs/documentation/user-guide/process-engine/decisions/),
* check how you can invoke the decision from a [BPMN Business Rule Task](/docs/documentation/reference/bpmn20/tasks/business-rule-task/),
-* Bonus Step: [Decision Requirements Graph](../drg)
+* Bonus Step: [Decision Requirements Graph](./drg.md)
diff --git a/docs/get-started/dmn/model.md b/docs/get-started/dmn/model.md
index 88c9b3f4..cd2fa639 100644
--- a/docs/get-started/dmn/model.md
+++ b/docs/get-started/dmn/model.md
@@ -98,4 +98,4 @@ Return to Eclipse. Right-click the project folder and click *Refresh*. This sync
For Eclipse to automatically synchronize the workspace with the filesystem, consider [configuring auto-sync in eclipse][auto-sync].
-[auto-sync]: /docs/documentation/modeler/tips/#eclipse-project-synchronization
+[auto-sync]: https://docs.camunda.io/docs/components/modeler/desktop-modeler/sync-project/
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index 2c782fec..64a1ca04 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -25,10 +25,11 @@ const config: Config = {
organizationName: 'Operaton', // Usually your GitHub org/user name.
projectName: 'Operaton', // Usually your repo name.
- onBrokenLinks: 'warn', //'throw',
+ onBrokenLinks: 'throw',
+ onBrokenAnchors: 'throw',
markdown: {
hooks: {
- onBrokenMarkdownLinks: 'warn',//'throw'
+ onBrokenMarkdownLinks: 'throw'
}
},
diff --git a/src/plugins/rehype-register-custom-ids.js b/src/plugins/rehype-register-custom-ids.js
index 8f44ef6b..dad048c9 100644
--- a/src/plugins/rehype-register-custom-ids.js
+++ b/src/plugins/rehype-register-custom-ids.js
@@ -2,12 +2,21 @@ export default function rehypeRegisterCustomIds() {
return (tree, file) => {
const anchors = new Set(file.data.anchors || []);
+ function getMdxJsxId(node) {
+ return node.attributes?.find(
+ (attribute) => attribute.type === 'mdxJsxAttribute' && attribute.name === 'id',
+ )?.value;
+ }
+
function visit(node) {
if (node && typeof node === 'object') {
- // Wenn das Element eine id besitzt, füge sie der Ankerliste hinzu
if (node.type === 'element' && node.properties?.id) {
anchors.add(node.properties.id);
- // console.log('Found ID:', node.properties.id, 'in file:', file.path);
+ }
+
+ const mdxJsxId = getMdxJsxId(node);
+ if (typeof mdxJsxId === 'string') {
+ anchors.add(mdxJsxId);
}
if (Array.isArray(node.children)) {
node.children.forEach(visit);
@@ -17,7 +26,6 @@ export default function rehypeRegisterCustomIds() {
visit(tree);
- // Docusaurus liest file.data.anchors zur Validierung ein
file.data.anchors = Array.from(anchors);
};
-}
\ No newline at end of file
+}
diff --git a/src/plugins/remark-bpmn-diagram.js b/src/plugins/remark-bpmn-diagram.js
index 369ed50b..6ad43c98 100644
--- a/src/plugins/remark-bpmn-diagram.js
+++ b/src/plugins/remark-bpmn-diagram.js
@@ -10,14 +10,9 @@ import { visit } from 'unist-util-visit';
import path from 'path';
export default function remarkBpmnDiagram() {
- console.log('[remark-bpmn] Plugin loaded!');
-
return (tree, file) => {
const filePath = file.history?.[0] || 'unknown';
- console.log(`[remark-bpmn] Processing file: ${filePath}`);
-
- let transformCount = 0;
-
+
visit(tree, (node) => {
let bpmnPath = null;
@@ -30,7 +25,6 @@ export default function remarkBpmnDiagram() {
);
if (attr && attr.value) {
- console.log(`[remark-bpmn] Found JSX div with data-bpmn-diagram: "${attr.value}"`);
bpmnPath = processPath(attr.value, filePath);
}
}
@@ -39,15 +33,11 @@ export default function remarkBpmnDiagram() {
if (node.type === 'html' && node.value?.includes('data-bpmn-diagram')) {
const match = node.value.match(/data-bpmn-diagram\s*=\s*["']([^"']+)["']/i);
if (match) {
- console.log(`[remark-bpmn] Found HTML with data-bpmn-diagram: "${match[1]}"`);
bpmnPath = processPath(match[1], filePath);
}
}
if (bpmnPath) {
- transformCount++;
- console.log(`[remark-bpmn] Transforming to: `);
-
node.type = 'mdxJsxFlowElement';
node.name = 'BpmnViewer';
node.attributes = [
@@ -60,8 +50,6 @@ export default function remarkBpmnDiagram() {
node.children = [];
}
});
-
- console.log(`[remark-bpmn] File complete. Transforms: ${transformCount}`);
};
}
@@ -95,12 +83,9 @@ function processPath(relativePath, fullFilePath) {
}
}
- console.log(`[remark-bpmn] Doc relative path: ${docRelativePath}`);
-
// Get the directory of the markdown file (relative to docs/)
const fileDir = path.posix.dirname(docRelativePath);
- console.log(`[remark-bpmn] File directory: ${fileDir}`);
-
+
// Resolve the relative BPMN path against the file's directory
// Example: fileDir = "documentation/reference/bpmn20/events"
// relativePath = "../bpmn/event-error"
@@ -116,8 +101,6 @@ function processPath(relativePath, fullFilePath) {
resolvedPath = path.posix.normalize(joined);
}
- console.log(`[remark-bpmn] Resolved path: ${resolvedPath}`);
-
// Add .bpmn extension if not present
if (!resolvedPath.endsWith('.bpmn')) {
resolvedPath += '.bpmn';
@@ -128,8 +111,5 @@ function processPath(relativePath, fullFilePath) {
resolvedPath = resolvedPath.substring(2);
}
- const finalPath = `/bpmn/${resolvedPath}`;
- console.log(`[remark-bpmn] Final path: ${finalPath}`);
-
- return finalPath;
-}
\ No newline at end of file
+ return `/bpmn/${resolvedPath}`;
+}
diff --git a/src/theme/MDXComponents.js b/src/theme/MDXComponents.js
index 2421820e..a6eab02c 100644
--- a/src/theme/MDXComponents.js
+++ b/src/theme/MDXComponents.js
@@ -8,14 +8,46 @@
*/
import React from 'react';
import MDXComponents from '@theme-original/MDXComponents';
+import useBrokenLinks from '@docusaurus/useBrokenLinks';
+import {useAnchorTargetClassName} from '@docusaurus/theme-common';
+import clsx from 'clsx';
import BpmnViewer from '@site/src/components/BpmnViewer';
+function AnchorAwareElement({as: Component, id, className, ...props}) {
+ const brokenLinks = useBrokenLinks();
+ const anchorTargetClassName = useAnchorTargetClassName(id);
+
+ if (id) {
+ brokenLinks.collectAnchor(id);
+ }
+
+ return (
+
+ );
+}
+
+function RegisterAnchors({ids = []}) {
+ const brokenLinks = useBrokenLinks();
+
+ ids.forEach((id) => brokenLinks.collectAnchor(id));
+
+ return null;
+}
+
export default {
// Spread the default components
...MDXComponents,
// Add custom components that can be used in any MDX file without importing
BpmnViewer,
+ RegisterAnchors,
+ tr: (props) => ,
+ td: (props) => ,
+ th: (props) => ,
// You can also add aliases for convenience
// 'bpmn-viewer': BpmnViewer,