From d2bc9a612e1e085357825f181648f15b4a70d667 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 10:49:24 +0200 Subject: [PATCH 01/25] Update external support links --- .../documentation/introduction/third-party-libraries/index.md | 4 ++-- .../user-guide/process-engine/diagnostics-data.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/documentation/introduction/third-party-libraries/index.md b/docs/documentation/introduction/third-party-libraries/index.md index bcbbb981..a1d98656 100644 --- a/docs/documentation/introduction/third-party-libraries/index.md +++ b/docs/documentation/introduction/third-party-libraries/index.md @@ -21,6 +21,6 @@ For legal reference and any other license-related aspects please refer to [Licen ### XLTS for AngularJS -Starting with versions 7.18.0-alpha2, 7.17.2, 7.16.9, 7.15.15, the Operaton web applications use a set of third-party libraries referred to as *XLTS for AngularJS* (technical names: `angular`, `angular-animate`, `angular-cookies`, `angular-loader`, `angular-mocks`, `angular-resource`, `angular-route`, `angular-sanitize`, `angular-touch`). XLTS for AngularJS follows a proprietary license called *EULA for the downstream recipient of XLTS for AngularJS* (short *XLTS for AngularJS – EULA*) that you can find [here](https://xlts.dev/angularjs/downstream-eula). +Starting with versions 7.18.0-alpha2, 7.17.2, 7.16.9, 7.15.15, the Operaton web applications use a set of third-party libraries referred to as *XLTS for AngularJS* (technical names: `angular`, `angular-animate`, `angular-cookies`, `angular-loader`, `angular-mocks`, `angular-resource`, `angular-route`, `angular-sanitize`, `angular-touch`). XLTS for AngularJS is provided by HeroDevs; see the [XLTS for AngularJS](https://www.xlts.dev/angularjs) page for current product and licensing information. -This license imposes restrictions around distributing and reverse-engineering XLTS for AngularJS independently of Operaton artifacts. The license does otherwise not restrict how you can use and distribute the Operaton artifacts that include XLTS for AngularJS. You can find our rationale for using this library in [our blog post on ensuring the long-term maintenance of Operaton](https://camunda.com/blog/2022/02/ensuring-continuous-support-of-angularjs-in-operaton-platform-7-17/). +The XLTS for AngularJS license imposes restrictions around distributing and reverse-engineering XLTS for AngularJS independently of Operaton artifacts. The license does otherwise not restrict how you can use and distribute the Operaton artifacts that include XLTS for AngularJS. diff --git a/docs/documentation/user-guide/process-engine/diagnostics-data.md b/docs/documentation/user-guide/process-engine/diagnostics-data.md index 93094d8b..4e28e038 100644 --- a/docs/documentation/user-guide/process-engine/diagnostics-data.md +++ b/docs/documentation/user-guide/process-engine/diagnostics-data.md @@ -11,7 +11,7 @@ menu: --- Diagnostics data is constantly collected and can be collected only by you. This allows you to access the collected data through the Java and REST APIs of Operaton. -Being able to easily access the collected data is helpful when asking for help in our [forum](https://forum.operaton.org/) or when opening issues in our [issue tracker](https://app.camunda.com/jira) as it contains many of the information that are usually necessary to understand your Operaton setup. +Being able to easily access the collected data is helpful when asking for help in our [forum](https://forum.operaton.org/) or when opening issues in our [issue tracker](https://github.com/operaton/operaton/issues), as it contains much of the information that is usually necessary to understand your Operaton setup. ## How to access the data From 1b4ca4933525eab7654e6f16e5836c424fb1342c Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 12:03:44 +0200 Subject: [PATCH 02/25] Use canonical Camunda job executor blog URL --- docs/documentation/user-guide/logging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/user-guide/logging.md b/docs/documentation/user-guide/logging.md index 7775e83a..6ef59e9c 100644 --- a/docs/documentation/user-guide/logging.md +++ b/docs/documentation/user-guide/logging.md @@ -341,7 +341,7 @@ The server log will contain logs similar to: 25-Nov-2019 15:45:27.706 FINE [Thread-6] o.c.c.l.BaseLogger.logDebug ENGINE-13006 Finishing command -------------------- AcquireJobsCmd ---------------------- ``` -Find more information for Diagnosing the Job Executor in this blog post - [The Job Executor: What Is Going on in My Process Engine?](https://blog.camunda.com/post/2019/10/job-executor-what-is-going-on-in-my-process-engine/). +Find more information for Diagnosing the Job Executor in this blog post - [The Job Executor: What Is Going on in My Process Engine?](https://camunda.com/blog/2019/10/job-executor-what-is-going-on-in-my-process-engine/). #### Diagnosing Deadlocks From 55924a4798d256f760579308159cf7f3e446958e Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 12:24:44 +0200 Subject: [PATCH 03/25] Update OWASP security references --- docs/documentation/user-guide/security.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/documentation/user-guide/security.md b/docs/documentation/user-guide/security.md index 628af8da..c67c5ee6 100644 --- a/docs/documentation/user-guide/security.md +++ b/docs/documentation/user-guide/security.md @@ -207,8 +207,8 @@ standard. Since version 7.11, a [built-in password policy](../user-guide/process-engine/password-policy.md#built-in-password-policy) can be enabled that requires passwords to follow specific rules. However, you can achieve a much higher level of security by implementing a more sophisticated custom password policy (e.g., with the help of -[Password Topology Blacklisting] (https://blog.korelogic.com/blog/2014/04/04/pathwell_topologies), -also see the [OWASP guide] (https://github.com/OWASP/CheatSheetSeries/blob/7d94e9a29174b8fd76235ca60f47245d1f34df1e/cheatsheets/Authentication_Cheat_Sheet.md#password-complexity) +[Password Topology Blacklisting](https://blog.korelogic.com/blog/2014/04/04/pathwell_topologies), +also see the [OWASP guide](https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html#password-complexity) on password complexity). You can find more information on how to enable the base password policy and how to implement a custom password policy in our [User Guide](../user-guide/process-engine/password-policy.md). @@ -287,7 +287,7 @@ about the several headers, the defaults and how to configure the HTTP headers ac Process variables can be submitted as Java objects using the JDK built-in `application/x-java-serialized-object` data format, JSON or XML along with a Java class name via the Operaton REST API and web applications. On server side, they can then be deserialized into Java objects, so that Java code can work with them in a native way. See [Operaton Spin](../user-guide/data-formats/configuring-spin-integration.md) for details and this restref page="putLocalExecutionVariable" text="REST API endpoint" tag="Execution for an example. -If an attacker can access these endpoints, they can exploit so-called _serialization gadgets_, i.e. classes that run vulnerable code during deserialization resulting in remote code execution in the general case. For example, consider a class constructor that makes a REST request based on a field value. An attacker could submit a forged variable value so that during deserialization, when the constructor is called, the application server would make an arbitrary REST request to a destination of the attacker's choice. For details, see [OWASP's description of Deserialization of untrusted data](https://www.owasp.org/index.php/Deserialization_of_untrusted_data). +If an attacker can access these endpoints, they can exploit so-called _serialization gadgets_, i.e. classes that run vulnerable code during deserialization resulting in remote code execution in the general case. For example, consider a class constructor that makes a REST request based on a field value. An attacker could submit a forged variable value so that during deserialization, when the constructor is called, the application server would make an arbitrary REST request to a destination of the attacker's choice. For details, see [OWASP's description of Deserialization of untrusted data](https://owasp.org/www-community/vulnerabilities/Deserialization_of_untrusted_data). ### Java objects using the JDK built-in `application/x-java-serialized-object` data format @@ -376,7 +376,7 @@ When it comes to error handling, from a security perspective, the top goal is to from obtaining technical details about the system, which for example, a stack trace could reveal (see OWASP's [Improper Error Handling article] for more information). -[Improper Error Handling article]: https://www.owasp.org/index.php/Improper_Error_Handling +[Improper Error Handling article]: https://owasp.org/www-community/Improper_Error_Handling In this section, we describe what we do to prevent disclosing technical details about the system. From 2215df0c513914fb2016bbc65a4212fa477bc348 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 12:36:28 +0200 Subject: [PATCH 04/25] Remove XLTS AngularJS license section --- .../introduction/third-party-libraries/index.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/docs/documentation/introduction/third-party-libraries/index.md b/docs/documentation/introduction/third-party-libraries/index.md index a1d98656..ed41ee77 100644 --- a/docs/documentation/introduction/third-party-libraries/index.md +++ b/docs/documentation/introduction/third-party-libraries/index.md @@ -15,12 +15,3 @@ This section covers third party libraries and their use in Operaton. It provides For selected third-party libraries that we consider especially noteworthy, this page describes their license terms and use in the Operaton artifacts. For legal reference and any other license-related aspects please refer to [Licences](../licenses.md). - - -## Web Applications (Cockpit, Tasklist, Admin) - -### XLTS for AngularJS - -Starting with versions 7.18.0-alpha2, 7.17.2, 7.16.9, 7.15.15, the Operaton web applications use a set of third-party libraries referred to as *XLTS for AngularJS* (technical names: `angular`, `angular-animate`, `angular-cookies`, `angular-loader`, `angular-mocks`, `angular-resource`, `angular-route`, `angular-sanitize`, `angular-touch`). XLTS for AngularJS is provided by HeroDevs; see the [XLTS for AngularJS](https://www.xlts.dev/angularjs) page for current product and licensing information. - -The XLTS for AngularJS license imposes restrictions around distributing and reverse-engineering XLTS for AngularJS independently of Operaton artifacts. The license does otherwise not restrict how you can use and distribute the Operaton artifacts that include XLTS for AngularJS. From 76395829e3734b4e8bb626a4a617c25d9a4a34c2 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 12:36:39 +0200 Subject: [PATCH 05/25] Use canonical Red Hat security link --- docs/documentation/user-guide/security.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/user-guide/security.md b/docs/documentation/user-guide/security.md index c67c5ee6..d64aadfb 100644 --- a/docs/documentation/user-guide/security.md +++ b/docs/documentation/user-guide/security.md @@ -412,8 +412,8 @@ Please find below external documentation on how to configure your application se * [Servlet Container Configuration](https://docs.jboss.org/author/display/WFLY/Undertow%20subsystem%20configuration.html#108626010_Undertowsubsystemconfiguration-Servletcontainerconfiguration) * [Model Reference](https://wildscribe.github.io/WildFly/12.0/subsystem/undertow/servlet-container/index.html#attr-stack-trace-on-error) * JBoss EAP 7.0+: Official Documentation - * [Servlet Container Configuration](https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/configuration_guide/reference_material#idm139812627222560) - * [Model Refernce](https://wildscribe.github.io/JBoss%20EAP/7.0/subsystem/undertow/servlet-container/index.html#attr-stack-trace-on-error) + * [Servlet Container Configuration](https://docs.redhat.com/en/documentation/red_hat_jboss_enterprise_application_platform/7.0/html/configuration_guide/reference_material) + * [Model Reference](https://wildscribe.github.io/JBoss%20EAP/7.0/subsystem/undertow/servlet-container/index.html#attr-stack-trace-on-error) * Operaton Run/Spring Boot 2.3+ * Official Documentation * [Javadocs about ErrorProperties.IncludeStacktrace](https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/api/org/springframework/boot/autoconfigure/web/ErrorProperties.IncludeStacktrace.html) From 47783653e711f01ae326d4e78e581f74e863a2e4 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 12:51:14 +0200 Subject: [PATCH 06/25] Use HTTPS logging framework links --- docs/documentation/user-guide/logging.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/documentation/user-guide/logging.md b/docs/documentation/user-guide/logging.md index 6ef59e9c..c74d08a6 100644 --- a/docs/documentation/user-guide/logging.md +++ b/docs/documentation/user-guide/logging.md @@ -121,7 +121,7 @@ An example using Logback could look as follows ``` By adding the `context:[%X]` to your configuration, all values that are present in the MDC at the time the log statement is created will be displayed. -Please refer to the manual of your logging framework for further information on how to access the MDC, e.g. the [Logback documentation](http://logback.qos.ch/manual/layouts.html#mdc). +Please refer to the manual of your logging framework for further information on how to access the MDC, e.g. the [Logback documentation](https://logback.qos.ch/manual/layouts.html#mdc). ## Logging Categories @@ -398,7 +398,7 @@ List of modules still using Java Util Logging: * operaton-engine-rest * Wildfly Subsystems -[slf4j]: http://www.slf4j.org/ -[log4j]: http://logging.apache.org/log4j/ -[logback]: http://logback.qos.ch/ -[slf4j-backends]: http://www.slf4j.org/manual.html#projectDep +[slf4j]: https://www.slf4j.org/ +[log4j]: https://logging.apache.org/log4j/2.x/ +[logback]: https://logback.qos.ch/ +[slf4j-backends]: https://www.slf4j.org/manual.html#projectDep From 415f756d12059f5d44c8cf73fa8a15fe6e2a031e Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 13:50:07 +0200 Subject: [PATCH 07/25] Update stale Operaton repository links --- docs/documentation/installation/full/tomcat/manual.md | 4 ++-- docs/documentation/user-guide/process-engine/templating.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/documentation/installation/full/tomcat/manual.md b/docs/documentation/installation/full/tomcat/manual.md index 1e52e9bd..13d2e868 100644 --- a/docs/documentation/installation/full/tomcat/manual.md +++ b/docs/documentation/installation/full/tomcat/manual.md @@ -30,8 +30,8 @@ The above workaround is not guaranteed to work for cases with bean references be The following test scenarios fail on Tomcat 10: -* [CallActivityContextSwitchTest](https://github.com/operaton/operaton-bpm-platform/blob/f37877b822dabcbf3cee5806bd5833d18cdcb543/qa/integration-tests-engine/src/test/java/org/operaton/bpm/integrationtest/functional/context/CallActivityContextSwitchTest.java) -* [CdiBeanCallActivityResolutionTest](https://github.com/operaton/operaton-bpm-platform/blob/f37877b822dabcbf3cee5806bd5833d18cdcb543/qa/integration-tests-engine/src/test/java/org/operaton/bpm/integrationtest/functional/cdi/CdiBeanCallActivityResolutionTest.java) +* [CallActivityContextSwitchTest](https://github.com/operaton/operaton/blob/main/qa/integration-tests-engine/src/test/java/org/operaton/bpm/integrationtest/functional/context/CallActivityContextSwitchTest.java) +* [CdiBeanCallActivityResolutionTest](https://github.com/operaton/operaton/blob/main/qa/integration-tests-engine/src/test/java/org/operaton/bpm/integrationtest/functional/cdi/CdiBeanCallActivityResolutionTest.java) ::: diff --git a/docs/documentation/user-guide/process-engine/templating.md b/docs/documentation/user-guide/process-engine/templating.md index f68b1a3d..26c66c9b 100644 --- a/docs/documentation/user-guide/process-engine/templating.md +++ b/docs/documentation/user-guide/process-engine/templating.md @@ -20,7 +20,7 @@ box: * [FreeMarker][freemarker] The script engine Freemarker wrapper implementation can be found in the -[operaton-bpmn-platform](https://github.com/operaton/operaton/tree/master/freemarker-template-engine) repository. +[Operaton repository](https://github.com/operaton/operaton/tree/main/freemarker-template-engine). The following template engines are provided as optional community extensions: From a1084ec7b883aaeec286f37fc7af18c568e92c0c Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 13:54:43 +0200 Subject: [PATCH 08/25] Use main branch for Operaton repository links --- docs/documentation/user-guide/logging.md | 2 +- docs/documentation/user-guide/process-engine/connectors.md | 2 +- .../user-guide/process-engine/diagnostics-data.md | 2 +- docs/documentation/webapps/admin/plugins.md | 2 +- docs/documentation/webapps/tasklist/tasklist-plugins.md | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/documentation/user-guide/logging.md b/docs/documentation/user-guide/logging.md index c74d08a6..b3d42ab3 100644 --- a/docs/documentation/user-guide/logging.md +++ b/docs/documentation/user-guide/logging.md @@ -309,7 +309,7 @@ Here is an example of how the server log will look like: 25-Nov-2019 15:17:17.076 FINE [thread-2] o.a.i.l.j.BaseJdbcLogger.debug ==> Parameters: 2(Integer), Dev-Department(String), DEV(String), development(String), 1(Integer) ``` -To enable the logging for a specific database entity, please provide the namespace of the MyBatis mapper ([all mappers](https://github.com/operaton/operaton/tree/master/engine/src/main/resources/org/operaton/bpm/engine/impl/mapping/entity)). Usually it is the full class name of that entity, e.g.: +To enable the logging for a specific database entity, please provide the namespace of the MyBatis mapper ([all mappers](https://github.com/operaton/operaton/tree/main/engine/src/main/resources/org/operaton/bpm/engine/impl/mapping/entity)). Usually it is the full class name of that entity, e.g.: * `org.operaton.bpm.engine.impl.batch.BatchEntity` * `org.operaton.bpm.engine.impl.persistence.entity.JobEntity` diff --git a/docs/documentation/user-guide/process-engine/connectors.md b/docs/documentation/user-guide/process-engine/connectors.md index a15e565c..02c13e3b 100644 --- a/docs/documentation/user-guide/process-engine/connectors.md +++ b/docs/documentation/user-guide/process-engine/connectors.md @@ -11,7 +11,7 @@ menu: --- -With the dependency [operaton-connect](https://github.com/operaton/operaton/tree/master/connect), the process engine supports simple +With the dependency [operaton-connect](https://github.com/operaton/operaton/tree/main/connect), the process engine supports simple connectors. Currently the following connector implementations exist: diff --git a/docs/documentation/user-guide/process-engine/diagnostics-data.md b/docs/documentation/user-guide/process-engine/diagnostics-data.md index 4e28e038..fa4d9033 100644 --- a/docs/documentation/user-guide/process-engine/diagnostics-data.md +++ b/docs/documentation/user-guide/process-engine/diagnostics-data.md @@ -116,4 +116,4 @@ The counts are collected from the start of the engine or the last reported time ## Source code -In case you want further details, you can have a look at the implementation of the diagnostics topic in [our codebase](https://github.com/operaton/operaton/blob/master/engine/src/main/java/org/operaton/bpm/engine/impl/diagnostics/DiagnosticsCollector.java). The link leads you to the current `master` version of the feature. +In case you want further details, you can have a look at the implementation of the diagnostics topic in [our codebase](https://github.com/operaton/operaton/blob/main/engine/src/main/java/org/operaton/bpm/engine/impl/diagnostics/DiagnosticsCollector.java). The link leads you to the current `main` version of the feature. diff --git a/docs/documentation/webapps/admin/plugins.md b/docs/documentation/webapps/admin/plugins.md index 092579ec..4397b903 100644 --- a/docs/documentation/webapps/admin/plugins.md +++ b/docs/documentation/webapps/admin/plugins.md @@ -57,4 +57,4 @@ properties: { } ``` -You can find examples of [Admin dashboard plugins here](https://github.com/operaton/operaton/tree/master/webapps/frontend/ui/admin/plugins/base/app/views/dashboard). +You can find examples of [Admin dashboard plugins here](https://github.com/operaton/operaton/tree/main/webapps/frontend/ui/admin/plugins/base/app/views/dashboard). diff --git a/docs/documentation/webapps/tasklist/tasklist-plugins.md b/docs/documentation/webapps/tasklist/tasklist-plugins.md index 281b246d..ba653693 100644 --- a/docs/documentation/webapps/tasklist/tasklist-plugins.md +++ b/docs/documentation/webapps/tasklist/tasklist-plugins.md @@ -94,5 +94,5 @@ var ViewConfig = [ 'ViewsProvider', function(ViewsProvider) { For more information on creating and configuring your own plugin, please have a look at the following examples: -* [How to build the server side](https://github.com/operaton/operaton/tree/master/webapps/assembly/src/main/java/org/operaton/bpm/tasklist/impl/plugin) -* [How to build the client side](https://github.com/operaton/operaton/tree/master/webapps/frontend/ui/tasklist/plugins/standaloneTask/app) +* [How to build the server side](https://github.com/operaton/operaton/tree/main/webapps/assembly/src/main/java/org/operaton/bpm/tasklist/impl/plugin) +* [How to build the client side](https://github.com/operaton/operaton/tree/main/webapps/frontend/ui/tasklist/plugins/standaloneTask/app) From deb687581ac5132b2c8fcc3f1871bda2627aff0e Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 14:05:04 +0200 Subject: [PATCH 09/25] Update Operaton example repository links --- docs/documentation/examples/index.md | 2 +- .../installation/full/wildfly/manual.md | 1 - .../embedded-forms/integrate/full-examples.md | 5 ++--- .../user-guide/ext-client/spring-boot-starter.md | 2 +- .../bpmn-model-api/fluent-builder-api.md | 2 +- .../documentation/user-guide/operaton-bpm-run.md | 2 +- .../user-guide/process-engine/connectors.md | 4 ++-- .../history/custom-implementation.md | 3 --- .../user-guide/process-engine/multi-tenancy.md | 16 ++-------------- .../process-engine/process-diagram-api.md | 2 +- .../user-guide/process-engine/templating.md | 5 ----- .../runtime-container-integration/jboss.md | 2 +- .../user-guide/task-forms/jsf-task-forms.md | 2 -- .../webapps/cockpit/extend/configuration.md | 6 +----- .../webapps/cockpit/extend/plugins.md | 6 ------ .../webapps/tasklist/configuration.md | 4 ---- docs/get-started/dmn/index.md | 2 +- 17 files changed, 14 insertions(+), 52 deletions(-) diff --git a/docs/documentation/examples/index.md b/docs/documentation/examples/index.md index 9db00e6d..df6a4d5c 100644 --- a/docs/documentation/examples/index.md +++ b/docs/documentation/examples/index.md @@ -9,4 +9,4 @@ Completed the [Getting Started Guides](../../get-started/index.md)? Now discover This page collects links to hands-on examples around Operaton. -* [Examples](https://github.com/operaton/operaton-bpm-examples) (on GitHub) +* [Operaton Examples](https://github.com/operaton/operaton-examples) (on GitHub) diff --git a/docs/documentation/installation/full/wildfly/manual.md b/docs/documentation/installation/full/wildfly/manual.md index 8688898c..fff4730d 100644 --- a/docs/documentation/installation/full/wildfly/manual.md +++ b/docs/documentation/installation/full/wildfly/manual.md @@ -260,7 +260,6 @@ See one of the following ways to fix this: 2. Exclude implicitly added JAX-RS dependencies. * Add a `jboss-deployment-structure.xml` file to you application in the WEB-INF folder. * Exclude the JAX-RS subsystem and add the Jackson dependencies, with the version which is used by the Operaton Spin Plugin. - * This solution is also shown in the [Jackson Annotation Example for WildFly](https://github.com/operaton/operaton-bpm-examples/blob/master/wildfly/jackson-annotations) in the Operaton example repository. See this [Forum Post](https://forum.operaton.org/t/operaton-json-marshalling-and-jsonignore/271/19) for other approaches and information. diff --git a/docs/documentation/reference/forms/embedded-forms/integrate/full-examples.md b/docs/documentation/reference/forms/embedded-forms/integrate/full-examples.md index 0ad918e8..381ebc75 100644 --- a/docs/documentation/reference/forms/embedded-forms/integrate/full-examples.md +++ b/docs/documentation/reference/forms/embedded-forms/integrate/full-examples.md @@ -10,7 +10,6 @@ menu: --- -Full examples of how to integrate the Forms SDK in a custom application can be found in the [Operaton Examples Repository](https://github.com/operaton/operaton-bpm-examples) on GitHub. +Current form examples are maintained in the [Operaton Examples Repository](https://github.com/operaton/operaton-examples) on GitHub. -* [Example for standalone usage of the SDK](https://github.com/operaton/operaton-bpm-examples/tree/master/sdk-js/browser-forms) -* [Example for standalone usage of the SDK with AngularJS Integration](https://github.com/operaton/operaton-bpm-examples/tree/master/sdk-js/browser-forms-angular) +* [User task forms example](https://github.com/operaton/operaton-examples/tree/main/examples/user-task-forms) diff --git a/docs/documentation/user-guide/ext-client/spring-boot-starter.md b/docs/documentation/user-guide/ext-client/spring-boot-starter.md index 5d9be4c3..8b208be3 100644 --- a/docs/documentation/user-guide/ext-client/spring-boot-starter.md +++ b/docs/documentation/user-guide/ext-client/spring-boot-starter.md @@ -16,7 +16,7 @@ your `pom.xml` file: ``` -Please check out our [External Task Client Spring Boot Starter Examples](https://github.com/operaton/operaton-bpm-examples/tree/{{}}#external-task-client-spring-boot). +Please check out the current [external task worker example](https://github.com/operaton/operaton-examples/tree/main/examples/external-task-worker). The Client can subscribe to one or more topic names that are defined in your BPMN process model. When the execution waits in an External Task, the Client executes your custom business logic. 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..f7da63f7 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 @@ -11,7 +11,7 @@ menu: --- To create simple BPMN processes we provide a fluent builder API. With this API you can easily create basic -processes in a few lines of code. In the [generate process fluent api](https://github.com/operaton/operaton-bpm-examples/tree/master/bpmn-model-api/generate-process-fluent-api) quickstart we +processes in a few lines of code. In the [generate process fluent API](https://github.com/operaton/operaton-examples/tree/main/examples/bpmn-model-api-generate) quickstart we demonstrate how to create a rather complex process with 5 tasks and 2 gateways within less than 50 lines of code. The fluent builder API is not nearly complete but provides you with the following basic elements: diff --git a/docs/documentation/user-guide/operaton-bpm-run.md b/docs/documentation/user-guide/operaton-bpm-run.md index 3e110d8e..fdee4789 100644 --- a/docs/documentation/user-guide/operaton-bpm-run.md +++ b/docs/documentation/user-guide/operaton-bpm-run.md @@ -176,7 +176,7 @@ Deployments via the restref page="createDeployment" text="REST API" tag="Deploym Just like all the other distros, you can tailor Operaton Run to your needs. To do this, you only have to edit one of the [configuration files](#choose-between-default-and-production-configuration) that you can find in the configuration folder. :::note[Note:] -Operaton Run is based on the [Operaton Spring Boot Starter](https://github.com/operaton/operaton/tree/master/spring-boot-starter). +Operaton Run is based on the [Operaton Spring Boot Starter](https://github.com/operaton/operaton/tree/main/spring-boot-starter). All [configuration properties](spring-boot-integration/configuration.mdx#operaton-engine-properties) from the operaton-spring-boot-starter are available to customize Operaton Run. ::: diff --git a/docs/documentation/user-guide/process-engine/connectors.md b/docs/documentation/user-guide/process-engine/connectors.md index 02c13e3b..0e720e92 100644 --- a/docs/documentation/user-guide/process-engine/connectors.md +++ b/docs/documentation/user-guide/process-engine/connectors.md @@ -126,7 +126,7 @@ This artifact contains the HTTP and SOAP connectors as well as their dependencie To use a connector, you have to add the Operaton extension element [connector](../../reference/bpmn20/custom-extensions/extension-elements.md#connector). The connector is configured by a unique [connectorId](../../reference/bpmn20/custom-extensions/extension-elements.md#connectorid), which specifies the used connector implementation. The ids of the currently supported connectors can be found at the beginning of this section. Additionally, an [input/output mapping](../process-engine/variables.md#inputoutput-variable-mapping) is used to configure the connector. The required input parameters and the available output parameters depend on the connector implementation. Additional input parameters can also be provided to be used within the connector. -As an example, a shortened configuration of the Operaton SOAP connector implementation is shown. A complete [example](https://github.com/operaton/operaton-bpm-examples/tree/master/servicetask/soap-service) can be found in the [Operaton examples repository](https://github.com/operaton/operaton-bpm-examples) on GitHub. +As an example, a shortened configuration of the Operaton SOAP connector implementation is shown. A current [connector example](https://github.com/operaton/operaton-examples/tree/main/examples/integration-connectors) can be found in the Operaton examples repository on GitHub. ```xml @@ -155,4 +155,4 @@ As an example, a shortened configuration of the Operaton SOAP connector implemen ``` -A full [example](https://github.com/operaton/operaton-bpm-examples/tree/master/servicetask/rest-service) of the REST connector can also be found in the [Operaton examples repository](https://github.com/operaton/operaton-bpm-examples) on GitHub. +A current [connector example](https://github.com/operaton/operaton-examples/tree/main/examples/integration-connectors) can also be found in the Operaton examples repository on GitHub. diff --git a/docs/documentation/user-guide/process-engine/history/custom-implementation.md b/docs/documentation/user-guide/process-engine/history/custom-implementation.md index ed5a6ca3..acbb0456 100644 --- a/docs/documentation/user-guide/process-engine/history/custom-implementation.md +++ b/docs/documentation/user-guide/process-engine/history/custom-implementation.md @@ -86,8 +86,6 @@ handles such history events. If the method returns `false`, the engine will not any history events of this type again. This means that if your history level only wants to generate the history event for some instances of an event it must still return `true` if `entity` is `null`. -Please have a look at this [complete example][2] to get a better overview. - ### Removal time inheritance Historic instances inherit the removal time from the respective historic top-level instance. If the custom history level is configured in a way, so that the historic top-level instance is not written, @@ -116,4 +114,3 @@ public boolean isHistoryEventProduced(HistoryEventType eventType, Object entity) [1]: http://docs.operaton.org/latest/api-references/javadoc/org/operaton/bpm/engine/impl/history/event/HistoryEventTypes.html -[2]: https://github.com/operaton/operaton-bpm-examples/tree/master/process-engine-plugin/custom-history-level \ No newline at end of file diff --git a/docs/documentation/user-guide/process-engine/multi-tenancy.md b/docs/documentation/user-guide/process-engine/multi-tenancy.md index 2d27bb76..31cd1dd5 100644 --- a/docs/documentation/user-guide/process-engine/multi-tenancy.md +++ b/docs/documentation/user-guide/process-engine/multi-tenancy.md @@ -28,10 +28,7 @@ Note that transparent tenant separation is not implemented for all APIs. For exa It is also possible for all tenants to share the same process and decision definitions without deploying them for each tenant. Shared definitions can simplify management of the deployments in case of a larger amount of tenants. :::note[Examples] -Find [examples on GitHub](https://github.com/operaton/operaton-bpm-examples) that show how to use tenant-identifiers with - -* [Embedded Process Engine](https://github.com/operaton/operaton-bpm-examples/tree/master/multi-tenancy/tenant-identifier-embedded) -* [Shared Process Engine](https://github.com/operaton/operaton-bpm-examples/tree/master/multi-tenancy/tenant-identifier-shared) +Find a current [multi-tenancy example](https://github.com/operaton/operaton-examples/tree/main/examples/multi-tenancy) on GitHub that shows tenant identifiers with a shared engine. ::: @@ -341,10 +338,6 @@ Then, when a new instance is created by a particular tenant, it should be only This can be achieved by a usage pattern we call "Shared Definitions". By the term *usage pattern* we mean that it is not a feature of Operaton per se but rather a specific way to use it to achieve the desired behavior. -:::note[Example] -You can find an [example](https://github.com/operaton/operaton-bpm-examples/tree/master/multi-tenancy/tenant-identifier-shared-definitions) on [GitHub](https://github.com/operaton/operaton-bpm-examples) that shows how to use shared definitions. -::: - ### Deploy a Shared Definition Deploying a shared definition is just a "regular" deployment not assigning a Tenant Id to the deployment: @@ -451,11 +444,10 @@ So far, we have seen that shared resources are a useful pattern if tenants have A common pattern of how to deal with this is to extract the tenant-specific behavior in a separate process which is then invoked using a call activity. Tenant specific decision logic (i.e., decision tables) using a business rules task are also common. -To realize this, the call activity or business rule task needs to select the correct definition to invoke based on the tenant id of the current process instance. The [Shared Resources Example](https://github.com/operaton/operaton-bpm-examples/tree/master/multi-tenancy/tenant-identifier-shared-definitions) shows how to achieve this. +To realize this, the call activity or business rule task needs to select the correct definition to invoke based on the tenant id of the current process instance. See also: -* [Shared Resources Example](https://github.com/operaton/operaton-bpm-examples/tree/master/multi-tenancy/tenant-identifier-shared-definitions) * [Called Element Tenant Id](../../reference/bpmn20/subprocesses/call-activity.md#calledelement-tenant-id) * [Case Tenant Id](../../reference/bpmn20/subprocesses/call-activity.md#case-tenant-id) for call activities. * [Decision Ref Tenant Id](../../reference/bpmn20/tasks/business-rule-task.md#decisionref-tenant-id) for business rule tasks. @@ -468,10 +460,6 @@ Multi-Tenancy can be achieved by providing one process engine per tenant. Each p The process engines can run on the same server so that all share the same computational resources such as a data source (when isolating via schemas or tables) or a thread pool for asynchronous job execution. -:::note[Tutorial] - You can see the [example](https://github.com/operaton/operaton-bpm-examples/tree/master/multi-tenancy/schema-isolation) how to implement multi-tenancy with data isolation by schemas. -::: - ### Configure the Process Engines The process engines can be configured in a configuration file or via Java API. Each engine should have a name that is related to a tenant such that it can be identified based on the tenant. For example, each engine can be named after the tenant it serves. See the [Process Engine Bootstrapping](../process-engine/process-engine-bootstrapping.md) section for details. 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..dda6f583 100644 --- a/docs/documentation/user-guide/process-engine/process-diagram-api.md +++ b/docs/documentation/user-guide/process-engine/process-diagram-api.md @@ -40,4 +40,4 @@ viewer.importXML(xml, function(err) { }); ``` -Alternatively, you can use the [bpmn-viewer widget](https://github.com/operaton/operaton/blob/master/webapps/frontend/operaton-commons-ui/lib/widgets/bpmn-viewer/cam-widget-bpmn-viewer.html) from the Operaton commons UI. +Alternatively, you can use the [bpmn-viewer widget](https://github.com/operaton/operaton/blob/main/webapps/frontend/operaton-commons-ui/lib/widgets/bpmn-viewer/cam-widget-bpmn-viewer.html) from the Operaton commons UI. diff --git a/docs/documentation/user-guide/process-engine/templating.md b/docs/documentation/user-guide/process-engine/templating.md index 26c66c9b..54c4d264 100644 --- a/docs/documentation/user-guide/process-engine/templating.md +++ b/docs/documentation/user-guide/process-engine/templating.md @@ -194,13 +194,8 @@ attribute. Finally, the input of the transformation must be mapped using the special variable `operaton_source` using a `` mapping. -A [full example of the XSLT Template Engine][xslt-example] in Operaton can be found in the -examples' repository. - - [freemarker]: http://freemarker.org/ [velocity]: http://velocity.apache.org/ [operaton-template-engines-jsr223]: https://github.com/operaton-community-hub/operaton-template-engines-jsr223 [use-scripts]: ../process-engine/scripting.md [script-source]: ../process-engine/scripting.md#script-source -[xslt-example]: https://github.com/operaton/operaton-bpm-examples/tree/master/scripttask/xslt-scripttask diff --git a/docs/documentation/user-guide/runtime-container-integration/jboss.md b/docs/documentation/user-guide/runtime-container-integration/jboss.md index 48793e3d..606ceb32 100644 --- a/docs/documentation/user-guide/runtime-container-integration/jboss.md +++ b/docs/documentation/user-guide/runtime-container-integration/jboss.md @@ -211,7 +211,7 @@ A declarative mechanism like `@Resource` could be ``` :::warning[Look Up a Process Engine From JNDI Using Spring] - On WildFly, Spring users should always [create a resource-ref for the process engine in web.xml](#manage-service-dependencies) and then lookup the local name in the `java:comp/env/` namespace. [For an example, see this Quickstart](https://github.com/operaton/operaton-bpm-examples/tree/master/deployment/spring-wildfly-non-pa) + On WildFly, Spring users should always [create a resource-ref for the process engine in web.xml](#manage-service-dependencies) and then lookup the local name in the `java:comp/env/` namespace. ::: diff --git a/docs/documentation/user-guide/task-forms/jsf-task-forms.md b/docs/documentation/user-guide/task-forms/jsf-task-forms.md index 07d26003..20091a23 100644 --- a/docs/documentation/user-guide/task-forms/jsf-task-forms.md +++ b/docs/documentation/user-guide/task-forms/jsf-task-forms.md @@ -19,8 +19,6 @@ The required CDI beans for this functionality are currently not available in [Qu If you add JSF forms as described below, you can easily use them as
[external task forms](../task-forms/index.md#external-task-forms). -A working example can be found in the [examples repository](https://github.com/operaton/operaton-bpm-examples/tree/master/usertask/task-form-external-jsf). - The BPMN process used for this example is shown in the image below: ![Example img](/img/documentation/user-guide/task-forms/task-form-process.png)Task Form Process diff --git a/docs/documentation/webapps/cockpit/extend/configuration.md b/docs/documentation/webapps/cockpit/extend/configuration.md index ff7fa891..ee93ec9d 100644 --- a/docs/documentation/webapps/cockpit/extend/configuration.md +++ b/docs/documentation/webapps/cockpit/extend/configuration.md @@ -99,8 +99,6 @@ export default { ``` This includes a `custom-module/module.js` file. The path is relative to the `app/cockpit` folder in the Operaton webapp .war file. -You can find a complete example about how to use `customScripts` to develop a Cockpit Plugin in the [Operaton examples repository](https://github.com/operaton/operaton-bpm-examples/tree/master/cockpit/cockpit-cats). - ## BPMN Diagram Viewer (bpmn.js) The diagram viewer (bpmn.js) can be either customized by moddle extensions or @@ -121,8 +119,6 @@ export default { } ``` -You can find an example on how to add an additional bpmn.js module to Cockpit in the [Operaton examples repository](https://github.com/operaton/operaton-bpm-examples/tree/master/cockpit/cockpit-bpmn-js-module). - ### Moddle Extensions The BPMN moddle can be extended by adding a `moddleExtensions` property. Each moddle extension has a unique name (key) and a path (value) to the JSON file of the moddle extension. The path is relative to the `app/cockpit` folder in the @@ -259,4 +255,4 @@ export default = { // … previewHtml: false }; -``` \ No newline at end of file +``` diff --git a/docs/documentation/webapps/cockpit/extend/plugins.md b/docs/documentation/webapps/cockpit/extend/plugins.md index 2d3ac2f0..89d1c61b 100644 --- a/docs/documentation/webapps/cockpit/extend/plugins.md +++ b/docs/documentation/webapps/cockpit/extend/plugins.md @@ -81,10 +81,6 @@ As runtime relevant resource it defines 8. a js file that exports a frontend module. This file must be named `plugin.js` and be located in the `app` directory of the plugin asset directory 9. a css file that contains the style definitions for the client-side plugin. This file must be named `plugin.css` and be located in the `app` directory of the plugin asset directory -:::note[Related Example] - [How to develop a Cockpit plugin](https://github.com/operaton/operaton-bpm-examples/tree/master/cockpit/cockpit-fullstack-count-processes) -::: - ### Structure of a Frontend Module A frontend module always follows the same structure. This is how a sample `plugin.js` could look like: @@ -166,8 +162,6 @@ To configure where you place your plugin, enter the ID into the `pluginPoint` at Plugin Points describe where a Plugin will be rendered and define which additional data is passed into the second argument of the render function. -For more information on creating and configuring your own plugin, please see [How to develop a Cockpit plugin](https://github.com/operaton/operaton-bpm-examples/tree/master/cockpit/cockpit-fullstack-count-processes). - ### Data **Data Plugin Points** have a `#result` function that gets the response data as a promise of a called REST endpoint passed. diff --git a/docs/documentation/webapps/tasklist/configuration.md b/docs/documentation/webapps/tasklist/configuration.md index 22566681..1f1d9d06 100644 --- a/docs/documentation/webapps/tasklist/configuration.md +++ b/docs/documentation/webapps/tasklist/configuration.md @@ -90,10 +90,6 @@ export default { ``` This includes a `custom-module/module.js` file. The path is relative to the `app/tasklist` folder in the Operaton webapp .war file. -You can find a complete example about how to use `customScripts` to develop a Tasklist Plugin in the [Operaton examples repository](https://github.com/operaton/operaton-bpm-examples/tree/master/tasklist/cats-plugin). - - - ## Shortcuts If you want to change the keyboard shortcuts for certain tasklist operations, you can change the key-combination and the description of the shortcuts in the `shortcuts` section of the config file. diff --git a/docs/get-started/dmn/index.md b/docs/get-started/dmn/index.md index 8a6f16e3..4eea611d 100644 --- a/docs/get-started/dmn/index.md +++ b/docs/get-started/dmn/index.md @@ -11,7 +11,7 @@ description: "Learn how to create a DMN 1.3 decision table using the Operaton Mo This tutorial guides you through modeling your first DMN 1.3 decision table and executing it with the Operaton Platform. :::note[Standalone DMN engine] -Note that it is also possible to use the DMN engine independently from the Operaton Platform. Please refer to the [User Guide](/docs/documentation/user-guide/dmn-engine/embed/) and the [Example](https://github.com/operaton/operaton-bpm-examples/tree/master/dmn-engine/dmn-engine-java-main-method) for more details. +Note that it is also possible to use the DMN engine independently from the Operaton Platform. Please refer to the [User Guide](/docs/documentation/user-guide/dmn-engine/embed/) and the [DMN decision example](https://github.com/operaton/operaton-examples/tree/main/examples/dmn-decision) for more details. ::: You will be guided through the following steps: From 00a5eb524aa01a3e38b8e681076661bc19c60f8f Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 14:11:18 +0200 Subject: [PATCH 10/25] Use canonical framework documentation links --- docs/documentation/installation/full/tomcat/manual.md | 2 +- docs/documentation/installation/full/wildfly/manual.md | 6 +++--- .../process-engine/history/custom-implementation.md | 2 +- .../user-guide/process-engine/process-diagram-api.md | 2 +- docs/documentation/user-guide/process-engine/templating.md | 6 +++--- .../user-guide/runtime-container-integration/jboss.md | 2 +- docs/documentation/user-guide/task-forms/jsf-task-forms.md | 2 +- docs/documentation/webapps/admin/plugins.md | 2 +- docs/documentation/webapps/cockpit/extend/plugins.md | 6 +++--- docs/documentation/webapps/tasklist/configuration.md | 4 ++-- docs/documentation/webapps/tasklist/tasklist-plugins.md | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/documentation/installation/full/tomcat/manual.md b/docs/documentation/installation/full/tomcat/manual.md index 13d2e868..9bf6d937 100644 --- a/docs/documentation/installation/full/tomcat/manual.md +++ b/docs/documentation/installation/full/tomcat/manual.md @@ -7,7 +7,7 @@ description: "Manually install and configure the Full Distribution on a vanilla --- ## Install the Full Distribution on a Tomcat Application Server manually -This section describes how you can install Operaton and its components on a vanilla [Apache Tomcat](http://tomcat.apache.org/), if you are not able to use the pre-packaged Tomcat distribution. In addition, download the matching Tomcat distribution from the [Operaton GitHub releases](https://github.com/operaton/operaton/releases) to fetch the required Operaton modules. Release assets are attached to version tags such as `v$PLATFORM_VERSION`; snapshot assets are published as GitHub prereleases with tags such as `2.2.0-SNAPSHOT`. +This section describes how you can install Operaton and its components on a vanilla [Apache Tomcat](https://tomcat.apache.org/), if you are not able to use the pre-packaged Tomcat distribution. In addition, download the matching Tomcat distribution from the [Operaton GitHub releases](https://github.com/operaton/operaton/releases) to fetch the required Operaton modules. Release assets are attached to version tags such as `v$PLATFORM_VERSION`; snapshot assets are published as GitHub prereleases with tags such as `2.2.0-SNAPSHOT`. :::note[Reading the Guide] Throughout this guide we will use a number of variables to denote common path names and constants: diff --git a/docs/documentation/installation/full/wildfly/manual.md b/docs/documentation/installation/full/wildfly/manual.md index fff4730d..52e6681b 100644 --- a/docs/documentation/installation/full/wildfly/manual.md +++ b/docs/documentation/installation/full/wildfly/manual.md @@ -7,7 +7,7 @@ description: "Install and configure the Full Distribution on a vanilla WildFly A --- ## Install the Full Distribution on a WildFly Application Server manually -This document describes the installation of Operaton and its components on a vanilla [WildFly Application Server](http://www.wildfly.org) or JBoss EAP 7 / 8. +This document describes the installation of Operaton and its components on a vanilla [WildFly Application Server](https://www.wildfly.org/) or JBoss EAP 7 / 8. :::note[Reading this Guide] This guide uses a number of variables to denote common path names and constants: @@ -137,8 +137,8 @@ typically `bin`. Using H2 as a database is ideal for development purposes but is not recommended for usage in a productive environment. These links point you to resources for other databases: -* [How to configure an Oracle database](http://www.ironjacamar.org/doc/userguide/1.0/en-US/html_single/#ex_datasources_oracle) -* [How to configure a MySQL database](http://www.ironjacamar.org/doc/userguide/1.0/en-US/html_single/#ex_datasources_mysql) +* [How to configure an Oracle database](https://www.ironjacamar.org/doc/userguide/1.0/en-US/html_single/#ex_datasources_oracle) +* [How to configure a MySQL database](https://www.ironjacamar.org/doc/userguide/1.0/en-US/html_single/#ex_datasources_mysql) ### Optional Components diff --git a/docs/documentation/user-guide/process-engine/history/custom-implementation.md b/docs/documentation/user-guide/process-engine/history/custom-implementation.md index acbb0456..1aa8ea05 100644 --- a/docs/documentation/user-guide/process-engine/history/custom-implementation.md +++ b/docs/documentation/user-guide/process-engine/history/custom-implementation.md @@ -113,4 +113,4 @@ public boolean isHistoryEventProduced(HistoryEventType eventType, Object entity) -[1]: http://docs.operaton.org/latest/api-references/javadoc/org/operaton/bpm/engine/impl/history/event/HistoryEventTypes.html +[1]: https://docs.operaton.org/reference/latest/javadoc/org/operaton/bpm/engine/impl/history/event/HistoryEventTypes.html 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 dda6f583..d3e6a012 100644 --- a/docs/documentation/user-guide/process-engine/process-diagram-api.md +++ b/docs/documentation/user-guide/process-engine/process-diagram-api.md @@ -13,7 +13,7 @@ menu: A BPMN process diagram is a formidable place to visualize information around your process. We recommend to use JavaScript libraries to display process diagrams and enrich them with additional information. -In our web applications [Cockpit](../../webapps/cockpit/index.md) and [Tasklist](../../webapps/tasklist/index.md), we use [bpmn.io](http://bpmn.io/), a toolkit for rendering BPMN 2.0 process models directly in the browser. It allows adding additional information to the diagram and includes ways for user interaction. Although bpmn.io is still under development, its API is rather stable. +In our web applications [Cockpit](../../webapps/cockpit/index.md) and [Tasklist](../../webapps/tasklist/index.md), we use [bpmn.io](https://bpmn.io/), a toolkit for rendering BPMN 2.0 process models directly in the browser. It allows adding additional information to the diagram and includes ways for user interaction. Although bpmn.io is still under development, its API is rather stable. The previous JavaScript BPMN renderer can still be found at [operaton-bpmn.js](https://github.com/operaton/operaton-bpmn.js), but it is not actively developed anymore. diff --git a/docs/documentation/user-guide/process-engine/templating.md b/docs/documentation/user-guide/process-engine/templating.md index 54c4d264..57967b34 100644 --- a/docs/documentation/user-guide/process-engine/templating.md +++ b/docs/documentation/user-guide/process-engine/templating.md @@ -93,7 +93,7 @@ classpath. The procedure for this depends on the application server. In Apache T libraries have to be added to the shared `lib/` folder. :::note - [FreeMarker](http://freemarker.org/) is pre-installed in the Operaton pre-packaged distribution. + [FreeMarker](https://freemarker.apache.org/) is pre-installed in the Operaton pre-packaged distribution. ::: @@ -194,8 +194,8 @@ attribute. Finally, the input of the transformation must be mapped using the special variable `operaton_source` using a `` mapping. -[freemarker]: http://freemarker.org/ -[velocity]: http://velocity.apache.org/ +[freemarker]: https://freemarker.apache.org/ +[velocity]: https://velocity.apache.org/ [operaton-template-engines-jsr223]: https://github.com/operaton-community-hub/operaton-template-engines-jsr223 [use-scripts]: ../process-engine/scripting.md [script-source]: ../process-engine/scripting.md#script-source diff --git a/docs/documentation/user-guide/runtime-container-integration/jboss.md b/docs/documentation/user-guide/runtime-container-integration/jboss.md index 606ceb32..78681da0 100644 --- a/docs/documentation/user-guide/runtime-container-integration/jboss.md +++ b/docs/documentation/user-guide/runtime-container-integration/jboss.md @@ -175,7 +175,7 @@ The restrictions which apply for [providing a custom process engine configuratio To externalize environment specific parts of the configuration, it is possible to reference system properties using Ant-style expressions (i.e., `${PROPERTY_KEY}`). Expression resolution is supported for all elements and attributes except for the `name` attribute on the elements `process-engine` and `job-acquisition`. -System properties may be set via command line (`-D`option). Read more on expressions in the documentation for [WildFly](http://docs.wildfly.org/23/Extending_WildFly.html#expressions). +System properties may be set via command line (`-D`option). Read more on expressions in the documentation for [WildFly](https://docs.wildfly.org/23/Extending_WildFly.html#expressions). ### Example diff --git a/docs/documentation/user-guide/task-forms/jsf-task-forms.md b/docs/documentation/user-guide/task-forms/jsf-task-forms.md index 20091a23..493d43d1 100644 --- a/docs/documentation/user-guide/task-forms/jsf-task-forms.md +++ b/docs/documentation/user-guide/task-forms/jsf-task-forms.md @@ -230,7 +230,7 @@ Note that the command button doesn't have to be on the same form, you might have ## Styling your Task Forms -We use [Twitter Bootstrap](http://getbootstrap.com/) in our tasklist - so best add this to your Process Application as well and you can easily polish your UI: +We use [Twitter Bootstrap](https://getbootstrap.com/) in our tasklist - so best add this to your Process Application as well and you can easily polish your UI: ![Example img](/img/documentation/user-guide/task-forms/tasklist-forms-layouted-start.png)Tasklist Start Forms layouted diff --git a/docs/documentation/webapps/admin/plugins.md b/docs/documentation/webapps/admin/plugins.md index 4397b903..35578d3a 100644 --- a/docs/documentation/webapps/admin/plugins.md +++ b/docs/documentation/webapps/admin/plugins.md @@ -21,7 +21,7 @@ For further details about the concepts behind plugins, please read the [Cockpit :::warning[Difference between Cockpit and Admin plugins:] * To publish the plugin with Admin, its class name must be put into a file called ```org.operaton.bpm.admin.plugin.spi.AdminPlugin``` that resides in the directory ```META-INF/services```. - * The plugin mechanism of Admin does not allow to provide additional SQL queries by using [MyBatis](http://www.mybatis.org/) mappings. + * The plugin mechanism of Admin does not allow to provide additional SQL queries by using [MyBatis](https://mybatis.org/mybatis-3/) mappings. ::: diff --git a/docs/documentation/webapps/cockpit/extend/plugins.md b/docs/documentation/webapps/cockpit/extend/plugins.md index 89d1c61b..6d70e3b2 100644 --- a/docs/documentation/webapps/cockpit/extend/plugins.md +++ b/docs/documentation/webapps/cockpit/extend/plugins.md @@ -24,7 +24,7 @@ Cockpit defines a plugin concept to add own functionality without being forced t A Cockpit plugin is a maven jar project that is included in the Cockpit webapplication as a library dependency. It provides a server-side and a client-side extension to Cockpit. -On the server-side, it can extend Cockpit with custom SQL queries and JAX-RS resource classes. Queries (defined via [MyBatis](http://www.mybatis.org/)) may be used to squeeze additional intel out of an engine database or to execute custom engine operations. JAX-RS resources on the other hand extend the Cockpit API and expose data to the client-side part of the plugin. +On the server-side, it can extend Cockpit with custom SQL queries and JAX-RS resource classes. Queries (defined via [MyBatis](https://mybatis.org/mybatis-3/)) may be used to squeeze additional intel out of an engine database or to execute custom engine operations. JAX-RS resources on the other hand extend the Cockpit API and expose data to the client-side part of the plugin. On the client-side a plugin may include Javascript modules to extend the Cockpit webapplication. Via those modules a plugin provides custom views. @@ -66,7 +66,7 @@ As runtime relevant resource it defines 1. a plugin main class 2. a `META-INF/services` entry that publishes the plugin to Cockpit -3. a plugin root [JAX-RS](https://jax-rs-spec.java.net/) resource that wires the server-side API. +3. a plugin root [JAX-RS](https://jakarta.ee/specifications/restful-ws/) resource that wires the server-side API. When you want to include a frontend module in your plugin, you can use `AbstractCockpitPluginRootResource` as the plug-in resources base class. This allows you to serve static client-side resources under the `/static` path. Per convention, these resources must reside in a `/plugin-webapp/$plugin_id` directory absolute to the classpath root. @@ -76,7 +76,7 @@ As runtime relevant resource it defines The default implementation contains two predefined assets: `app/plugin.js` and `app/plugin.css`. 4. other resources that are part of the server-side API 5. data transfer objects used by the resources -6. mapping files that provide additional Cockpit queries as [MyBatis](http://www.mybatis.org/) mappings +6. mapping files that provide additional Cockpit queries as [MyBatis](https://mybatis.org/mybatis-3/) mappings 7. resource directory from which client-side plugin assets are served as static files 8. a js file that exports a frontend module. This file must be named `plugin.js` and be located in the `app` directory of the plugin asset directory 9. a css file that contains the style definitions for the client-side plugin. This file must be named `plugin.css` and be located in the `app` directory of the plugin asset directory diff --git a/docs/documentation/webapps/tasklist/configuration.md b/docs/documentation/webapps/tasklist/configuration.md index 1f1d9d06..65432d24 100644 --- a/docs/documentation/webapps/tasklist/configuration.md +++ b/docs/documentation/webapps/tasklist/configuration.md @@ -19,7 +19,7 @@ available: Dates can be configured by specifying a `dateFormat` object. The values of the properties of this object must be strings representing date formats in accordance with -[moment.js](http://momentjs.com). Following date formats are used within Tasklist: +[moment.js](https://momentjs.com). Following date formats are used within Tasklist: * `monthName` represents the name of a month (e.g., January). * `day` represents the number of a day in a month (1..31). @@ -179,7 +179,7 @@ export default { ## Advanced Styles Customization In addition to the basic `user-styles.css` file, you can edit the source style- and layout files -using [less](http://lesscss.org/) to change the overall appearance of Tasklist. +using [Less](https://lesscss.org/) to change the overall appearance of Tasklist. If you want to customize the interface with `less`, you should probably start by having a look at the variables defined in the following files: diff --git a/docs/documentation/webapps/tasklist/tasklist-plugins.md b/docs/documentation/webapps/tasklist/tasklist-plugins.md index ba653693..ba2f7bfd 100644 --- a/docs/documentation/webapps/tasklist/tasklist-plugins.md +++ b/docs/documentation/webapps/tasklist/tasklist-plugins.md @@ -20,7 +20,7 @@ For further details about the concepts behind plugins, please read the [Cockpit :::warning[Difference between Cockpit and Tasklist plugins:] * To publish the plugin with Tasklist, its class name must be put into a file called ```org.operaton.bpm.tasklist.plugin.spi.TasklistPlugin``` that resides in the directory ```META-INF/services```. - * The plugin mechanism of Tasklist does not allow to provide additional SQL queries by using [MyBatis](http://www.mybatis.org/) mappings. + * The plugin mechanism of Tasklist does not allow to provide additional SQL queries by using [MyBatis](https://mybatis.org/mybatis-3/) mappings. ::: ## Plugin Points From 2a0bf0e04f6ab2ae9ea57d75a8d63397383d6881 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 14:48:23 +0200 Subject: [PATCH 11/25] Use HTTPS for Tomcat documentation links --- docs/documentation/installation/full/tomcat/index.md | 2 +- .../user-guide/runtime-container-integration/tomcat.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/installation/full/tomcat/index.md b/docs/documentation/installation/full/tomcat/index.md index 3c5ba450..4d42b6b1 100644 --- a/docs/documentation/installation/full/tomcat/index.md +++ b/docs/documentation/installation/full/tomcat/index.md @@ -12,6 +12,6 @@ menu: --- -This document describes the installation of the [Full Distribution](../../../introduction/downloading-operaton.md#full-distribution) for [Apache Tomcat Application Server](http://tomcat.apache.org/). +This document describes the installation of the [Full Distribution](../../../introduction/downloading-operaton.md#full-distribution) for [Apache Tomcat Application Server](https://tomcat.apache.org/). There are different options for installing the Full Distribution: diff --git a/docs/documentation/user-guide/runtime-container-integration/tomcat.md b/docs/documentation/user-guide/runtime-container-integration/tomcat.md index 7ed81f20..fca6b5e2 100644 --- a/docs/documentation/user-guide/runtime-container-integration/tomcat.md +++ b/docs/documentation/user-guide/runtime-container-integration/tomcat.md @@ -14,7 +14,7 @@ menu: ## JNDI Bindings -To use the JNDI Bindings for Operaton Services on Apache Tomcat you have to add the file `META-INF/context.xml` to your process application and add the following ResourceLinks ([Tomcat 9](http://tomcat.apache.org/tomcat-9.0-doc/config/context.html#Resource_Links), [Tomcat 10.1](https://tomcat.apache.org/tomcat-10.1-doc/config/context.html#Resource_Links)): +To use the JNDI Bindings for Operaton Services on Apache Tomcat you have to add the file `META-INF/context.xml` to your process application and add the following ResourceLinks ([Tomcat 9](https://tomcat.apache.org/tomcat-9.0-doc/config/context.html#Resource_Links), [Tomcat 10.1](https://tomcat.apache.org/tomcat-10.1-doc/config/context.html#Resource_Links)): ```xml From f1c5201ac8d2ede8873b70cdf75ebfe78405692b Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 14:52:35 +0200 Subject: [PATCH 12/25] Use local WildFly distribution download link --- .../user-guide/runtime-container-integration/jboss.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/user-guide/runtime-container-integration/jboss.md b/docs/documentation/user-guide/runtime-container-integration/jboss.md index 78681da0..b3f7e2b0 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#full-distribution), 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. ::: From 6b3654392f12ae8fffaf5e6d391ea510121836aa Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 15:00:29 +0200 Subject: [PATCH 13/25] Use local job executor logging reference --- docs/documentation/user-guide/logging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/user-guide/logging.md b/docs/documentation/user-guide/logging.md index b3d42ab3..b1f76cbd 100644 --- a/docs/documentation/user-guide/logging.md +++ b/docs/documentation/user-guide/logging.md @@ -341,7 +341,7 @@ The server log will contain logs similar to: 25-Nov-2019 15:45:27.706 FINE [Thread-6] o.c.c.l.BaseLogger.logDebug ENGINE-13006 Finishing command -------------------- AcquireJobsCmd ---------------------- ``` -Find more information for Diagnosing the Job Executor in this blog post - [The Job Executor: What Is Going on in My Process Engine?](https://camunda.com/blog/2019/10/job-executor-what-is-going-on-in-my-process-engine/). +For more background on job acquisition and execution, see [The Job Executor](process-engine/the-job-executor.md). #### Diagnosing Deadlocks From 9d99bc00c15ef1ca2009274cd8db63b514d2e520 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 15:26:55 +0200 Subject: [PATCH 14/25] Use canonical OWASP XXE cheat sheet link --- docs/documentation/user-guide/security.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/user-guide/security.md b/docs/documentation/user-guide/security.md index d64aadfb..c8005330 100644 --- a/docs/documentation/user-guide/security.md +++ b/docs/documentation/user-guide/security.md @@ -258,7 +258,7 @@ To ensure full security, please consult the documentation about [Cookie Security ### XML Security Operaton handles many XML files containing configurations of process engines, definitions of process models and more. In order to mitigate possible vulnerabilities that can be introduced by XML files, the following measures are activated by default: -* Prevention against XML eXternal Entity (XXE) injections according to [OWASP](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.md) +* Prevention against XML eXternal Entity (XXE) injections according to [OWASP](https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html) * Feature Secure Processing (FSP) of XML files according to [Oracle](https://docs.oracle.com/javase/8/docs/api/javax/xml/XMLConstants.html#FEATURE_SECURE_PROCESSING) which introduces [limits](https://docs.oracle.com/javase/tutorial/jaxp/limits/limits.html) for several XML properties If the limitations on XML files introduced by XXE prevention need to be removed, XXE processing can be enabled via `enableXxeProcessing` in the [process engine configuration](../reference/deployment-descriptors/tags/process-engine.mdx#enableXxeProcessing). From b4afbd5da64e2f2a7fb17298c50839a28c60b782 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 15:40:06 +0200 Subject: [PATCH 15/25] Remove dead external documentation links --- docs/documentation/user-guide/operaton-bpm-run.md | 2 +- .../user-guide/process-engine/process-diagram-api.md | 2 -- docs/documentation/user-guide/process-engine/templating.md | 4 ---- docs/documentation/webapps/admin/configuration.md | 2 +- docs/documentation/webapps/cockpit/extend/configuration.md | 2 +- docs/documentation/webapps/tasklist/configuration.md | 2 +- 6 files changed, 4 insertions(+), 10 deletions(-) diff --git a/docs/documentation/user-guide/operaton-bpm-run.md b/docs/documentation/user-guide/operaton-bpm-run.md index fdee4789..27f8b1e1 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. 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 d3e6a012..9d185af7 100644 --- a/docs/documentation/user-guide/process-engine/process-diagram-api.md +++ b/docs/documentation/user-guide/process-engine/process-diagram-api.md @@ -15,8 +15,6 @@ A BPMN process diagram is a formidable place to visualize information around you In our web applications [Cockpit](../../webapps/cockpit/index.md) and [Tasklist](../../webapps/tasklist/index.md), we use [bpmn.io](https://bpmn.io/), a toolkit for rendering BPMN 2.0 process models directly in the browser. It allows adding additional information to the diagram and includes ways for user interaction. Although bpmn.io is still under development, its API is rather stable. -The previous JavaScript BPMN renderer can still be found at [operaton-bpmn.js](https://github.com/operaton/operaton-bpmn.js), but it is not actively developed anymore. - ![Example img](/img/documentation/user-guide/process-engine/process-diagram-bpmn-js.png)Process Diagram Rendering diff --git a/docs/documentation/user-guide/process-engine/templating.md b/docs/documentation/user-guide/process-engine/templating.md index 57967b34..b7b43ce6 100644 --- a/docs/documentation/user-guide/process-engine/templating.md +++ b/docs/documentation/user-guide/process-engine/templating.md @@ -28,9 +28,6 @@ The following template engines are provided as optional community extensions: * [Saxon XQuery](https://www.saxonica.com/html/documentation12/using-xquery/) * [Saxon XSLT](https://www.saxonica.com/html/documentation12/using-xsl/) -The script engine wrapper implementations can be found in the -[operaton-template-engines-jsr223][operaton-template-engines-jsr223] community hub repository. - ## Install a Template Engine ### Install a Template Engine for an Embedded Process Engine @@ -196,6 +193,5 @@ using a `` mapping. [freemarker]: https://freemarker.apache.org/ [velocity]: https://velocity.apache.org/ -[operaton-template-engines-jsr223]: https://github.com/operaton-community-hub/operaton-template-engines-jsr223 [use-scripts]: ../process-engine/scripting.md [script-source]: ../process-engine/scripting.md#script-source diff --git a/docs/documentation/webapps/admin/configuration.md b/docs/documentation/webapps/admin/configuration.md index 3b261094..cdbe83ae 100644 --- a/docs/documentation/webapps/admin/configuration.md +++ b/docs/documentation/webapps/admin/configuration.md @@ -56,7 +56,7 @@ export default { ## Localization Admin can be localized. Operaton maintains English and German translation files. -You can find and download community maintained translation files at the [Operaton webapp translations repository](https://github.com/operaton/operaton-webapp-translations). +You can find the current Admin locale files in the [Operaton repository](https://github.com/operaton/operaton/tree/main/webapps/frontend/public/app/admin/locales). The localization of Admin is contained in the `app/admin/locales/` directory. This directory contains a separate localization file for every available language. The file name diff --git a/docs/documentation/webapps/cockpit/extend/configuration.md b/docs/documentation/webapps/cockpit/extend/configuration.md index ee93ec9d..1fb0c408 100644 --- a/docs/documentation/webapps/cockpit/extend/configuration.md +++ b/docs/documentation/webapps/cockpit/extend/configuration.md @@ -55,7 +55,7 @@ export default { ## Localization Cockpit can be localized. Operaton maintains English and German translation files. -You can find and download community maintained translation files at the [Operaton webapp translations repository](https://github.com/operaton/operaton-webapp-translations). +You can find the current Cockpit locale files in the [Operaton repository](https://github.com/operaton/operaton/tree/main/webapps/frontend/public/app/cockpit/locales). The localization of Cockpit is contained in the `app/cockpit/locales/` directory. This directory contains a separate localization file for every available language. The file name diff --git a/docs/documentation/webapps/tasklist/configuration.md b/docs/documentation/webapps/tasklist/configuration.md index 65432d24..7672acad 100644 --- a/docs/documentation/webapps/tasklist/configuration.md +++ b/docs/documentation/webapps/tasklist/configuration.md @@ -45,7 +45,7 @@ export default { ## Localization Tasklist can be localized. Operaton maintains English and German translation files. -You can find and download community maintained translation files at the [Operaton webapp translations repository](https://github.com/operaton/operaton-webapp-translations). +You can find the current Tasklist locale files in the [Operaton repository](https://github.com/operaton/operaton/tree/main/webapps/frontend/public/app/tasklist/locales). The localization of Tasklist is contained in the `app/tasklist/locales/` directory. This directory contains a separate localization file for every available language. The file name From 7e8c53ffcbe213a0f51a252b37ecc8a26632986e Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 16:08:03 +0200 Subject: [PATCH 16/25] Remove stale architecture support links --- docs/documentation/introduction/architecture.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/documentation/introduction/architecture.md b/docs/documentation/introduction/architecture.md index f608613a..519b16ee 100644 --- a/docs/documentation/introduction/architecture.md +++ b/docs/documentation/introduction/architecture.md @@ -99,7 +99,7 @@ The Operaton web applications are based on a RESTful architecture. Frameworks used: -* [JAX-RS](https://jax-rs-spec.java.net) based REST API +* [JAX-RS / Jakarta REST](https://jakarta.ee/specifications/restful-ws/) based REST API * [AngularJS](http://angularjs.org) * [RequireJS](http://requirejs.org) * [jQuery](http://jquery.com) @@ -107,6 +107,5 @@ Frameworks used: Additional custom frameworks developed by Operaton hackers: -* [operaton-bpmn.js](https://github.com/operaton/operaton-bpmn.js): Operaton BPMN 2.0 JavaScript libraries * [ngDefine](https://github.com/Nikku/requirejs-angular-define): integration of AngularJS into RequireJS powered applications * [angular-data-depend](https://github.com/Nikku/angular-data-depend): toolkit for implementing complex, data heavy AngularJS applications From 79e1bdebcd946b093f6360598b8e4d2aab14ea5c Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 16:23:22 +0200 Subject: [PATCH 17/25] Remove stale Forms SDK distribution links --- docs/documentation/introduction/architecture.md | 2 +- .../integrate/getting-a-distribution.md | 17 ++++++----------- .../webapps/admin/configuration.md | 2 +- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/docs/documentation/introduction/architecture.md b/docs/documentation/introduction/architecture.md index 519b16ee..229964df 100644 --- a/docs/documentation/introduction/architecture.md +++ b/docs/documentation/introduction/architecture.md @@ -103,7 +103,7 @@ Frameworks used: * [AngularJS](http://angularjs.org) * [RequireJS](http://requirejs.org) * [jQuery](http://jquery.com) -* [Twitter Bootstrap](http://getbootstrap.com) +* [Twitter Bootstrap](https://getbootstrap.com) Additional custom frameworks developed by Operaton hackers: diff --git a/docs/documentation/reference/forms/embedded-forms/integrate/getting-a-distribution.md b/docs/documentation/reference/forms/embedded-forms/integrate/getting-a-distribution.md index b5c6f0a0..70e2eef4 100644 --- a/docs/documentation/reference/forms/embedded-forms/integrate/getting-a-distribution.md +++ b/docs/documentation/reference/forms/embedded-forms/integrate/getting-a-distribution.md @@ -10,19 +10,14 @@ menu: --- -# Manual Download +# Source -The Forms SDK library can be downloaded from -[GitHub](https://github.com/operaton/bower-operaton-bpm-sdk-js/releases). +The Forms SDK source is maintained in the +[Operaton repository](https://github.com/operaton/operaton/tree/main/webapps/frontend/operaton-bpm-sdk-js). - -# Bower - -Alternatively, the Forms SDK can be installed using the Bower package manager: - -``` -bower install operaton-bpm-sdk-js --save -``` +Operaton does not currently publish a standalone Bower package or a separate Bower release repository. +Use the SDK files from your Operaton distribution, or build them from the source tree when embedding +forms in a custom application. # Dependency Management diff --git a/docs/documentation/webapps/admin/configuration.md b/docs/documentation/webapps/admin/configuration.md index cdbe83ae..88ac0c1e 100644 --- a/docs/documentation/webapps/admin/configuration.md +++ b/docs/documentation/webapps/admin/configuration.md @@ -156,7 +156,7 @@ If disabled, the metrics can still be displayed on-demand via a checkbox. ## Advanced styles customization In addition to the basic `user-styles.css` file, you can edit the source style and layout files -using [less](http://lesscss.org/) to change the overall appearance of Admin. +using [less](https://lesscss.org/) to change the overall appearance of Admin. To customize the interface with `less`, start by having a look at the variables defined in the following files: From 2e4752257fc497d3a36f751a57b097e105e959a2 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 16:30:27 +0200 Subject: [PATCH 18/25] Update remaining framework reference links --- docs/documentation/installation/full/wildfly/index.md | 2 +- docs/documentation/user-guide/dmn-engine/embed.md | 10 +++++----- .../process-engine/database/database-configuration.md | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/documentation/installation/full/wildfly/index.md b/docs/documentation/installation/full/wildfly/index.md index bb22ffe0..8ee1c88e 100644 --- a/docs/documentation/installation/full/wildfly/index.md +++ b/docs/documentation/installation/full/wildfly/index.md @@ -12,6 +12,6 @@ menu: --- -This document describes the installation of the [Full Distribution](../../../introduction/downloading-operaton.md#full-distribution) for [WildFly Application Server](http://www.wildfly.org). +This document describes the installation of the [Full Distribution](../../../introduction/downloading-operaton.md#full-distribution) for [WildFly Application Server](https://www.wildfly.org/). There are different options for installing the Full Distribution: diff --git a/docs/documentation/user-guide/dmn-engine/embed.md b/docs/documentation/user-guide/dmn-engine/embed.md index a45ca0b5..a74a2a94 100644 --- a/docs/documentation/user-guide/dmn-engine/embed.md +++ b/docs/documentation/user-guide/dmn-engine/embed.md @@ -327,19 +327,19 @@ configuration.setScriptEngineResolver(new MyScriptEngineResolver()); The DMN engine uses [SLF4J] as logging API. The `operaton-dmn-engine` artifact does not have a dependency to any of the existing [SLF4J] backends. This means that -you can choose which backend you want to use. One example would be [LOGBack], or +you can choose which backend you want to use. One example would be [Logback], or if you want to use Java util logging, you could use the `slf4j-jdk14` artifact. For more information on how to configure and use SLF4J, please refer to the [user manual]. [evaluation listener]: DmnDecisionTableEvaluationListener Interface -[DMN model API]: https://github.com/operaton/operaton-dmn-model +[DMN model API]: ../model-api/dmn-model-api/ [data types]: ../../user-guide/dmn-engine/data-types.md [hit policies]: ../reference/dmn/decision-table/hit-policy.md -[SLF4J]: http://www.slf4j.org/ -[LOGBack]: http://logback.qos.ch/ -[user manual]: http://www.slf4j.org/manual.html +[SLF4J]: https://www.slf4j.org/ +[Logback]: https://logback.qos.ch/ +[user manual]: https://www.slf4j.org/manual.html [DMN decision table]: ../reference/dmn/decision-table/index.md [DMN decision literal expression]: ../reference/dmn/decision-literal-expression/index.md [expressions]: ../../user-guide/dmn-engine/expressions-and-scripts.md diff --git a/docs/documentation/user-guide/process-engine/database/database-configuration.md b/docs/documentation/user-guide/process-engine/database/database-configuration.md index 2d836a90..531108c8 100644 --- a/docs/documentation/user-guide/process-engine/database/database-configuration.md +++ b/docs/documentation/user-guide/process-engine/database/database-configuration.md @@ -16,7 +16,7 @@ There are two ways to configure the database that the Operaton engine will use. * `jdbcUsername`: username to connect to the database. * `jdbcPassword`: password to connect to the database. -Note that the engine uses [Apache MyBatis](http://www.mybatis.org/) internally for persistence. +Note that the engine uses [Apache MyBatis](https://mybatis.org/mybatis-3/) internally for persistence. The data source that is constructed based on the provided JDBC properties will have the default MyBatis connection pool settings. The following attributes can optionally be set to tweak that connection pool (taken from the MyBatis documentation): From 248339996d96b988030e2c6216a257f89a68707e Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 16:42:22 +0200 Subject: [PATCH 19/25] Remove stale public docs self links --- docs/documentation/user-guide/security.md | 2 +- docs/documentation/webapps/cockpit/extend/plugins.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/user-guide/security.md b/docs/documentation/user-guide/security.md index c8005330..160179d0 100644 --- a/docs/documentation/user-guide/security.md +++ b/docs/documentation/user-guide/security.md @@ -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 environments. Install the full distribution manually instead, for example with the [Tomcat manual installation](../installation/full/tomcat/manual.md). :::warning[Security Consideration] The pre-packaged distribution is intended for users who want a getting started experience. In case diff --git a/docs/documentation/webapps/cockpit/extend/plugins.md b/docs/documentation/webapps/cockpit/extend/plugins.md index 6d70e3b2..f24cd5d2 100644 --- a/docs/documentation/webapps/cockpit/extend/plugins.md +++ b/docs/documentation/webapps/cockpit/extend/plugins.md @@ -153,7 +153,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 From ba5f2f108b9427ecccf3cdc3da624da2a8bd527d Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 17:29:26 +0200 Subject: [PATCH 20/25] Use HTTPS architecture reference links --- docs/documentation/introduction/architecture.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/documentation/introduction/architecture.md b/docs/documentation/introduction/architecture.md index 229964df..8c0a9d66 100644 --- a/docs/documentation/introduction/architecture.md +++ b/docs/documentation/introduction/architecture.md @@ -15,7 +15,7 @@ Operaton can be used both as a standalone process engine server or embedded insi ![Process Engine Architecture](/img/documentation/introduction/process-engine-architecture.png) -* [Process Engine Public API](../user-guide/process-engine/process-engine-api.md): Service-oriented API allowing Java applications to interact with the process engine. The different responsibilities of the process engine (i.e., Process Repository, Runtime Process Interaction, Task Management, ...) are separated into individual services. The public API features a [command-style access pattern](http://en.wikipedia.org/wiki/Command_pattern): Threads entering the process engine are routed through a Command Interceptor which is used for setting up Thread Context such as Transactions. +* [Process Engine Public API](../user-guide/process-engine/process-engine-api.md): Service-oriented API allowing Java applications to interact with the process engine. The different responsibilities of the process engine (i.e., Process Repository, Runtime Process Interaction, Task Management, ...) are separated into individual services. The public API features a [command-style access pattern](https://en.wikipedia.org/wiki/Command_pattern): Threads entering the process engine are routed through a Command Interceptor which is used for setting up Thread Context such as Transactions. * **BPMN 2.0 Core Engine**: This is the core of the process engine. It features a lightweight execution engine for graph structures (PVM - Process Virtual Machine), a BPMN 2.0 parser which transforms BPMN 2.0 XML files into Java Objects and a set of BPMN Behavior implementations (providing the implementation for BPMN 2.0 constructs such as Gateways or Service Tasks). * [Job Executor](../user-guide/process-engine/the-job-executor.md): The Job Executor is responsible for processing asynchronous background work such as Timers or asynchronous continuations in a process. * **The Persistence Layer**: The process engine features a persistence layer responsible for persisting process instance state to a relational database. We use the MyBatis mapping engine for object relational mapping. @@ -100,9 +100,9 @@ The Operaton web applications are based on a RESTful architecture. Frameworks used: * [JAX-RS / Jakarta REST](https://jakarta.ee/specifications/restful-ws/) based REST API -* [AngularJS](http://angularjs.org) -* [RequireJS](http://requirejs.org) -* [jQuery](http://jquery.com) +* [AngularJS](https://angularjs.org) +* [RequireJS](https://requirejs.org) +* [jQuery](https://jquery.com) * [Twitter Bootstrap](https://getbootstrap.com) Additional custom frameworks developed by Operaton hackers: From 22876ee5b210793477f9ee4a156f081a487389d0 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 18:23:52 +0200 Subject: [PATCH 21/25] Update remaining HTTP reference links --- docs/documentation/introduction/index.md | 2 +- docs/documentation/introduction/public-api.md | 2 +- .../bpmn20/custom-extensions/extension-attributes.md | 4 ++-- docs/documentation/reference/bpmn20/events/timer-events.md | 6 +++--- .../cmmn11/custom-extensions/operaton-attributes.md | 2 +- .../reference/forms/embedded-forms/controls/date-inputs.md | 2 +- .../documentation/reference/rest/overview/authentication.md | 4 ++-- docs/documentation/reference/rest/overview/hal.md | 2 +- docs/documentation/reference/rest/overview/index.md | 2 +- docs/documentation/reference/spin/json/03-querying-json.md | 2 +- .../reference/spin/json/05-configuring-json.md | 2 +- .../user-guide/dmn-engine/expressions-and-scripts.md | 4 ++-- .../user-guide/process-engine/expression-language.md | 4 ++-- .../user-guide/spring-boot-integration/rest-api.md | 2 +- docs/documentation/webapps/tasklist/filters.md | 6 +++--- 15 files changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/documentation/introduction/index.md b/docs/documentation/introduction/index.md index 2c323957..e50d07a1 100644 --- a/docs/documentation/introduction/index.md +++ b/docs/documentation/introduction/index.md @@ -30,7 +30,7 @@ To give you an overview of Operaton, the following illustration shows the most i ## Modeler * [Operaton Modeler](../modeling-bpmn/index.md): Modeling tool for BPMN 2.0 and CMMN 1.1 diagrams as well as DMN 1.3 decision tables. -* [bpmn.io](http://bpmn.io/): Open-source project for the modeling framework and toolkits. +* [bpmn.io](https://bpmn.io/): Open-source project for the modeling framework and toolkits. ## Web Applications diff --git a/docs/documentation/introduction/public-api.md b/docs/documentation/introduction/public-api.md index 38ecccde..2d1cac37 100644 --- a/docs/documentation/introduction/public-api.md +++ b/docs/documentation/introduction/public-api.md @@ -40,4 +40,4 @@ HTTP API (REST API): ## Backwards Compatibility for Public API -The Operaton versioning scheme follows the MAJOR.MINOR.PATCH pattern put forward by [Semantic Versioning](http://semver.org/). Operaton will maintain public API backwards compatibility for MINOR version updates. Example: Update from version `7.1.x` to `7.2.x` will not break the public API. +The Operaton versioning scheme follows the MAJOR.MINOR.PATCH pattern put forward by [Semantic Versioning](https://semver.org/). Operaton will maintain public API backwards compatibility for MINOR version updates. Example: Update from version `7.1.x` to `7.2.x` will not break the public API. diff --git a/docs/documentation/reference/bpmn20/custom-extensions/extension-attributes.md b/docs/documentation/reference/bpmn20/custom-extensions/extension-attributes.md index c1a00f67..253a39c5 100644 --- a/docs/documentation/reference/bpmn20/custom-extensions/extension-attributes.md +++ b/docs/documentation/reference/bpmn20/custom-extensions/extension-attributes.md @@ -823,7 +823,7 @@ The following attributes are extension attributes for the `camunda` namespace `h
@@ -1112,7 +1112,7 @@ The following attributes are extension attributes for the `camunda` namespace `h diff --git a/docs/documentation/reference/bpmn20/events/timer-events.md b/docs/documentation/reference/bpmn20/events/timer-events.md index 771f8cf0..d5c5df3d 100644 --- a/docs/documentation/reference/bpmn20/events/timer-events.md +++ b/docs/documentation/reference/bpmn20/events/timer-events.md @@ -39,7 +39,7 @@ Example: ### Time Duration -To specify how long the timer should run before it is fired, a timeDuration can be specified as a sub-element of timerEventDefinition. It is possible to define the duration in two different [ISO 8601 Durations](http://en.wikipedia.org/wiki/ISO_8601#Durations) formats: +To specify how long the timer should run before it is fired, a timeDuration can be specified as a sub-element of timerEventDefinition. It is possible to define the duration in two different [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) formats:
  • PnYnMnDTnHnMnS
  • PnW
  • @@ -55,7 +55,7 @@ Example (interval lasting 10 days): ### Time Cycle -Specifies repeating intervals, which can be useful for starting process periodically, or for sending multiple reminders for overdue user tasks. A time cycle element can be in two formats. One option is the format of recurring [time duration](#time-duration), as specified by the [ISO 8601 Repeating Intervals](http://en.wikipedia.org/wiki/ISO_8601#Repeating_intervals) standard. +Specifies repeating intervals, which can be useful for starting process periodically, or for sending multiple reminders for overdue user tasks. A time cycle element can be in two formats. One option is the format of recurring [time duration](#time-duration), as specified by the [ISO 8601 Repeating Intervals](https://en.wikipedia.org/wiki/ISO_8601#Repeating_intervals) standard. Example (3 repeating intervals, each lasting 10 hours): @@ -71,7 +71,7 @@ Additionally, you can specify a time cycle using cron expressions, the example b 0 0/5 * * * ? ``` -Please see the CronTrigger Tutorial for additional information about using cron expressions. +Please see the CronTrigger Tutorial for additional information about using cron expressions. Note: The first symbol denotes seconds, not minutes as in normal Unix cron. diff --git a/docs/documentation/reference/cmmn11/custom-extensions/operaton-attributes.md b/docs/documentation/reference/cmmn11/custom-extensions/operaton-attributes.md index 2390f800..a5c11b46 100644 --- a/docs/documentation/reference/cmmn11/custom-extensions/operaton-attributes.md +++ b/docs/documentation/reference/cmmn11/custom-extensions/operaton-attributes.md @@ -386,7 +386,7 @@ The following attributes are extension attributes for the `operaton` namespace `
diff --git a/docs/documentation/reference/forms/embedded-forms/controls/date-inputs.md b/docs/documentation/reference/forms/embedded-forms/controls/date-inputs.md index 48ddb223..4dc8febb 100644 --- a/docs/documentation/reference/forms/embedded-forms/controls/date-inputs.md +++ b/docs/documentation/reference/forms/embedded-forms/controls/date-inputs.md @@ -41,7 +41,7 @@ The Form SDK itself does not provide any custom components or widgets. As such i Inside Operaton Tasklist, datepicker support is provided through Angular UI. ::: -You can use the [Angular UI datepicker](http://angular-ui.github.io/bootstrap/) +You can use the [Angular UI datepicker](https://angular-ui.github.io/bootstrap/) directive to offer a datepicker for the date input field. The complete markup of the input field including the datepicker button is shown below. diff --git a/docs/documentation/reference/rest/overview/authentication.md b/docs/documentation/reference/rest/overview/authentication.md index 5e4cb923..a0a84b99 100644 --- a/docs/documentation/reference/rest/overview/authentication.md +++ b/docs/documentation/reference/rest/overview/authentication.md @@ -6,7 +6,7 @@ sidebar_position: 10 --- -The REST API ships with an implementation of [HTTP Basic Authentication](http://en.wikipedia.org/wiki/Basic_access_authentication). By default it is switched off, but can be activated by adding a servlet filter as follows: +The REST API ships with an implementation of [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). By default it is switched off, but can be activated by adding a servlet filter as follows: ```xml @@ -38,7 +38,7 @@ The authentication provider is exchangeable. You can implement the interface `or The authentication filter works fine whenever the JAX-RS application containing the REST API is deployed as a servlet. This is not necessarily the case. One such case we are aware of is with some types of RESTEasy deployments: -RESTEasy allows deployment of a JAX-RS application as a servlet filter (see the [RESTEasy docs](http://docs.jboss.org/resteasy/docs/2.3.5.Final/userguide/html/Installation_Configuration.html#filter)). If you choose this method to deploy the REST API application, which we also do in the Tomcat distribution, the authentication filter requires an extra init-param named `rest-url-pattern-prefix`. The value has to correspond to the servlet path (see [HttpServletRequest#getServletPath()](http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getServletPath%28%29)) as in the case that the JAX-RS application is deployed as a servlet. +RESTEasy allows deployment of a JAX-RS application as a servlet filter (see the [RESTEasy docs](https://docs.jboss.org/resteasy/docs/2.3.5.Final/userguide/html/Installation_Configuration.html#filter)). If you choose this method to deploy the REST API application, which we also do in the Tomcat distribution, the authentication filter requires an extra init-param named `rest-url-pattern-prefix`. The value has to correspond to the servlet path (see [HttpServletRequest#getServletPath()](https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getServletPath%28%29)) as in the case that the JAX-RS application is deployed as a servlet. Example: If the RESTEasy configuration is diff --git a/docs/documentation/reference/rest/overview/hal.md b/docs/documentation/reference/rest/overview/hal.md index 73823d00..3cb75a69 100644 --- a/docs/documentation/reference/rest/overview/hal.md +++ b/docs/documentation/reference/rest/overview/hal.md @@ -11,7 +11,7 @@ menu: --- The REST API provides some resources in an additional media type. The -[HAL](http://stateless.co/hal_specification.html) media type `application/hal+json` describes a format which contains +[HAL](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-08) media type `application/hal+json` describes a format which contains links and information about other resources. This allows us to embed the process definition or assignee of a task directly into the response, which in turn reduces the number of necessary requests to gather all information about a diff --git a/docs/documentation/reference/rest/overview/index.md b/docs/documentation/reference/rest/overview/index.md index 988744eb..06792911 100644 --- a/docs/documentation/reference/rest/overview/index.md +++ b/docs/documentation/reference/rest/overview/index.md @@ -354,4 +354,4 @@ You can look up the meaning of all built-in codes and learn how to add custom co ## Authentication -The REST API ships with an implementation of [HTTP Basic Authentication](http://en.wikipedia.org/wiki/Basic_access_authentication). By default it is switched off (in the rest-api web application and therefore also in the pre-built Operaton distributions). You can activate it by adding a servlet filter as described in the [Authentication](authentication.md) section. +The REST API ships with an implementation of [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). By default it is switched off (in the rest-api web application and therefore also in the pre-built Operaton distributions). You can activate it by adding a servlet filter as described in the [Authentication](authentication.md) section. diff --git a/docs/documentation/reference/spin/json/03-querying-json.md b/docs/documentation/reference/spin/json/03-querying-json.md index d68aa040..cf0a4f66 100644 --- a/docs/documentation/reference/spin/json/03-querying-json.md +++ b/docs/documentation/reference/spin/json/03-querying-json.md @@ -10,7 +10,7 @@ menu: --- -The JSON datatype supports querying with the [JSONPath](http://goessner.net/articles/JsonPath/) query language. +The JSON datatype supports querying with the [JSONPath](https://goessner.net/articles/JsonPath/) query language. ## Querying an Element diff --git a/docs/documentation/reference/spin/json/05-configuring-json.md b/docs/documentation/reference/spin/json/05-configuring-json.md index a421e76c..20a8cc00 100644 --- a/docs/documentation/reference/spin/json/05-configuring-json.md +++ b/docs/documentation/reference/spin/json/05-configuring-json.md @@ -10,6 +10,6 @@ menu: --- -Spin can be configured to change JSON parsing, writing and mapping settings, for example to tolerate documents that are not strictly compliant to the standard. Spin uses [Jackson](http://wiki.fasterxml.com/JacksonHome) to handle JSON. The JSON data format therefore uses an instance of `com.fasterxml.jackson.databind.ObjectMapper` that can be configured using Spin's [configuration mechanism](../../../reference/spin/extending-spin.md#configuring-data-formats). +Spin can be configured to change JSON parsing, writing and mapping settings, for example to tolerate documents that are not strictly compliant to the standard. Spin uses [Jackson](https://github.com/FasterXML/jackson) to handle JSON. The JSON data format therefore uses an instance of `com.fasterxml.jackson.databind.ObjectMapper` that can be configured using Spin's [configuration mechanism](../../../reference/spin/extending-spin.md#configuring-data-formats). The data format class to register a configurator for is `org.operaton.spin.impl.json.jackson.format.JacksonJsonDataFormat`. An instance of this class provides a setter for an `ObjectMapper` that can be used to replace the default object mapper. This logic goes into a configurator class that implements the interface `org.operaton.spin.spi.DataFormatConfigurator`. Please refer to the [Jackson's documentation](https://fasterxml.github.io/jackson-databind/javadoc/2.4/) on what configuration options are available. diff --git a/docs/documentation/user-guide/dmn-engine/expressions-and-scripts.md b/docs/documentation/user-guide/dmn-engine/expressions-and-scripts.md index 0509947e..20e6c852 100644 --- a/docs/documentation/user-guide/dmn-engine/expressions-and-scripts.md +++ b/docs/documentation/user-guide/dmn-engine/expressions-and-scripts.md @@ -203,9 +203,9 @@ the script engine before using it. [decision table]: ../../reference/dmn/decision-table/index.md [decision literal expression]: ../../reference/dmn/decision-literal-expression/index.md -[juel]: http://juel.sourceforge.net/ +[juel]: https://juel.sourceforge.net/ [EL]: https://jakarta.ee/specifications/expression-language/4.0/ -[DMN 1.2]: http://www.omg.org/spec/DMN/ +[DMN 1.2]: https://www.omg.org/spec/DMN/ [Rhino]: https://developer.mozilla.org/de/docs/Rhino [Nashorn]: https://blogs.oracle.com/nashorn/ [JSR-223]: https://www.jcp.org/en/jsr/detail?id=223 diff --git a/docs/documentation/user-guide/process-engine/expression-language.md b/docs/documentation/user-guide/process-engine/expression-language.md index 3e9d9637..46fa0278 100644 --- a/docs/documentation/user-guide/process-engine/expression-language.md +++ b/docs/documentation/user-guide/process-engine/expression-language.md @@ -361,7 +361,7 @@ Special built-in context functions are available while evaluating expressions: @@ -387,7 +387,7 @@ If the Operaton Spin process engine plugin is activated, the Spin functions `S`, [JakartaEL](https://jakarta.ee/specifications/expression-language/4.0/) -[JUEL](http://juel.sourceforge.net/) +[JUEL](https://juel.sourceforge.net/) [official documentation](https://jakarta.ee/specifications/expression-language/4.0/jakarta-expression-language-spec-4.0.html) [variables](#availability-of-variables-and-functions-inside-expression-language) [Spring](../spring-framework-integration/index.md) diff --git a/docs/documentation/user-guide/spring-boot-integration/rest-api.md b/docs/documentation/user-guide/spring-boot-integration/rest-api.md index c2154b5c..cf12ca56 100644 --- a/docs/documentation/user-guide/spring-boot-integration/rest-api.md +++ b/docs/documentation/user-guide/spring-boot-integration/rest-api.md @@ -23,7 +23,7 @@ To enable the [REST API](../../reference/rest/index.md) you can use the followin By default the application path is `engine-rest`, so without any further configuration you can access the api at `http://localhost:8080/engine-rest`. -Because we use jersey, one can use spring boot's [common application properties](http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html). +Because we use jersey, one can use Spring Boot's [common application properties](https://docs.spring.io/spring-boot/appendix/application-properties/index.html). For example, to change the application path, use ```properties spring.jersey.application-path=myapplicationpath diff --git a/docs/documentation/webapps/tasklist/filters.md b/docs/documentation/webapps/tasklist/filters.md index cecc018c..f8da3902 100644 --- a/docs/documentation/webapps/tasklist/filters.md +++ b/docs/documentation/webapps/tasklist/filters.md @@ -24,7 +24,7 @@ In Tasklist, you can create and select filters. You can use these filters to cre ## Expressions in Filters -Several of the filter criteria accept expressions as values. These expressions are written in [JUEL](http://juel.sourceforge.net/). In filters which are related to times and dates, you can use the dateTime class, which returns a [Joda-Time](http://www.joda.org/joda-time/) DateTime object. +Several of the filter criteria accept expressions as values. These expressions are written in [JUEL](https://juel.sourceforge.net/). In filters which are related to times and dates, you can use the dateTime class, which returns a [Joda-Time](https://www.joda.org/joda-time/) DateTime object. :::warning[Security Consideration] Filter expressions can be abused to execute arbitrary code when the query is evaluated. It is therefore required that any user authorized to create filters is trusted in this respect. The default behavior of evaluating filter expressions can be deactivated in the process engine configuration. See the section on security considerations for custom code for details. @@ -188,7 +188,7 @@ In the table below we list some of the more common and useful filters that you c Due After @@ -256,4 +256,4 @@ In the table below we list some of the more common and useful filters that you c
Possible Values - An expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ```${dateVariable``` + An expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ```${dateVariable```
Possible Values - An expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ```${dateVariable``` + An expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ```${dateVariable```
Possible Values - An expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ```${dueDate``` + An expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ```${dueDate```
DateTime Returns a Joda-Time DateTime object of the current date. Please see the - Joda-Time + Joda-Time documentation for all available functions.
- The specified date in accordance with ISO 8601 (e.g., 2015-01-01T00:00:01) + The specified date in accordance with ISO 8601 (e.g., 2015-01-01T00:00:01)
-``` \ No newline at end of file +``` From 106c0277b2abaa8c5c8dd96cc39245a162d657ba Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 18:36:06 +0200 Subject: [PATCH 22/25] Remove stale retry reference link --- docs/documentation/reference/spin/xml/06-configuring-xml.md | 2 +- docs/documentation/user-guide/process-engine/error-handling.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/reference/spin/xml/06-configuring-xml.md b/docs/documentation/reference/spin/xml/06-configuring-xml.md index af5efdb4..628b1d1d 100644 --- a/docs/documentation/reference/spin/xml/06-configuring-xml.md +++ b/docs/documentation/reference/spin/xml/06-configuring-xml.md @@ -20,7 +20,7 @@ the `JAXBContext`. Spin uses and caches the context to improve performance. The data format class to register a configurator for is `org.operaton.spin.impl.xml.dom.format.DomXmlDataFormat`. An instance of this class provides setter methods (for the entities mentioned above) that can be used to replace the -default object mapper. Refer to the [JDK documentation](http://docs.oracle.com/javase/8/docs/api/) on what +default object mapper. Refer to the [JDK documentation](https://docs.oracle.com/javase/8/docs/api/) on what configuration can be applied. ## Safe XML processing diff --git a/docs/documentation/user-guide/process-engine/error-handling.md b/docs/documentation/user-guide/process-engine/error-handling.md index c32189a8..bc61c8ad 100644 --- a/docs/documentation/user-guide/process-engine/error-handling.md +++ b/docs/documentation/user-guide/process-engine/error-handling.md @@ -84,7 +84,7 @@ for (Job failedJob : failedJobs) { ### Explicit Modeling -Of course you can always explicitly model a retry mechanism as pointed out in [Where is the retry in BPMN 2.0](http://www.bpm-guide.de/2012/06/15/where-is-the-retry-in-bpmn-2-0/): +Of course you can always explicitly model a retry mechanism: ![Example img](/img/documentation/user-guide/process-engine/retry.png)Retry Mechanism From 81c2094cd2d68ce11672732dc05d237d3e85b751 Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 18:41:26 +0200 Subject: [PATCH 23/25] Fix DMN Javadoc method anchors --- docs/documentation/user-guide/dmn-engine/evaluate-decisions.md | 2 +- .../user-guide/process-engine/decisions/decision-service.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/user-guide/dmn-engine/evaluate-decisions.md b/docs/documentation/user-guide/dmn-engine/evaluate-decisions.md index 09787062..92a3dafa 100644 --- a/docs/documentation/user-guide/dmn-engine/evaluate-decisions.md +++ b/docs/documentation/user-guide/dmn-engine/evaluate-decisions.md @@ -244,7 +244,7 @@ decisionResult.getSingleEntry(); ``` Note that the decision can also be evaluated using the -evaluateDecisionTable() method if it is implemented as [decision table]. In this case, evaluation returns a DmnDecisionTableResult which is semantically equal and provides the same methods as a +evaluateDecisionTable() method if it is implemented as [decision table]. In this case, evaluation returns a DmnDecisionTableResult which is semantically equal and provides the same methods as a `DmnDecisionResult`. ### Decisions with Required Decisions diff --git a/docs/documentation/user-guide/process-engine/decisions/decision-service.md b/docs/documentation/user-guide/process-engine/decisions/decision-service.md index e028a29a..58f4d3a5 100644 --- a/docs/documentation/user-guide/process-engine/decisions/decision-service.md +++ b/docs/documentation/user-guide/process-engine/decisions/decision-service.md @@ -102,7 +102,7 @@ Note that the decision result also provides methods to get typed output entries. A complete list of all methods can be found in the [Java Docs](https://docs.operaton.org/reference/latest/javadoc/org/operaton/bpm/dmn/engine/DmnDecisionResult.html). If the decision is implemented as [decision table] then it can also be evaluated using one of the -evaluateDecisionTable methods. In this case, the evaluation returns a DmnDecisionTableResult which is semantically equal and provide the same methods as a +evaluateDecisionTable methods. In this case, the evaluation returns a DmnDecisionTableResult which is semantically equal and provide the same methods as a `DmnDecisionResult`. ## History of Evaluated Decisions From 4751be54836ae2787e3a39c4b65dcfef31de38bc Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 21:28:30 +0200 Subject: [PATCH 24/25] Replace stale security and script links --- .../user-guide/dmn-engine/expressions-and-scripts.md | 4 ++-- docs/documentation/user-guide/security.md | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/documentation/user-guide/dmn-engine/expressions-and-scripts.md b/docs/documentation/user-guide/dmn-engine/expressions-and-scripts.md index 20e6c852..fdcd5947 100644 --- a/docs/documentation/user-guide/dmn-engine/expressions-and-scripts.md +++ b/docs/documentation/user-guide/dmn-engine/expressions-and-scripts.md @@ -206,8 +206,8 @@ the script engine before using it. [juel]: https://juel.sourceforge.net/ [EL]: https://jakarta.ee/specifications/expression-language/4.0/ [DMN 1.2]: https://www.omg.org/spec/DMN/ -[Rhino]: https://developer.mozilla.org/de/docs/Rhino -[Nashorn]: https://blogs.oracle.com/nashorn/ +[Rhino]: https://rhino.github.io/ +[Nashorn]: https://openjdk.org/projects/nashorn/ [JSR-223]: https://www.jcp.org/en/jsr/detail?id=223 [default EL]: ../../user-guide/dmn-engine/embed.md#change-default-expression-languages [configure EL]: ../../user-guide/dmn-engine/embed.md#customize-expression-and-script-resolving diff --git a/docs/documentation/user-guide/security.md b/docs/documentation/user-guide/security.md index 160179d0..99852af4 100644 --- a/docs/documentation/user-guide/security.md +++ b/docs/documentation/user-guide/security.md @@ -305,7 +305,7 @@ In case you want to rely on allowed package and class names from the engine conf An implementation of this interface registered as validator will be provided with the defined packages and classes from the engine configuration upon initialization of the engine via `#setAllowedClasses` and `#setAllowedPackages`. :::note[Jackson Type Whitelisting] - Spin's JSON implementation is based on Jackson. If you configure Operaton Spin to deserialize polymorphic classes based on type information included in the JSON itself (i.e. where the JSON contains explicit class names), we strongly recommend to additionally enable Jackson's [Whitelisting feature](https://medium.com/@cowtowncoder/jackson-2-10-safe-default-typing-2d018f0ce2ba) starting with version 2.10. Operaton's whitelisting feature does not cover this case. + Spin's JSON implementation is based on Jackson. If you configure Operaton Spin to deserialize polymorphic classes based on type information included in the JSON itself (i.e. where the JSON contains explicit class names), we strongly recommend to additionally enable Jackson's [PolymorphicTypeValidator feature](https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.10#safe-default-typing) starting with version 2.10. Operaton's whitelisting feature does not cover this case. ::: ### User operation log settings for synchronous operations affecting multiple entities @@ -417,5 +417,4 @@ Please find below external documentation on how to configure your application se * Operaton Run/Spring Boot 2.3+ * Official Documentation * [Javadocs about ErrorProperties.IncludeStacktrace](https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/api/org/springframework/boot/autoconfigure/web/ErrorProperties.IncludeStacktrace.html) - * Alternative Resources - * [Error Handling on Baeldung](https://www.baeldung.com/spring-boot-configure-tomcat#2-error-handling) + * [Common application properties](https://docs.spring.io/spring-boot/appendix/application-properties/index.html) From 9f934e4b8ad8dcb5859c7c31547112afe7b1a75e Mon Sep 17 00:00:00 2001 From: Julian Haupt Date: Wed, 17 Jun 2026 21:38:19 +0200 Subject: [PATCH 25/25] Polish updated security and plugin wording --- docs/documentation/user-guide/security.md | 8 ++++---- docs/documentation/webapps/admin/plugins.md | 2 +- docs/documentation/webapps/tasklist/tasklist-plugins.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/documentation/user-guide/security.md b/docs/documentation/user-guide/security.md index 99852af4..238a8e08 100644 --- a/docs/documentation/user-guide/security.md +++ b/docs/documentation/user-guide/security.md @@ -10,9 +10,9 @@ 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 an Operaton installation. For Operaton's security policy, a list of security notices and a guide to reporting vulnerabilities, please visit the [general security documentation](/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 +To secure an 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 lists them 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. ## Deployment Options and Components @@ -164,7 +164,7 @@ To prevent this: 1. Use group instead of user authorizations when possible. 2. Complete tasks that were assigned to to-be-deleted users. 3. Delete user authorizations via Admin web app or APIs. -4. Don't allow to reuse an id of a deleted user. +4. Don't allow reuse of the id of a deleted user. ### Spring Security OAuth2 @@ -263,7 +263,7 @@ Operaton handles many XML files containing configurations of process engines, de If the limitations on XML files introduced by XXE prevention need to be removed, XXE processing can be enabled via `enableXxeProcessing` in the [process engine configuration](../reference/deployment-descriptors/tags/process-engine.mdx#enableXxeProcessing). -FSP itself can not be disabled in the engine. All properties that are influenced by this can however be configured in the environment via system properties and the `jaxp.properties` file. See the [Oracle documentation](https://docs.oracle.com/javase/tutorial/jaxp/limits/using.html) on how to determine the right limits and how to set them. +FSP itself cannot be disabled in the engine. All properties that are influenced by this can however be configured in the environment via system properties and the `jaxp.properties` file. See the [Oracle documentation](https://docs.oracle.com/javase/tutorial/jaxp/limits/using.html) on how to determine the right limits and how to set them. Since BPMN schema validation requires external XSD documents, the property `http://javax.xml.XMLConstants/property/accessExternalSchema` is by default configured to value `all`, which enables referencing XML schemas by any supported protocol. This can be overridden via the system property `javax.xml.accessExternalSchema`, however a value set via `jaxp.properties` does not take effect. diff --git a/docs/documentation/webapps/admin/plugins.md b/docs/documentation/webapps/admin/plugins.md index 35578d3a..6b4de5a3 100644 --- a/docs/documentation/webapps/admin/plugins.md +++ b/docs/documentation/webapps/admin/plugins.md @@ -21,7 +21,7 @@ For further details about the concepts behind plugins, please read the [Cockpit :::warning[Difference between Cockpit and Admin plugins:] * To publish the plugin with Admin, its class name must be put into a file called ```org.operaton.bpm.admin.plugin.spi.AdminPlugin``` that resides in the directory ```META-INF/services```. - * The plugin mechanism of Admin does not allow to provide additional SQL queries by using [MyBatis](https://mybatis.org/mybatis-3/) mappings. + * The plugin mechanism of Admin does not allow providing additional SQL queries by using [MyBatis](https://mybatis.org/mybatis-3/) mappings. ::: diff --git a/docs/documentation/webapps/tasklist/tasklist-plugins.md b/docs/documentation/webapps/tasklist/tasklist-plugins.md index ba2f7bfd..f31dd257 100644 --- a/docs/documentation/webapps/tasklist/tasklist-plugins.md +++ b/docs/documentation/webapps/tasklist/tasklist-plugins.md @@ -20,7 +20,7 @@ For further details about the concepts behind plugins, please read the [Cockpit :::warning[Difference between Cockpit and Tasklist plugins:] * To publish the plugin with Tasklist, its class name must be put into a file called ```org.operaton.bpm.tasklist.plugin.spi.TasklistPlugin``` that resides in the directory ```META-INF/services```. - * The plugin mechanism of Tasklist does not allow to provide additional SQL queries by using [MyBatis](https://mybatis.org/mybatis-3/) mappings. + * The plugin mechanism of Tasklist does not allow providing additional SQL queries by using [MyBatis](https://mybatis.org/mybatis-3/) mappings. ::: ## Plugin Points