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 attributes name or id must be set.

  • label
    (string, languageKey, object)
    Label, overwrites name
    If neither label nor name are 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 by sortValue descending and then by name ascending)

  • requireConfirmation
    Confirmation is required before a user performs the action.

    process action requireConfirmation
  • requireComment
    (boolean)
    Comment is required before a user performs the action.

    process action requireComment
  • confirmationText
    (string, languageKey)
    Confirmation text for the confirmation box (requireConfirmation must 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:

  • 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.

Example
[
	{
		"id": "Annehmen",
		"name": "Qualitätsprüfung erfolgreich",
		"iconCls": "fas fa-award",
		"sortValue": 1,
		"requireComment": true
	}
]
Beispiel
[
	{
		"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.

Example
[
  {
  "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 hidden: true.

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.

Example - with a selector for the form with the ID 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.

Example - action column in 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

Example error
{
    "success": false,
    "msg": "Fehlermeldung"
}
<Response>
    <success>false</success>
    <msg>Fehlermeldung</msg>
</Response>
Example OK
{
    "success": true,
    "msg": "Aktion vom Prozess 4711 erfolreich"
}
<Response>
    <success>true</success>
    <msg>Aktion vom Prozess 4711 erfolreich</msg>
</Response>
Example file download
{
    "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>

Keywords: