Обробка та збереження завантажених файлів у рамках бізнес-процесу

Вступ

Для роботи з цифровими документами через кабінети користувачів (Кабінет посадової особи та Кабінет отримувача послуг), Платформа забезпечує наступні функціональні можливості:

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

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

1. Моделювання та налаштування компонента File для завантаження файлів на формі у бізнес-процесах

Моделювання форм, що використовуються при побудові бізнес-процесів, відбувається в Кабінеті адміністратора регламентів за посиланням: https://admin-portal-{CP-NAMESAPCE}.{DNS-WILDCARD}/.

{CP-NAMESPACE} та {DNS-WILDCARD} є змінними, де {CP-NAMESPACE} — назва namespace (простору імен), а {DNS-WILDCARD} — значення DNS wildcard[1].

1.1. Передумови

Для успішного розгортання форм у середовищі, адміністратор регламенту має змоделювати форму, вивантажити її у форматі JSON та виконати кроки з інструкції Розгортання регламенту реєстру.

Також передумовою для моделювання форм з файлами є створення файлових полів у моделі даних (data-model).

1.2. Кроки з моделювання компонента File на формах для бізнес-процесів

  • Відкрийте веббраузер та перейдіть на сторінку Кабінету адміністратора регламентів.

  • Далі натисніть кнопку Увійти до сервісу:

file upload bp 1

  • Перейдіть до розділу Моделювання UI-форм:

file upload bp 2

  • На відкритій сторінці показано перелік з формами, що були змодельовані:

file upload bp 3

  • Щоб створити нову форму, натисніть кнопку Створити нову форму:

file upload bp 4

  • У новому вікні заповніть наступні поля:

    • У полі Бізнес-назва форми введіть значення Створення нового запису довідника.

    • У полі Службова назва форми введіть значення update-dict-bp-add-name.

file upload bp 5

Щоб змоделювати форму, необхідно зазначити параметри компонентів на палітрі зліва:

  • Перетягніть до панелі моделювання (посередині екрану) компонент File.

file upload bp 6

У новому вікні з налаштуваннями компонента заповніть наступні поля:

  • Перейдіть на вкладку Display та у полі Label введіть значення Файл.

file upload bp 7

  • На вкладці File заповніть наступні поля відповідними значеннями:

    • у полі Storage введіть значення URL;

    • у полі URL введіть значення /documents;

    • у полі File pattern вкажіть типи файлів та формати, що приймаються — введіть значення application/pdf,image/jpeg,image/png;

    • у полі File Minimum Size вкажіть мінімальний об’єм файлу — введіть значення 0MB,

    • у полі File Maximum Size максимально допустимий об’єм файлу — введіть значення 100MB.

file upload bp 8 file upload bp 9

На вкладці Data значення прапорця для параметра Multiple Values має бути порожнім.
  • На вкладці Validation встановіть прапорець для параметра Required.

file upload bp 10

  • На вкладці API, заповніть поле Property Name значенням documentFile.

file upload bp 11

  • Натисніть кнопку Save для збереження змін.

  • Для збереження змодельованої форми натисніть кнопку Створити форму у верхньому правому куті.

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

file upload bp 12

file upload bp 13

2. Застосування у бізнес-процесах

Після того, як форма змодельована, її можна застосовувати в бізнес-процесах.

2.1. Завантаження файлів до системи (File upload)

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

В результаті відкриється змодельована форма завантаження файлу.

Натисніть кнопку Browse та завантажте файл:

file upload bp 14

Альтернативно перетягніть файл до виділеної області завантаження, скориставшись прийомом "drag-and-drop".

2.1.1. Успішний сценарій завантаження файлів

file upload bp 15

При успішному завантаженні, файл буде показано готовим для завантаження:

file upload bp 16

2.1.2. Неуспішний сценарій завантаження файлів

При неуспішному завантаженні, буде показано валідаційну помилку:

file upload bp 17

При неуспішному завантаженні потрібно видалити файл, натиснувши на іконку x, та повторно його завантажити.

file upload bp 18

2.2. Вивантаження файлів із системи (File download)

Для вивантаження файлу, перейдіть до форми у бізнес-процесі та натисніть на посилання із назвою файлу. Завантаження почнеться автоматично.

file upload bp 19

3. Сценарії взаємодії користувача із системою

3.1. Завантаження цифрових документів

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

file_upload
Канонічний вигляд структури документа в тілі запита на збереження даних форми через серверний додаток
{
  "data": {
      "<file_property_name>": [
        {
          "id": "{UUID}",
          "checksum": "{SHA256-hash}"
        }
      ]
  }
}
Опис формату збереження документів у Ceph в процесі обробки запита на виконання задачі
{
  "data": {
      "<file_property_name>": [
        {
          "id": "{UUID}",
          "checksum": "{SHA256-hash}"
        }
      ]
  },
  "x-access-token": "<X-Access-Token>"
}

3.2. Вивантаження цифрових документів

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

file_download
Канонічний вигляд відповіді серверного додатка на запит отримання даних форми
{
  "data": {
      "<file_property_name>": [
        {
          "id": "{UUID}",
          "checksum": "{SHA256-hash}"
        }
      ]
  }
}

3.3. Підпис даних UI-форм з цифровими документами

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

file_signing
Канонічний вигляд структури документа в тілі запита на збереження підписаних даних форми через серверний додаток
{
  "data": {
      "<file_property_name>": [
        {
          "id": "{UUID}",
          "checksum": "{SHA256-hash}"
        }
      ]
  },
  "signature": "<e-Signature>"
}
Опис формату збереження документів із підписом у Ceph
{
  "data": {
      "passport_scans": [
        {
          "id": "{UUID}",
          "checksum": "{SHA256-hash}"
        }
      ]
  },
  "x-access-token": "<X-Access-Token>",
  "signature": "<e-Signature>"
}

1. В системі DNS можна задавати запис за замовчуванням для неоголошених піддоменів. Такий запис називається wildcard.