Intervening a running process at a certain position and redirecting the process flow in order to include project-specific processing steps.
Table of Contents
Introduction
The interceptors allow for project-specific extensions of the yuuvis® Momentum standard process flows. The running process flow can be redirected by a condition set on the processed object that has to be specified in the interceptor definition. Whenever the process flow meets the condition, the project-specific process extension is included for the currently processed object at this position of the process flow. Thus, the alternative process can entirely replace the standard one from this position on or resume the standard process at a specified position.
Interceptor Configuration
The condition for the intervention of the process flow is defined in the interceptor configuration file \system\interceptorConfiguration.json
.
Parameters
The following parameters are available for the interceptor configuration:
Parameter | Type | Required | Description |
---|---|---|---|
type | String | yes | The type of the interceptor. It defines the position in the process flow where the interceptor can step in. |
predicate | String | yes | The condition that triggers the redirection of the process flow in order to include the project-specific process extension. The string can provide the condition either in Spring Expression Language (SpEL) or Javascript. Thus, the string always has to start with a prefix spel: for SpEL or js: for Javascript. |
url | String | yes | HTTP address of an external endpoint defining the project-specific process extension. Dynamic components (properties of the processed object) can be included in curly brackets. |
useDiscovery | Boolean | no | Decides whether to resolve the url string at the Discovery-Service or not. If not specified, a default value is set. |
Interceptor Types
There are different types of interceptors available that interrupt the process flow at different positions.
Interceptor type | Evaluation target of the predicate | Interceptor input data | Description |
---|---|---|---|
getContent | API DMS object in JSON format derived from given objectId | objectId | Manipulation of the binary content of the return statement by a project-specific service |
search | Structure of the specific class SearchInterceptorObject | Search query object | Manipulation of the search query parameter and the search result. |
updateDmsObject | First API DMS object in the list in JSON format that is passed to the corresponding update endpoint | Updated metadata and metadata of current version | Manipulation of the update properties that will be applied to a DMS object. |
Summary
This article gave an overview of the interceptors in yuuvis® Momentum. If you want to extend the functionality of your system, system hooks also might be an interesting topic for you.