Ресурсы (Definitions)
Ресурсы - это совокупность вспомогательных материалов рабочего процесса, определяющих поведение и визуальное представление бизнес-процессов в системе.
К ресурсам процесса относятся:
- Модели процессов (BPMN);
- Пользовательские формы (FORM);
- HTML-шаблоны уведомлений (TEMPLATE);
- HTML-шаблоны подписей (SIGNATURE).
Важно! В таблицу definition сохраняются только метаданные ресурсов (тип, ключ, наименование, связь с рабочим процессом). Содержимое ресурса хранится во Вложениях.
Ключевые принципы
Управление ресурсами осуществляется в ⚙️ настройках рабочего процесса в разделе Ресурсы (Definitions).
Модели процессов (BPMN) и пользовательские формы (FORM)
Редактирование форм и моделей процессов выполняется во встроенном в систему моделере, основанном на библиотеке bpmn-js.
Возможные операции:
- Наименование (Name) - при создании новой модели по-умолчанию присваивается значение New BPMN (New FORM). Может быть изменено пользователем.
- Сохранить (Save) - сохранить во внутренний репозиторий без загрузки в процессный движок.
- Опубликовать (Deploy) - (только модели BPMN) - публикация модели в процессном движке. Опубликованная модель процесса становится доступной для использования в рабочем процессе и типах заявок. Если модель содержит ошибки, публикация не выполняется.
- Экспорт (Export) - выгрузка модели в файл *.bpmn.
- Импорт (Import) - импорт модели из файла *.bpmn.
При моделировании процесса необходимо придерживаться требований нотации BPMN 2.0 и лучших практик.
Для того чтобы связать форму с пользовательской задачей, необходимо указать тип формы - Camunda Forms и указать ключ формы (Form key) в качестве ссылки на форму (Form reference).
Подписи (SIGNATURE)
Шаблоны подписей хранятся в формате HTML. Для обеспечения динамического формирования применяется шаблонизатор Thymeleaf. В качестве переменных шаблонов можно использовать объекты классов Ticket, Workflow, User (текущий пользователь).
Пример шаблона подписи:
<div style="font-family: Arial, sans-serif; font-size: 14px; color: #333;">
<p>Sincerely,</p>
<p><strong th:text="${user.firstName} + ' ' + ${user.lastName}">Имя Фамилия</strong></p>
<p>Reunico Team</p>
<p>E-mail: <a href="mailto:info@reunico.com">info@reunico.com</a></p>
<p>WWW: <a href="https://reunico.com">https://reunico.com</a></p>
</div>