Skip to content

Latest commit

 

History

History
19 lines (13 loc) · 2.39 KB

lifecycle.md

File metadata and controls

19 lines (13 loc) · 2.39 KB

Жизненный цикл сущностей

SciCMS Core поддерживает три способа отслеживания (перехвата) жизненного цикла (ЖЦ) сущностей - хуки, вызов кастомных методов и продвижение (promotion). Для реализации бизнес-логики в этих методах сущность должна иметь имплементацию (класс-обработчик) на сервере, подробнее см. в документации SciCMS Core.

Клиентское приложение, в свою очередь, позволяет настраивать спецификацию ЖЦ сущности и выполнять продвижение записей в рамках этого ЖЦ. Пункт меню для управления ЖЦ - Администрирование/Жизненные циклы. Для редактирования спецификации используется библиотека diagram-js:

Спецификация жизненного цикла сущности

Продвижение в рамках ЖЦ выполняется нажатием на кнопку Переместить. При этом появляется список доступных этапов ЖЦ, на которую может быть перемещена запись с текущего этапа:

Список доступных этапов ЖЦ для продвижения

Если на сервере имеется класс-обработчик ЖЦ, то вызывается метод promote этого обработчика. Данный метод может выполнять любую бизнес-логику (отправки оповещений, постановка заданий в очередь, запись в БД и пр.). Значение нового этапа ЖЦ сохраняется в поле Состояние ЖЦ записи.