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.
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 |
{
"data": {
...
}
}
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 |
{
"id": "",
"taskDefinitionKey": "",
"formKey": "",
"name": "",
"assignee": "",
"data": {
...
}
}
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 |