diff --git a/docs/documentation/reference/deployment-descriptors/tags/process-engine.md b/docs/documentation/reference/deployment-descriptors/tags/process-engine.md index df1df48..257dbc3 100644 --- a/docs/documentation/reference/deployment-descriptors/tags/process-engine.md +++ b/docs/documentation/reference/deployment-descriptors/tags/process-engine.md @@ -95,11 +95,11 @@ The following example shows an XML snippet which can be placed in both [processe

Text Content: - The fully qualified classname of the Process Engine Configuration class to be used for this process engine. The class must be a subclass of ProcessEngineConfigurationImpl. + The fully qualified classname of the Process Engine Configuration class to be used for this process engine. The class must be a subclass of ProcessEngineConfigurationImpl.

Default Value: - StandaloneProcessEngineConfiguration + StandaloneProcessEngineConfiguration

Example:
@@ -215,7 +215,7 @@ The following example shows an XML snippet which can be placed in both [processe

Text Content: - The fully qualified classname of a process engine plugin. Must be an implementation of ProcessEnginePlugin + The fully qualified classname of a process engine plugin. Must be an implementation of ProcessEnginePlugin

@@ -504,7 +504,7 @@ The following is a list with the most commonly used process engine configuration used as the Metrics Reporter identifier.

A custom hostname can be generated by providing an implementation of the - HostnameProvider + HostnameProvider interface and and setting the engine property hostnameProvider to an instance of that class.

@@ -1018,7 +1018,7 @@ The following is a list with the most commonly used process engine configuration disableBuiltinExceptionCodeProvider Boolean - Disables the default implementation of ExceptionCodeProvider which allows overriding the reserved exception codes. + Disables the default implementation of ExceptionCodeProvider which allows overriding the reserved exception codes.

Default value is false.

@@ -1029,7 +1029,7 @@ The following is a list with the most commonly used process engine configuration customExceptionCodeProvider - ExceptionCodeProvider + ExceptionCodeProvider Allows registering a custom implementation of the exception code provider allowing to provide custom exception codes.

diff --git a/docs/documentation/user-guide/cdi-java-ee-integration/the-cdi-event-bridge.md b/docs/documentation/user-guide/cdi-java-ee-integration/the-cdi-event-bridge.md index f6274d3..98c28ae 100644 --- a/docs/documentation/user-guide/cdi-java-ee-integration/the-cdi-event-bridge.md +++ b/docs/documentation/user-guide/cdi-java-ee-integration/the-cdi-event-bridge.md @@ -131,7 +131,7 @@ If the listener is invoked after the transaction has completed, the `DelegateTas # The CDI Event Bridge in a process application To use the CDI Event Bridge in combination with a multi application deployment and the shared process engine, the -CdiEventListener needs to be added as a +CdiEventListener needs to be added as a [Process Application Execution Event Listener](../../user-guide/process-applications/process-application-event-listeners.md). Example configuration for [Servlet Process Application](../../user-guide/process-applications/the-process-application-class.md#the-servletprocessapplication): diff --git a/docs/documentation/user-guide/dmn-engine/data-types.md b/docs/documentation/user-guide/dmn-engine/data-types.md index 0db5219..219c9b8 100644 --- a/docs/documentation/user-guide/dmn-engine/data-types.md +++ b/docs/documentation/user-guide/dmn-engine/data-types.md @@ -142,7 +142,7 @@ types. For example, you can add a new type for time or change the transformation to support a different date format or localized boolean constants. -To do this, implement a new [DmnDataTypeTransformer](org/operaton/bpm/dmn/engine/impl/spi/type/DmnDataTypeTransformer.html). The transformation is processed in the `transform()` method and returns a typed value. If it cannot successfully transform a value, it must throw an `IllegalArgumentException`. +To do this, implement a new [DmnDataTypeTransformer](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/impl/spi/type/DmnDataTypeTransformer.html). The transformation is processed in the `transform()` method and returns a typed value. If it cannot successfully transform a value, it must throw an `IllegalArgumentException`. ```java public class CustomDataTypeTransformer implements DmnDataTypeTransformer { diff --git a/docs/documentation/user-guide/dmn-engine/embed.md b/docs/documentation/user-guide/dmn-engine/embed.md index a8bf948..65bc32a 100644 --- a/docs/documentation/user-guide/dmn-engine/embed.md +++ b/docs/documentation/user-guide/dmn-engine/embed.md @@ -50,7 +50,7 @@ This section gives more insights of embedded DMN engine configuration. In case y ## Decision Table Evaluation Listeners -The DMN engine configuration allows you add a custom decision table [evaluation listener](org/operaton/bpm/dmn/engine/delegate/DmnDecisionTableEvaluationListener.html). +The DMN engine configuration allows you add a custom decision table [evaluation listener](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/delegate/DmnDecisionTableEvaluationListener.html). A decision table evaluation listener is notified after a decision table has been evaluated. It receives an evaluation event which contains the result of the evaluation. You can decide if the listener should be notified before or after the default listeners. ```java @@ -71,7 +71,7 @@ configuration.getCustomPostDecisionTableEvaluationListeners() ``` A specialized evaluation listener is the -[metric collector](org/operaton/bpm/dmn/engine/spi/DmnEngineMetricCollector.html) +[metric collector](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/spi/DmnEngineMetricCollector.html) , which records the number of executed decision elements. This metric can be used to monitor the workload of a decision engine. ```java @@ -87,7 +87,7 @@ configuration.setEngineMetricCollector(metricCollector); ``` ## Decision Evaluation Listeners -The DMN engine configuration allows you add a custom [decision evaluation listener](org/operaton/bpm/dmn/engine/delegate/DmnDecisionEvaluationListener.html). A decision evaluation listener is +The DMN engine configuration allows you add a custom [decision evaluation listener](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/delegate/DmnDecisionEvaluationListener.html). A decision evaluation listener is notified after a decision with all the required decisions has been evaluated. It receives an evaluation event which contains the result of the evaluation. You can decide if the listener should be notified before or after the default listeners. @@ -117,16 +117,16 @@ Please be aware that these APIs are **not** part of the [public API](../../intro ::: -The [default DMN engine configuration](org/operaton/bpm/dmn/engine/impl/DefaultDmnEngineConfiguration.html) +The [default DMN engine configuration](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/impl/DefaultDmnEngineConfiguration.html) has further customization and extension points. ## Customize DMN Transformation -It is possible to customize the transformation of DMN by providing a [DMN transformer](org/operaton/bpm/dmn/engine/impl/spi/transform/DmnTransformer.html) or configuring the [default one](org/operaton/bpm/dmn/engine/impl/transform/DefaultDmnTransformer.html). +It is possible to customize the transformation of DMN by providing a [DMN transformer](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/impl/spi/transform/DmnTransformer.html) or configuring the [default one](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/impl/transform/DefaultDmnTransformer.html). ### Register DMN Transform Listeners -The simplest customization is to provide a [transform listener](org/operaton/bpm/dmn/engine/impl/spi/transform/DmnTransformListener.html). The Listener is notified after a DMN element is +The simplest customization is to provide a [transform listener](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/impl/spi/transform/DmnTransformListener.html). The Listener is notified after a DMN element is transformed. The listener can modify the transformed object. ```java @@ -146,11 +146,11 @@ configuration.getTransformer() ### Register DMN Element Transform Handler While the transform listener allows modifying of the transformed objects, it does not support instantiating custom subclasses. -This can be achieved using a custom [transform handler](org/operaton/bpm/dmn/engine/impl/spi/transform/DmnElementTransformHandler.html). +This can be achieved using a custom [transform handler](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/impl/spi/transform/DmnElementTransformHandler.html). A transform handler is registered for a given [DMN model API] type like a `DecisionTable`. -First, implement a transform handler which can transform a [decision table](org/operaton/bpm/model/dmn/instance/DecisionTable.html). +First, implement a transform handler which can transform a [decision table](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/model/dmn/instance/DecisionTable.html). ```java public class MyDecisionTableHandler extends DmnElementTransformHandler { @@ -289,7 +289,7 @@ Just make sure that the corresponding libraries are available on the classpath a The default DMN engine resolves the supported expression and script languages using different providers. -To evaluate `JUEL` expressions, the DMN engine uses the ElProvider configured in the +To evaluate `JUEL` expressions, the DMN engine uses the ElProvider configured in the DMN engine configuration. To use another implementation of the Unified Expression Language, replace this implementation. ```java @@ -301,7 +301,7 @@ DefaultDmnEngineConfiguration configuration = (DefaultDmnEngineConfiguration) Dm configuration.setElProvider(new MyElProvider()); ``` -To configure the `FEEL` engine used you can provide a custom FeelEngineFactory. +To configure the `FEEL` engine used you can provide a custom FeelEngineFactory. ```java // with a default DMN engine configuration @@ -312,7 +312,7 @@ DefaultDmnEngineConfiguration configuration = (DefaultDmnEngineConfiguration) Dm configuration.setFeelEngineFactory(new MyFeelEngineFactory()); ``` -Script languages are resolved by the DmnScriptEngineResolver. To customize the script engine resolving, provide an own implementation. +Script languages are resolved by the DmnScriptEngineResolver. To customize the script engine resolving, provide an own implementation. ```java // with a default DMN engine configuration @@ -333,7 +333,7 @@ For more information on how to configure and use SLF4J, please refer to the [user manual]. -[evaluation listener]: DmnDecisionTableEvaluationListener Interface +[evaluation listener]: DmnDecisionTableEvaluationListener Interface [DMN model API]: https://github.com/operaton/operaton-dmn-model [data types]: ../../user-guide/dmn-engine/data-types.md [hit policies]: ../reference/dmn/decision-table/hit-policy.md diff --git a/docs/documentation/user-guide/dmn-engine/evaluate-decisions.md b/docs/documentation/user-guide/dmn-engine/evaluate-decisions.md index ba3310b..264d888 100644 --- a/docs/documentation/user-guide/dmn-engine/evaluate-decisions.md +++ b/docs/documentation/user-guide/dmn-engine/evaluate-decisions.md @@ -12,11 +12,11 @@ menu: --- -The DMN engine interface exposes methods for parsing and evaluating DMN Decisions. +The DMN engine interface exposes methods for parsing and evaluating DMN Decisions. # Parse Decisions -Decisions can be parsed from an `InputStream` or transformed from a DmnModelInstance. +Decisions can be parsed from an `InputStream` or transformed from a DmnModelInstance. This example shows how to parse a decision from an input stream: @@ -108,7 +108,7 @@ The DRG is represented in the XML by the `definitions` element. The `id` of the ## Decision Tables only -It is possible to check if a parsed decision is implemented as [decision table] by using the method isDecisionTable(). +It is possible to check if a parsed decision is implemented as [decision table] by using the method isDecisionTable(). ```java // create a default DMN engine @@ -133,7 +133,7 @@ if (decision.isDecisionTable()) { # Evaluate Decisions -To evaluate (or "execute") a decision, either pass an already transformed DmnDecision or use a DMN model instance or input stream in combination with a decision key. +To evaluate (or "execute") a decision, either pass an already transformed DmnDecision or use a DMN model instance or input stream in combination with a decision key. As input to the evaluation, a set of input variables must be provided. @@ -181,7 +181,7 @@ Use the `VariableContext` to support lazy-loading of variables. ## Interpret the Decision Result -The evaluation of a DMN decision returns a DmnDecisionResult. If the decision is implemented as [decision table] then the result is a list of the +The evaluation of a DMN decision returns a DmnDecisionResult. If the decision is implemented as [decision table] then the result is a list of the matching decision rule results. These results represent a mapping from an output name to an output value. If the decision is instead implemented as [decision literal expression] then the result is a list @@ -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/dmn-engine/feel/legacy-behavior.md b/docs/documentation/user-guide/dmn-engine/feel/legacy-behavior.md index 3193e25..e547db0 100644 --- a/docs/documentation/user-guide/dmn-engine/feel/legacy-behavior.md +++ b/docs/documentation/user-guide/dmn-engine/feel/legacy-behavior.md @@ -32,5 +32,5 @@ simple unary tests. ::: [legacy behavior flag]: ../../../reference/deployment-descriptors/tags/process-engine.md#dmnFeelEnableLegacyBehavior -[fluent feel flag setter]: ../org/operaton/bpm/dmn/engine/impl/DefaultDmnEngineConfiguration.html#enableFeelLegacyBehavior -[feel flag setter](org/operaton/bpm/dmn/engine/impl/DefaultDmnEngineConfiguration.html#setEnableFeelLegacyBehavior) +[fluent feel flag setter]: https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/impl/DefaultDmnEngineConfiguration.html#enableFeelLegacyBehavior +[feel flag setter](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/impl/DefaultDmnEngineConfiguration.html#setEnableFeelLegacyBehavior) diff --git a/docs/documentation/user-guide/dmn-engine/testing.md b/docs/documentation/user-guide/dmn-engine/testing.md index 55140ff..6554a1a 100644 --- a/docs/documentation/user-guide/dmn-engine/testing.md +++ b/docs/documentation/user-guide/dmn-engine/testing.md @@ -13,7 +13,7 @@ menu: --- To easily test DMN decisions in a JUnit test, the DMN engine provides a -JUnit Rule. The DmnEngineRule creates a new default DMN engine. The DMN engine can be used in test cases to parse and evaluate decisions. +JUnit Rule. The DmnEngineRule creates a new default DMN engine. The DMN engine can be used in test cases to parse and evaluate decisions. ```java public class DecisionTest { @@ -63,6 +63,6 @@ public class DecisionTest { } ``` -The [DmnDecisionResult](org/operaton/bpm/dmn/engine/DmnDecisionResult.html) implements the interface `List`. Whereas the -[DmnDecisionResultEntries](org/operaton/bpm/dmn/engine/DmnDecisionResultEntries.html) implements the interface `Map`. +The [DmnDecisionResult](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/DmnDecisionResult.html) implements the interface `List`. Whereas the +[DmnDecisionResultEntries](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/dmn/engine/DmnDecisionResultEntries.html) implements the interface `Map`. This allows you to use common `List` or `Map` asserts. 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 cc4c7db..2ac1980 100644 --- a/docs/documentation/user-guide/ext-client/spring-boot-starter.md +++ b/docs/documentation/user-guide/ext-client/spring-boot-starter.md @@ -65,7 +65,7 @@ Or, by defining configuration attributes in the annotation: ``` Please find the complete list of attributes in the -Javadocs. +Javadocs. **Please Note:** A property defined in the `application.yml` file always overrides the respective attribute defined programmatically via annotation. @@ -612,4 +612,4 @@ to your `pom.xml` file: To bootstrap the Client, use the class annotation `@EnableExternalTaskClient`. You can find all configuration attributes in the -Javadocs. +Javadocs. diff --git a/docs/documentation/user-guide/process-engine/decisions/bpmn-cmmn.md b/docs/documentation/user-guide/process-engine/decisions/bpmn-cmmn.md index a26ab73..472bcb5 100644 --- a/docs/documentation/user-guide/process-engine/decisions/bpmn-cmmn.md +++ b/docs/documentation/user-guide/process-engine/decisions/bpmn-cmmn.md @@ -106,7 +106,7 @@ Object value = decisionResult It also provides methods to get typed output entries like `getSingleEntryTyped()`. Please refer to the [User Guide][Typed Value API] for details about typed values. A complete list of all methods can be found in the -Java Docs. +Java Docs. The decision result is available in the local scope of the executing task as a transient variable named `decisionResult`. It can be passed into a variable by 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 7a0323a..c2e8eff 100644 --- a/docs/documentation/user-guide/process-engine/decisions/decision-service.md +++ b/docs/documentation/user-guide/process-engine/decisions/decision-service.md @@ -99,10 +99,10 @@ String result = decisionResult.getSingleEntry(); ``` 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](/org/operaton/bpm/dmn/engine/DmnDecisionResult). +A complete list of all methods can be found in the [Java Docs](https://operaton.github.io/operaton/javadoc/operaton/1.0/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 diff --git a/docs/documentation/user-guide/process-engine/decisions/history.md b/docs/documentation/user-guide/process-engine/decisions/history.md index 92cbd21..3923f9e 100644 --- a/docs/documentation/user-guide/process-engine/decisions/history.md +++ b/docs/documentation/user-guide/process-engine/decisions/history.md @@ -103,7 +103,7 @@ List historicDecisions = processEngine # The Historic Decision Instance -The [HistoricDecisionInstance](/org/operaton/bpm/engine/history/HistoricDecisionInstance) contains information about a single +The [HistoricDecisionInstance](https://operaton.github.io/operaton/javadoc/operaton/1.0/org/operaton/bpm/engine/history/HistoricDecisionInstance.html) contains information about a single evaluation of a decision. ```java diff --git a/docs/documentation/user-guide/process-engine/delegation-code.md b/docs/documentation/user-guide/process-engine/delegation-code.md index 03d0c8c..3cfdf31 100644 --- a/docs/documentation/user-guide/process-engine/delegation-code.md +++ b/docs/documentation/user-guide/process-engine/delegation-code.md @@ -39,7 +39,7 @@ interface, which requires us to implement the `execute(DelegateExecution)` method. It's this operation that will be called by the engine and which needs to contain the business logic. Process instance information such as process variables and other information can be accessed and -manipulated through the DelegateExecution interface (click on the link for a detailed Javadoc of its operations). +manipulated through the DelegateExecution interface (click on the link for a detailed Javadoc of its operations). ```java public class ToUppercase implements JavaDelegate { @@ -611,7 +611,7 @@ public class BookOutGoodsDelegate implements JavaDelegate { # Exception codes -You can throw a `ProcessEngineException` +You can throw a `ProcessEngineException` from your delegation code and define your custom error code by passing it to the constructor or by calling `ProcessEngineException#setCode`. diff --git a/docs/documentation/user-guide/process-engine/error-handling.md b/docs/documentation/user-guide/process-engine/error-handling.md index 3c179b8..ff161b0 100644 --- a/docs/documentation/user-guide/process-engine/error-handling.md +++ b/docs/documentation/user-guide/process-engine/error-handling.md @@ -104,7 +104,7 @@ Having a failed jobs list instead of using the "normal" task list feels like a m Sometimes an API call doesn't succeed because a problem occurs. The Java programming model uses exceptions to handle these situations. Exceptions that occur on the process engine's application level are -of the type `ProcessEngineException`. +of the type `ProcessEngineException`. Here are two examples of everyday situations in which the engine throws a `ProcessEngineException`: @@ -153,7 +153,7 @@ You can configure the exception error codes feature in your [process engine conf ### Register a Custom Code Provider -With the help of a [`ProcessEnginePlugin`](../process-engine/process-engine-plugins.md) you can register a custom `ExceptionCodeProvider`: +With the help of a [`ProcessEnginePlugin`](../process-engine/process-engine-plugins.md) you can register a custom `ExceptionCodeProvider`: ```java engineConfig.setCustomExceptionCodeProvider(new ExceptionCodeProvider() { diff --git a/docs/documentation/user-guide/process-engine/expression-language.md b/docs/documentation/user-guide/process-engine/expression-language.md index a44493f..87db71c 100644 --- a/docs/documentation/user-guide/process-engine/expression-language.md +++ b/docs/documentation/user-guide/process-engine/expression-language.md @@ -200,7 +200,7 @@ elements which can be provided with a JUEL expression. The expression is evaluat `ExternalTaskService#handleFailure`. If the expression evaluates to `true`, a BPMN error is thrown which can be caught by an [Error Boundary Event](../../reference/bpmn20/events/error-events.md#error-boundary-event). -In the scope of an External Task, expressions have access to the ExternalTaskEntity object via the key `externalTask` which provides getter methods for `errorMessage`, `errorDetails`, `workerId`, `retries` and more. +In the scope of an External Task, expressions have access to the ExternalTaskEntity object via the key `externalTask` which provides getter methods for `errorMessage`, `errorDetails`, `workerId`, `retries` and more. **Examples:** @@ -264,7 +264,7 @@ evaluating expressions: execution - DelegateExecution + DelegateExecution Available in a BPMN execution context like a service task, execution listener or sequence flow. @@ -272,17 +272,17 @@ evaluating expressions: task - DelegateTask + DelegateTask Available in a task context like a task listener. externalTask - ExternalTask + ExternalTask Available during an external task context activity (e.g. in operaton:errorEventDefinition expressions). caseExecution - DelegateCaseExecution + DelegateCaseExecution Available in a CMMN execution context. diff --git a/docs/documentation/user-guide/process-engine/external-tasks.md b/docs/documentation/user-guide/process-engine/external-tasks.md index 29b3ec2..ad2573b 100644 --- a/docs/documentation/user-guide/process-engine/external-tasks.md +++ b/docs/documentation/user-guide/process-engine/external-tasks.md @@ -65,7 +65,7 @@ In addition, other *service-task-like* elements such as send tasks, business rul ### Error Event Definitions -External tasks allow for the definition of error events that throw a specified BPMN error. This can be done by adding a [operaton:errorEventDefinition](../../reference/bpmn20/custom-extensions/extension-elements.md#erroreventdefinition) extension element to the task's definition. Compared to the `bpmn:errorEventDefinition`, the `operaton:errorEventDefinition` elements accept an additional `expression` attribute which supports any JUEL expression. Within the expression, you have access to the ExternalTaskEntity object via the key `externalTask` which provides getter methods +External tasks allow for the definition of error events that throw a specified BPMN error. This can be done by adding a [operaton:errorEventDefinition](../../reference/bpmn20/custom-extensions/extension-elements.md#erroreventdefinition) extension element to the task's definition. Compared to the `bpmn:errorEventDefinition`, the `operaton:errorEventDefinition` elements accept an additional `expression` attribute which supports any JUEL expression. Within the expression, you have access to the ExternalTaskEntity object via the key `externalTask` which provides getter methods for `errorMessage`, `errorDetails`, `workerId`, `retries` and more. The expression is evaluated on invocations of `ExternalTaskService#complete` and 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 8f95bb6..0fff927 100644 --- a/docs/documentation/user-guide/process-engine/history/custom-implementation.md +++ b/docs/documentation/user-guide/process-engine/history/custom-implementation.md @@ -24,7 +24,7 @@ Once the event has reached the History Event Handler, it can be processed and st Exchanging the History Event Handler with a custom implementation allows users to plug in a custom History Backend. To do so, two main steps are required: -* Provide a custom implementation of the HistoryEventHandler interface. +* Provide a custom implementation of the HistoryEventHandler interface. * Wire the custom implementation in the process engine configuration. :::note[Composite History Handling] diff --git a/docs/documentation/user-guide/process-engine/history/history-configuration.md b/docs/documentation/user-guide/process-engine/history/history-configuration.md index 9a6ae6f..90c9a92 100644 --- a/docs/documentation/user-guide/process-engine/history/history-configuration.md +++ b/docs/documentation/user-guide/process-engine/history/history-configuration.md @@ -36,7 +36,7 @@ The history level controls the amount of data the process engine provides via th * Historic External Task Log CREATED, DELETED, FAILED, SUCCESSFUL: fired as an external task has been created, deleted or an external task execution has been reported to fail or succeed. * `AUTO`: The level `auto` is useful if you are planning to run multiple engines on the same database. In that case, all engines have to use the same history level. Instead of manually keeping your configurations in sync, use the level `auto` and the engine determines the level already configured in the database automatically. If none is found, the default value `audit` is used. Keep in mind: If you are planning to use custom history levels, you have to register the custom levels for every configuration, otherwise an exception is thrown. -If you need to customize the amount of history events logged, you can provide a custom implementation HistoryEventProducer and wire it in the process engine configuration. +If you need to customize the amount of history events logged, you can provide a custom implementation HistoryEventProducer and wire it in the process engine configuration. In case of specific needs, you can also create a [custom history level](../history/custom-implementation.md#implement-a-custom-history-level). diff --git a/docs/documentation/user-guide/process-engine/history/user-operation-log.md b/docs/documentation/user-guide/process-engine/history/user-operation-log.md index e231b34..fddb812 100644 --- a/docs/documentation/user-guide/process-engine/history/user-operation-log.md +++ b/docs/documentation/user-guide/process-engine/history/user-operation-log.md @@ -29,9 +29,9 @@ The log consists of *operations* and *entries*. An operation corresponds to one A user operation log entry has the following properties: * **Operation ID**: A generated id that uniquely identifies a performed operation. Multiple log entries that are part of one operation reference the same operation ID. -* **Operation Type**: The name of the performed operation. Available operation types are listed in the interface org.operaton.bpm.engine.history.UserOperationLogEntry. Note that one operation can consist of multiple types, for example a cascading API operation is one user operation, but is split into multiple types of operations. -* **Entity Type**: An identifier of the type of the entity that was addressed by the operation. Available entity types are listed in the class org.operaton.bpm.engine.EntityTypes. Like the operation type, one operation may address more than one type of entity. -* **Category**: The name of the category the operation is associated with. Available categories are listed in the interface org.operaton.bpm.engine.history.UserOperationLogEntry. For example, all task related runtime operations like claiming and completing tasks fall into the category . +* **Operation Type**: The name of the performed operation. Available operation types are listed in the interface org.operaton.bpm.engine.history.UserOperationLogEntry. Note that one operation can consist of multiple types, for example a cascading API operation is one user operation, but is split into multiple types of operations. +* **Entity Type**: An identifier of the type of the entity that was addressed by the operation. Available entity types are listed in the class org.operaton.bpm.engine.EntityTypes. Like the operation type, one operation may address more than one type of entity. +* **Category**: The name of the category the operation is associated with. Available categories are listed in the interface org.operaton.bpm.engine.history.UserOperationLogEntry. For example, all task related runtime operations like claiming and completing tasks fall into the category . * **Annotation**: An arbitrary text annotation set by a user for auditing reasons. Multiple log entries that belong to an operation have the same annotation. * **Entity IDs**: A job log entry contains the entity IDs that serve to identify the entities addressed by the operation. For example, an operation log entry on a task contains the id of the task as well as the id of the process instance the task belongs to. As a second example, a log entry for suspending all process instances of a process definition does not contain individual process instance IDs but only the process definition ID. * **User ID**: The ID of the user who performed the operation. diff --git a/docs/documentation/user-guide/process-engine/identity-service.md b/docs/documentation/user-guide/process-engine/identity-service.md index 446649a..07dc280 100644 --- a/docs/documentation/user-guide/process-engine/identity-service.md +++ b/docs/documentation/user-guide/process-engine/identity-service.md @@ -32,8 +32,8 @@ Operaton distinguishes between read-only and writable user repositories. A read- To provide a custom identity provider implementation, the following interfaces can be implemented: -* org.operaton.bpm.engine.impl.identity.ReadOnlyIdentityProvider -* org.operaton.bpm.engine.impl.identity.WritableIdentityProvider +* org.operaton.bpm.engine.impl.identity.ReadOnlyIdentityProvider +* org.operaton.bpm.engine.impl.identity.WritableIdentityProvider # Custom Whitelist for User, Group and Tenant IDs diff --git a/docs/documentation/user-guide/process-engine/incidents.md b/docs/documentation/user-guide/process-engine/incidents.md index d478fc0..7228693 100644 --- a/docs/documentation/user-guide/process-engine/incidents.md +++ b/docs/documentation/user-guide/process-engine/incidents.md @@ -120,4 +120,4 @@ All additional incident handlers will be added as sub handlers to the `Composite By default, the main handler is `DefaultIncidentHandler`. To override the main handler, create a `CompositeIncidentHandler` with your own main `IncidentHandler` and initialize the incident handlers in the engine configuration before setting up the engine. See javadoc for more details -Composite Incident Handler. \ No newline at end of file +Composite Incident Handler. \ No newline at end of file diff --git a/docs/documentation/user-guide/process-engine/metrics.md b/docs/documentation/user-guide/process-engine/metrics.md index a5f9f7b..3a1becb 100644 --- a/docs/documentation/user-guide/process-engine/metrics.md +++ b/docs/documentation/user-guide/process-engine/metrics.md @@ -14,7 +14,7 @@ The process engine reports runtime metrics to the database that can help draw co # Built-in Metrics -The following table describes the built-in metrics. The identifiers of all built-in metrics are available as constants of the class org.operaton.bpm.engine.management.Metrics. +The following table describes the built-in metrics. The identifiers of all built-in metrics are available as constants of the class org.operaton.bpm.engine.management.Metrics. @@ -119,7 +119,7 @@ The following table describes the built-in metrics. The identifiers of all built # Querying -Metrics can be queried by making a MetricsQuery offered by the `ManagementService`. For example, the following query retrieves the number of all executed activity instances throughout the entire history of reporting: +Metrics can be queried by making a MetricsQuery offered by the `ManagementService`. For example, the following query retrieves the number of all executed activity instances throughout the entire history of reporting: ```java long numCompletedActivityInstances = managementService @@ -172,12 +172,12 @@ Metrics are reported with an identifier of the reporting party. This identifier reports to individual engine instances when making a metrics query. For example in a cluster, load metrics can be related to individual cluster nodes. By default the process engine generates a reporter id as `$`. The generation can be customized by implementing the -interface org.operaton.bpm.engine.impl.history.event.HostnameProvider +interface org.operaton.bpm.engine.impl.history.event.HostnameProvider and setting the engine property `hostnameProvider` to an instance of that class. :::note[Heads Up!] The -org.operaton.bpm.engine.impl.metrics.MetricsReporterIdProvider +org.operaton.bpm.engine.impl.metrics.MetricsReporterIdProvider interface and the corresponding `metricsReporterIdProvider` engine property have been deprecated. ::: diff --git a/docs/documentation/user-guide/process-engine/multi-tenancy.md b/docs/documentation/user-guide/process-engine/multi-tenancy.md index 8983932..ac785c4 100644 --- a/docs/documentation/user-guide/process-engine/multi-tenancy.md +++ b/docs/documentation/user-guide/process-engine/multi-tenancy.md @@ -43,7 +43,7 @@ If no tenant identifier is set then the deployment and its definitions belong to ### Specify the Tenant Identifier via Java API -When a deployment is created using the Repository Service, the tenant identifier can be set on the DeploymentBuilder. +When a deployment is created using the Repository Service, the tenant identifier can be set on the DeploymentBuilder. ```java repositoryService @@ -151,7 +151,7 @@ Note that the [transparent access restrictions](#transparent-access-restrictions ### Create a Process Instance -To create an instance by key of a process definition which is deployed for multiple tenants, the tenant identifier has to be passed to the ProcessInstantiationBuilder. +To create an instance by key of a process definition which is deployed for multiple tenants, the tenant identifier has to be passed to the ProcessInstantiationBuilder. ```java runtimeService @@ -162,7 +162,7 @@ runtimeService ### Correlate a Message -The [Message API](../../reference/bpmn20/events/message-events.md#message-api) can be used to correlate a message to one or all tenants. In case a message can correlate to definitions or executions of multiple tenants, the tenant identifier has to be passed to the MessageCorrelationBuilder. Otherwise, a `MismatchingMessageCorrelationException` is thrown. +The [Message API](../../reference/bpmn20/events/message-events.md#message-api) can be used to correlate a message to one or all tenants. In case a message can correlate to definitions or executions of multiple tenants, the tenant identifier has to be passed to the MessageCorrelationBuilder. Otherwise, a `MismatchingMessageCorrelationException` is thrown. ```java runtimeService @@ -181,7 +181,7 @@ runtimeService ### Send a Signal -The [Signal API](../../reference/bpmn20/events/signal-events.md#signal-api) can be used to deliver a signal to one or all tenants. Pass the tenant identifier to the SignalEventReceivedBuilder to deliver the signal to a specific tenant. If no identifier is passed then the signal is delivered to all tenants. +The [Signal API](../../reference/bpmn20/events/signal-events.md#signal-api) can be used to deliver a signal to one or all tenants. Pass the tenant identifier to the SignalEventReceivedBuilder to deliver the signal to a specific tenant. If no identifier is passed then the signal is delivered to all tenants. ```java runtimeService @@ -194,7 +194,7 @@ When a signal is thrown within a process (i.e., intermediate signal event or sig ### Create a Case Instance -To create an instance by key of a case definition which is deployed for multiple tenants, the tenant identifier has to be passed to the CaseInstanceBuilder. +To create an instance by key of a case definition which is deployed for multiple tenants, the tenant identifier has to be passed to the CaseInstanceBuilder. ```java caseService @@ -205,7 +205,7 @@ caseService ### Evaluate a Decision Table -To evaluate a decision table by key which is deployed for multiple tenants, the tenant identifier has to be passed to the DecisionEvaluationBuilder. +To evaluate a decision table by key which is deployed for multiple tenants, the tenant identifier has to be passed to the DecisionEvaluationBuilder. ```java decisionService @@ -379,7 +379,7 @@ repositoryService.createProcessDefinitionQuery() ### Instantiate a Shared Definition When creating (starting) a new process instance, the tenant id of the process definition is propagated to the process instance. -Shared resources do not have a tenant id which means that no tenant id is propagated automatically. To have the tenant id of the user who starts the process instances assigned to the process instance, an implementation of the TenantIdProvider SPI needs to be provided. +Shared resources do not have a tenant id which means that no tenant id is propagated automatically. To have the tenant id of the user who starts the process instances assigned to the process instance, an implementation of the TenantIdProvider SPI needs to be provided. The `TenantIdProvider` receives a callback when an instance of a process definition, case definition or decision definition is created. It can then assign a tenant id to the newly created instance (or not). 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 609fb9e..7f4a685 100644 --- a/docs/documentation/user-guide/process-engine/process-diagram-api.md +++ b/docs/documentation/user-guide/process-engine/process-diagram-api.md @@ -22,7 +22,7 @@ The previous JavaScript BPMN renderer can still be found at [operaton-bpmn.js](h # bpmn.io Diagram Renderer -To render a process diagram, you need to retrieve the diagram XML via the Java- or [REST API](../getProcessDefinitionBpmn20XmlByKey#Process-Definition). The following example shows how to render the process XML using bpmn.io. For more documentation regarding the annotation of the diagram and user interaction, please refer to the [bpmn.io](https://github.com/bpmn-io/bpmn-js) page. +To render a process diagram, you need to retrieve the diagram XML via the Java- or [REST API](../getProcessDefinitionBpmn20XmlByKey#Process-Definition). The following example shows how to render the process XML using bpmn.io. For more documentation regarding the annotation of the diagram and user interaction, please refer to the [bpmn.io](https://github.com/bpmn-io/bpmn-js) page. ```javascript var BpmnViewer = require('bpmn-js'); diff --git a/docs/documentation/user-guide/process-engine/process-engine-bootstrapping.md b/docs/documentation/user-guide/process-engine/process-engine-bootstrapping.md index 78be543..c876ad8 100644 --- a/docs/documentation/user-guide/process-engine/process-engine-bootstrapping.md +++ b/docs/documentation/user-guide/process-engine/process-engine-bootstrapping.md @@ -30,7 +30,7 @@ A container of your choice (e.g., Tomcat, Wildfly or IBM WebSphere) manages the ## ProcessEngineConfiguration Bean -The Operaton engine uses the ProcessEngineConfiguration bean to configure and construct a standalone Process Engine. There are multiple subclasses available that can be used to define the process engine configuration. These classes represent different environments, and set defaults accordingly. It's a best practice to select the class that matches (most of) your environment to minimize the number of properties needed to configure the engine. The following classes are currently available: +The Operaton engine uses the ProcessEngineConfiguration bean to configure and construct a standalone Process Engine. There are multiple subclasses available that can be used to define the process engine configuration. These classes represent different environments, and set defaults accordingly. It's a best practice to select the class that matches (most of) your environment to minimize the number of properties needed to configure the engine. The following classes are currently available: * `org.operaton.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration` The process engine is used in a standalone way. The engine itself will take care of the transactions. By default the database will only be checked when the engine boots (an exception is thrown if there is no database schema or the schema version is incorrect). diff --git a/docs/documentation/user-guide/process-engine/process-engine-plugins.md b/docs/documentation/user-guide/process-engine/process-engine-plugins.md index 70a25f6..49acdb2 100644 --- a/docs/documentation/user-guide/process-engine/process-engine-plugins.md +++ b/docs/documentation/user-guide/process-engine/process-engine-plugins.md @@ -15,7 +15,7 @@ The process engine configuration can be extended through process engine plugins. extension to the [process engine configuration](../process-engine/process-engine-bootstrapping.md). A plugin must provide an implementation of the -ProcessEnginePlugin interface. +ProcessEnginePlugin interface. # Configure Process Engine Plugins diff --git a/docs/documentation/user-guide/process-engine/scripting.md b/docs/documentation/user-guide/process-engine/scripting.md index 8bfdc16..5903196 100644 --- a/docs/documentation/user-guide/process-engine/scripting.md +++ b/docs/documentation/user-guide/process-engine/scripting.md @@ -449,9 +449,9 @@ i.e., `$sum`) There are also special variables: -1. `execution`, which is always available if the script is executed in an execution scope (e.g., in a script task) (DelegateExecution). -1. `task`, which is available if the script is executed in a task scope (e.g., a task listener) (DelegateTask). -1. `connector`, which is available if the script is executed in a connector variable scope (e.g., outputParameter of a operaton:connector) (ConnectorVariableScope). +1. `execution`, which is always available if the script is executed in an execution scope (e.g., in a script task) (DelegateExecution). +1. `task`, which is available if the script is executed in a task scope (e.g., a task listener) (DelegateTask). +1. `connector`, which is available if the script is executed in a connector variable scope (e.g., outputParameter of a operaton:connector) (ConnectorVariableScope). These variables correspond to the `DelegateExecution`, `DelegateTask` or resp. `ConnectorVariableScope` interface which means that it can be used to get and set variables or access process engine services. @@ -474,9 +474,9 @@ task = execution.getProcessEngineServices().getTaskService() Operaton's Java API provides access to Operaton's process engine services; these services can be accessed using Scripts: -Process Engine Services +Process Engine Services -Public Java API of Operaton Engine +Public Java API of Operaton Engine Example of creating a BPMN Message that correlates with the message key "work": diff --git a/docs/documentation/user-guide/process-engine/the-job-executor.md b/docs/documentation/user-guide/process-engine/the-job-executor.md index 71cc5e4..ef82f59 100644 --- a/docs/documentation/user-guide/process-engine/the-job-executor.md +++ b/docs/documentation/user-guide/process-engine/the-job-executor.md @@ -262,7 +262,7 @@ To optimize the acquisition of jobs that need to be executed immediately, the `D In case each job must have a `DUEDATE_` set, the optimization can be disabled. This can be done by setting the `ensureJobDueDateNotNull` [process engine configuration flag](../../reference/deployment-descriptors/tags/process-engine.md#ensureJobDueDateNotNull) to `true`. -However, any jobs created with a `null` value for `DUEDATE_` before disabling the optimization will not be picked up by the Job Acquisition phase, unless the jobs are explicitly updated with a due date through the **Set Due Date** Java / Rest or **Set Retries** Java / [REST](../../reference/rest/specification/#tag/Job/operation/setJobRetries) APIs. +However, any jobs created with a `null` value for `DUEDATE_` before disabling the optimization will not be picked up by the Job Acquisition phase, unless the jobs are explicitly updated with a due date through the **Set Due Date** Java / Rest or **Set Retries** Java / [REST](../../reference/rest/specification/#tag/Job/operation/setJobRetries) APIs. ## The Two Phases of Job Acquisition diff --git a/docs/documentation/user-guide/quarkus-integration/configuration.md b/docs/documentation/user-guide/quarkus-integration/configuration.md index 8b40c2b..29c0776 100644 --- a/docs/documentation/user-guide/quarkus-integration/configuration.md +++ b/docs/documentation/user-guide/quarkus-integration/configuration.md @@ -58,7 +58,7 @@ A `QuarkusProcessEngineConfiguration` instance provides the following defaults: diff --git a/docs/documentation/user-guide/quarkus-integration/deployments.md b/docs/documentation/user-guide/quarkus-integration/deployments.md index c493483..dcf0c4d 100644 --- a/docs/documentation/user-guide/quarkus-integration/deployments.md +++ b/docs/documentation/user-guide/quarkus-integration/deployments.md @@ -13,7 +13,7 @@ menu: This section documents how to perform process engine deployments with a Quarkus application containing an embedded process engine. The documentation assumes some familiarity with [Quarkus CDI support][quarkus-cdi] and the Operaton -DeploymentBuilder API. +DeploymentBuilder API. The Operaton Engine Quarkus Extension only supports programmatic deployments. A user can observe for the `OperatonEngineStartupEvent` CDI event. The `OperatonEngineStartupEvent` signals that a process engine has been diff --git a/docs/documentation/user-guide/runtime-container-integration/bpm-platform-services.md b/docs/documentation/user-guide/runtime-container-integration/bpm-platform-services.md index 17b4361..829c347 100644 --- a/docs/documentation/user-guide/runtime-container-integration/bpm-platform-services.md +++ b/docs/documentation/user-guide/runtime-container-integration/bpm-platform-services.md @@ -15,12 +15,12 @@ To inspect the current state of configured process engines and deployed process # ProcessEngineService -The ProcessEngineService can be accessed by calling `BpmPlatform.getProcessEngineService()`. It offers access to the default process engine, as well as any process engine by its name as specified in the process engine configuration. It returns `ProcessEngine` objects from which any services for a specific engine can be accessed. +The ProcessEngineService can be accessed by calling `BpmPlatform.getProcessEngineService()`. It offers access to the default process engine, as well as any process engine by its name as specified in the process engine configuration. It returns `ProcessEngine` objects from which any services for a specific engine can be accessed. # ProcessApplicationService -The ProcessApplicationService is accessible via `BpmPlatform.getProcessApplicationService()`. It provides details on the process application deployments made on the application server it is running on. That means that it does not provide a global view across all nodes in a cluster. +The ProcessApplicationService is accessible via `BpmPlatform.getProcessApplicationService()`. It provides details on the process application deployments made on the application server it is running on. That means that it does not provide a global view across all nodes in a cluster. Given a process application name, a `ProcessApplicationInfo` object can be retrieved that contains details on the deployments made by this process application. These correspond to the process archives declared in [processes.xml](../process-applications/the-processes-xml-deployment-descriptor.md). diff --git a/docs/documentation/user-guide/spring-boot-integration/spring-security.md b/docs/documentation/user-guide/spring-boot-integration/spring-security.md index c330441..76587e6 100644 --- a/docs/documentation/user-guide/spring-boot-integration/spring-security.md +++ b/docs/documentation/user-guide/spring-boot-integration/spring-security.md @@ -47,14 +47,14 @@ registration in the application properties (`spring.security.oauth2.client.regis Configuration activates if there is OAuth2 client registration configured. This class configures the Spring Security filter chain to secure the Operaton Webapps. -Spring auto configuration class: OperatonSpringSecurityOAuth2AutoConfiguration +Spring auto configuration class: OperatonSpringSecurityOAuth2AutoConfiguration ## Spring Security Disabled Auto Configuration Configuration activates if there is **no** OAuth2 client registration configured. This class configures the Spring Security filter chain to a permit all mode. -Spring auto configuration class: OperatonBpmSpringSecurityDisableAutoConfiguration +Spring auto configuration class: OperatonBpmSpringSecurityDisableAutoConfiguration # OAuth2 Client Registration @@ -103,7 +103,7 @@ to grant administrator authorizations for a particular OAuth2 user or group. # OAuth2 Identity Provider Additionally to the OAuth2 login, Operaton also provides support to use groups from OAuth2. -This is achieved with a custom [identity service](../process-engine/identity-service.md), called OAuth2IdentityProvider. +This is achieved with a custom [identity service](../process-engine/identity-service.md), called OAuth2IdentityProvider. This is a read-only identity provider that configures user's groups from the [Spring Security's granted authorities][Authorities]. This identity provider also supports the default Operaton Database Identity Service as a fallback for authentications for the REST API. diff --git a/docs/documentation/user-guide/spring-framework-integration/configuration.md b/docs/documentation/user-guide/spring-framework-integration/configuration.md index d1cd1d4..32eafdd 100644 --- a/docs/documentation/user-guide/spring-framework-integration/configuration.md +++ b/docs/documentation/user-guide/spring-framework-integration/configuration.md @@ -32,7 +32,7 @@ The ProcessEngine can be configured as a regular Spring bean. The starting point ``` -Note that the processEngineConfiguration bean uses the SpringProcessEngineConfiguration class. +Note that the processEngineConfiguration bean uses the SpringProcessEngineConfiguration class. # Configure a Container-Managed Process Engine as a Spring Bean diff --git a/docs/documentation/user-guide/spring-framework-integration/testing.md b/docs/documentation/user-guide/spring-framework-integration/testing.md index d6efc6c..dd3c67c 100644 --- a/docs/documentation/user-guide/spring-framework-integration/testing.md +++ b/docs/documentation/user-guide/spring-framework-integration/testing.md @@ -43,7 +43,7 @@ public class MyBusinessProcessTest { } ``` -Note that for this to work, you need to define a ProcessEngineRule bean in the Spring configuration (which is injected by auto-wiring in the example above). +Note that for this to work, you need to define a ProcessEngineRule bean in the Spring configuration (which is injected by auto-wiring in the example above). ```xml
idGenerator - An instance of StrongUuidGeneratoris used. + An instance of StrongUuidGeneratoris used. StrongUuidGenerator