Проміжне збереження даних, внесених через UI-форми задач бізнес-процесів

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

1. Функціональні сценарії

  • Збереження даних, внесених через UI-форму користувачем, без завершення виконання задачі [Необхідно реалізувати]

  • Відображення попередньо збережених даних на UI-формі при поверненні до виконання задачі [Підтримується]

2. Базові принципи

  • Проміжне збереження доступне тільки для даних, які вносяться через UI-форми задач (UserTask) в рамках ініційованого бізнес-процесу

  • Функція проміжного збереження не доступна для даних, які були внесені через стартову форму бізнес-процесу без фактичного ініціювання його виконання

  • Функція проміжного збереження не доступна для задач підпису даних (CitizenSignTask та OfficerSignTask)

  • Проміжне збереження є системною функцією, яка доступна безумовно для вищезазначених UI-форм та не потребує окремого налаштування адміністратором

  • Ініціювання проміжного збереження даних, внесених через UI-форму задачі у виконанні є свідомим вибором користувача в залежності від обставин через виклик системної функції на UI-формі

  • Проміжне збереження даних не є автоматичним / періодичним процесом для UI-форми у процесі внесення даних користувачем

  • Проміжне збереження даних доступне тільки за умови, що дані відповідають налаштованим правилам валідації на відповідній UI-формі

  • При поверненні до виконання задачі бізнес-процесу, для якої було ініційовано виклик системної функції збереження даних, внесених користувачем через відповідну UI-форму, система забезпечує автоматичне заповнення збереженими даними для продовження роботи

3. Технічний дизайн

На даній діаграмі зображено залучені для реалізації вимог сервіси платформи та взаємодію між ними. Додатково зображено важливі особливості, які необхідно брати до уваги в рамках реалізації.

bpm-interim-save-load-form-data

3.1. Компоненти системи та їх призначення в рамках дизайну рішення

У даному розділі наведено перелік компонент системи, які задіяні або потребують змін/створення в рамках реалізації функціональних вимог згідно технічного дизайну рішення.

Компонент Службова назва Сценарії використання

Кабінети посадової особи та громадянина

- officer-portal

- citizen-portal

- Безумовне відображення системної функції проміжного збереження даних для UI-форм задач бізнес-процесів [Необхідно реалізувати]

- Ініціювання системної функції проміжного збереження даних для UI-форм задач бізнес-процесів [Необхідно реалізувати]

- Відображення збережених даних на UI-формі при поверненні до виконання задачі [Підтримується]

Сервіс управління задачами користувачів

user-task-management

- Обробка запитів на проміжне збереження даних в рамках роботи над задачами користувачів [Необхідно реалізувати]

- Обробка запитів на отримання тимчасово збережених даних UI-форми задачі для подальшого відображення [Підтримується]

Сервіс валідації даних UI-форм

form-submission-validation

Валідація даних, внесених користувачем через UI-форми задач бізнес-процесів на відповідність налаштованим правилам

Розподілене in-memory сховище даних

redis

Зберігання проміжних даних на час виконання бізнес-процесів

3.3. Розширення API системи для реалізації сценаріїв

3.3.1. Збереження проміжних даних UI-форми задачі

Отримання доступу до API можливе лише в рамках виконання запиту автентифікованого користувача в системі. Даний API-роут має бути опублікованим для зовнішнього доступу через окремий Kong Route.

POST /api/task/{id}/save

Параметр Тип Частина запиту Опис

X-Access-Token

JWT

HTTP заголовок

Токен доступу користувача

id

Текстовий

Параметр запиту

Унікальний ідентифікатор задачі у виконанні

Приклад тіла запиту
{
  "data": {
    ...
  }
}
Таблиця 1. Коди помилок
Код Опис

200

OK з поверненням результату у вигляді збережених даних

400

Некоректно сформований запит

401

Помилка автентифікації (відсутній токен доступу)

422

Помилка валідації даних відносно схеми UI-форми задачі

500

Серверна помилка обробки запиту

3.3.2. Отримання попередньо збережених даних UI-форми задачі БП

Отримання доступу до API можливе лише в рамках виконання запиту автентифікованого користувача в системі. Даний API-роут має бути опублікованим для зовнішнього доступу через окремий Kong Route.

GET /api/task/{id}

Параметр Тип Частина запиту Опис

X-Access-Token

JWT

HTTP заголовок

Токен доступу користувача

id

Текстовий

Параметр запиту

Унікальний ідентифікатор задачі у виконанні

Приклад відповіді на запит
{
  "id": "",
  "taskDefinitionKey": "",
  "formKey": "",
  "name": "",
  "assignee": "",
  "data": {
    ...
  }
}
Таблиця 2. Коди помилок
Код Опис

200

OK з поверненням результату у вигляді мета-даних задачі та збережених даних

400

Некоректно сформований запит

401

Помилка автентифікації

403

Помилка авторизації

404

Задача за вказаним {id} відсутня

500

Серверна помилка обробки запиту