Interim storage of data entered through business process UI forms

🌐 This document is available in both English and Ukrainian. Use the language toggle in the top right corner to switch between versions.

1. Functional scenarios

  • Saving data entered by the user through a UI form without task completion [To be implemented]

  • Displaying previously saved data on the UI form upon returning to task execution [Supported]

2. Basic principles

  • Interim saving is only available for data entered through UI task forms (UserTask) within an initiated business process

  • The interim saving function is not available for data entered through the initial form of the business process without the actual initiation of its execution

  • The interim saving function is not available for data signature tasks (CitizenSignTask and OfficerSignTask).

  • Interim saving is a system function that is unconditionally available for the aforementioned UI forms and does not require separate configuration by the administrator

  • Initiating interim data saving for data entered through a UI task form during execution is a conscious choice by the user, depending on the circumstances, through invoking a system function on the UI form

  • Interim data saving is not an automatic or periodic process for the UI form during user data entry

  • Interim data saving is only possible if the data conforms to the configured validation rules on the respective UI form

  • Upon returning to the execution of a business process task for which the system function for saving user-entered data through the corresponding UI form was initiated, the system automatically populates the work with the saved data to continue

3. Technical design

The diagram depicts the services of the platform involved in fulfilling the requirements and their interactions. Additionally, important features to consider within the implementation are illustrated.

bpm-interim-save-load-form-data

3.1. System components and their roles in solution design

This section lists the components of the system that are involved or require modification/creation as part of implementing the functional requirements according to the technical solution design.

Component Service name Usage scenarios

Officer and Citizen portals

- officer-portal

- citizen-portal

- Unconditional display of the system function for interim data saving on UI forms of business process tasks [To be implemented]

- Initiating the system function for interim data saving on UI forms of business process tasks [To be implemented]

- Displaying saved data on the UI form upon returning to task execution [Supported]

User tasks management service

user-task-management

- Handling requests for interim data saving within user task operations [To be implemented]

- Handling requests for retrieving temporarily saved data of a task’s UI form for subsequent display [Supported]

UI form data validation service

form-submission-validation

Validation of data entered by the user through UI task forms for conformity to configured rules

Distributed in-memory data storage

redis

Storing interim data during the execution of business processes

3.3. System API extension for scenario implementation

3.3.1. Saving interim data of UI task form

Access to the API is possible only within the context of a request executed by an authenticated user in the system. This API route should be exposed for external access through a separate Kong Route.

POST /api/task/{id}/save

Parameter Type Request part Description

X-Access-Token

JWT

HTTP header

User access token

id

Text

Request parameter

Unique identifier of the task in execution

Example request body
{
  "data": {
    ...
  }
}
Table 1. Error codes
Code Description

200

OK with the result in the form of saved data

400

Malformed request

401

Authentication error (access token missing)

422

Data validation error regarding the UI task form schema

500

Server error processing the request

3.3.2. Retrieving previously saved data of UI task form in business process

Access to the API is possible only within the context of a request executed by an authenticated user in the system. This API route should be exposed for external access through a separate Kong Route.

GET /api/task/{id}

Parameter Type Request part Description

X-Access-Token

JWT

HTTP header

User access token

id

Text

Request parameter

Unique identifier of the task in execution

Example response to request
{
  "id": "",
  "taskDefinitionKey": "",
  "formKey": "",
  "name": "",
  "assignee": "",
  "data": {
    ...
  }
}
Table 2. Error codes
Code Description

200

OK with the result in the form of task metadata and saved data

400

Malformed request

401

Authentication error

403

Authorization error

404

Task with specified {id} is absent

500

Server error processing the request