WorkflowApproval предназначен для случаев, когда перед выполнением перехода Workflow нужно получить одно или несколько решений согласующих.
Модуль решает только задачу согласования:
хранит approval gate, который подключается к переходу Workflow;
хранит approval policy с участниками, кворумом и правилами решений;
создает approval request при запуске перехода;
фиксирует решения участников и результат policy;
хранит безопасный snapshot данных экрана и состояние continuation;
пишет историю request в стандартное поле 907.
WorkflowApproval не является отдельным process engine. Workflow продолжает владеть состоянием записи, маршрутами переходов, condition-форматами переходов, post-functions и записью истории доменной записи.
Внешние контракты остаются у своих модулей:
WorkflowScreen отвечает за экраны и ws/he3;
Security отвечает за права;
EventBus отвечает за события и доставку;
Queue отвечает за фоновые задания, retry и расписания;
Collaboration отвечает за обсуждения, комментарии и упоминания;