Configuration of process actions
Actions that the user can trigger on existing processes can be offered on data records in the monitor. An action usually calls up a backend system such as the INUBIT Process Engine and triggers the processing of the action there. For example, data can be changed or specialist processes can be triggered.
Available process actions are stored via corresponding entries on the data records and then offered in the interface.
-
Toolbar function
Available actions are offered in the toolbar via function icons. -
Context menu
The available actions are offered via the context menu (right-click on a data record). -
Action column
If an action column is configured, a button with access to the action(s) is offered in the row of the data record, see Action column. -
Detailed view
See Process actions in the monitor detail view.
The user documentation for this function can be found here.
Access rights
For a user to be able to use process actions, they need the right bpcMonitor_processAction.
If the system that processes the process action is accessed via a Backend Connection, the right loadModule_backendconnection is required for all users of the function.
Provide actions via data records
To provide actions, the data must provide a field with the prefix ACTION_.
To do this, a new column must usually be created in the database that holds the data.
|
Several fields with the prefix can be used to provide more actions. However, several actions can also be provided via one field. |
The following sections describe how the content of the fields is interpreted.
Single action
A simple text value (without separator, see Action list) is offered directly as an action. The value forms both the ID of the action and the label on the interface.
Example: Freigeben
Action list
Text value that contains separators (usually comma ","). The text is separated at the separator and an action is offered for each part. The ID and label consist of the separated text part.
Example: "ACTION_Mehrere" : "Freigeben,Ablehnen,Löschen"
Detailed action configuration
It is also possible to save a JSON string.
This can contain one or more actions.
The following attributes can be specified:
-
id
(string)
ID -
name
(string)
Label
At least one of the attributesnameoridmust be set. -
label
(string, languageKey, object)
Label, overwritesname
If neitherlabelnornameare set, no label is displayed. A language key or an object with localizations can be used. -
tooltip
(string, languageKey, object)
Additional information on mouse-over of the label
A language key or an object with localizations can be used. -
iconCls
(string)
Icon (Font Awesome Icons - see FontAwesome library) -
sortValue
(number)
Sequence (should be numerical).
(default is 1; it is first sorted bysortValuedescending and then bynameascending) -
requireConfirmation
Confirmation is required before a user performs the action.
-
requireComment
(boolean)
Comment is required before a user performs the action.
-
confirmationText
(string, languageKey)
Confirmation text for the confirmation box (requireConfirmationmust be set to true). A language key can also be used here. If not configured, the text is set as the default as above. -
role
(array)
Restrict the display depending on the user’s role.This is only a restriction of visibility. The backend system must check the user’s roles/rights itself when called.
-
right
(array)
Restricts the display depending on the user’s rights.This is only a visibility restriction. The backend system must check the roles/rights of the user itself when calling.
-
organisation
(array)
Restrict the display depending on the user’s organization/group.This is only a visibility restriction. The backend system must check the user’s roles/rights itself when the call is made.
-
target
(string)
This parameter specifies the target of the action. Possible options are:-
processStarter- Call process starter via an action -
forms- Send forms via an action
-
-
params
(object)
This attribute can be used to provide an object with additional parameters. Is used for Call process starter via an action, for example.
[
{
"id": "Annehmen",
"name": "Qualitätsprüfung erfolgreich",
"iconCls": "fas fa-award",
"sortValue": 1,
"requireComment": true
}
]
[
{
"id": "Ablehnen",
"name": "Fehler melden/Ablehnen",
"iconCls": "fas fa-times-circle",
"sortValue": 2,
"role": ["bpcadmin"]
}
]
|
Further user-defined attributes are permitted, but do not contribute to the action configuration. |
Call process starter via an action
You can also use an action to call the Process Starter with a defined process. To do this, it is necessary to configure the process action via a JSON object (see Detailed action configuration).
The value processStarter is set as target.
The key target process can be specified in the process attribute via params.
[
{
"id": "start-process",
"name": "Prozessstarter",
"iconCls": "x-fal fa-play",
"target":"processStarter",
"params":{
"process":"testProcess"
}
}
]
|
In this way, process starters can also be called up for processes that are hidden by specifying |
Send forms via an action
You can use an action to send currently displayed BPC Forms To do this, it is necessary to configure the process action via a JSON object (see Detailed action configuration).
The value forms is set as target.
In this case, the first form that is found is sent (Submit - Form submission).
|
Only a form that is visible can be sent. The use of this function is therefore recommended in the Monitor detail view where process actions and BPC Forms can be displayed in parallel. |
To ensure that the correct form is sent, the selection can be narrowed down using a selector.
To do this, an additional selector is defined under params in the selector attribute, which is taken into account when the form is selected.
FORMS-KOMPONENTEN-ID[
{
"id": "start-process",
"name": "Prozessstarter",
"iconCls": "x-fal fa-play",
"target":"forms",
"params":{
"selector":"moduleId=FORMS-KOMPONENTEN-ID"
}
}
]
Process actions in the monitor detail view
Process actions can also be triggered in the monitor detail view. See for this Configuration of the monitor detail view.
Action column
To display a column in the monitor that provides direct access to the available actions, a column of type gridActionColumn must be added to Monitor_ColumnConfig.
The parameter showIconOnly can be used to control whether only the icons should be displayed at the button.
This action column can also be used in the history grid in the same way as the monitor.
Monitor_Column_Config{
"xtype": "gridActionColumn",
"localized": {
"text": "Aktionen"
},
"showIconOnly": true
}
Process action end point
The following settings in the monitor configuration are relevant for the end point of the process action:
-
INUBIT backend connection (
inubit_proxyId):
The backend Connection that is used to call the process action is specified here. This can be a connection to the INUBIT Process Engine or IGUASU, for example. -
Base URL for INUBIT (
inubit_baseUrl):
The base URL for calling the process action is specified here. -
Endpoint (
inubit_actionEndpoint):
The specific endpoint for the process action is specified here.
The exact URL for calling the process action is composed as follows:
{URL der inubit_proxyId}/{inubit_baseUrl}/{inubit_actionEndpoint}
Expected return format
The client expects a JSON or XML response from the server.
The Content-Type header must be set accordingly to correctly transmit the data format to the client:
-
JSON responses require
Content-Type: application/json. -
XML responses require
Content-Type: application/xml.
The response in JSON format is recommended, as the XML format will be less supported for the process action in the future.
Response to sending the process
{
"success": false,
"msg": "Fehlermeldung"
}
<Response>
<success>false</success>
<msg>Fehlermeldung</msg>
</Response>
{
"success": true,
"msg": "Aktion vom Prozess 4711 erfolreich"
}
<Response>
<success>true</success>
<msg>Aktion vom Prozess 4711 erfolreich</msg>
</Response>
{
"success": true,
"msg": "Alles toll. Siehe Datei!",
"download": {
"data": "UHJvemVzc2FrdGlvbiBEb3dubG9hZCE",
"fileName": "processAction.txt",
"contentType": "text/plain"
}
}
<Response>
<success>true</success>
<msg>Alles toll. Siehe Datei!</msg>
<download>
<data>UHJvemVzc2FrdGlvbiBEb3dubG9hZCE=</data>
<fileName>processAction.txt</fileName>
<contentType>text/plain</contentType>
</download>
</Response>