Изменения документа Модуль schema

Редактировал(а) Alexandr Fokin 2026/07/08 12:22

От версии 2.2
отредактировано Alexandr Fokin
на 2026/06/18 22:38
Изменить комментарий: К данной версии нет комментариев
К версии 2.14
отредактировано Alexandr Fokin
на 2026/06/24 15:13
Изменить комментарий: Редактировать комментарий

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -6,6 +6,7 @@
6 6  |(% style="width:98px" %)Элементы|(% style="width:1383px" %)(((
7 7  |(% style="width:131px" %)Схема|(% style="width:1234px" %)Содержит набор токенов.
8 8  Экземпляр схемы привязан к идентификатору типа процесса (ProcessType, ProcessVersion).
9 +Модуль валидации содержит ряд проверок корректности схемы и зарегистрированных хендлеров.
9 9  |(% style="width:131px" %)Токен|(% style="width:1234px" %)(((
10 10  * Содержит набор действий.
11 11  * Содержит состояние.
... ... @@ -19,6 +19,7 @@
19 19  
20 20  |(% style="width:116px" %)ServiceTask|(% style="width:1067px" %)(((
21 21  * Содержит ключ хендлера обработчик.
23 +* Может использоваться для длительных действий (soft timeout - разбиение выполнения на несколько транзакций).
22 22  )))
23 23  |(% style="width:116px" %)ConditionAction|(% style="width:1067px" %)(((
24 24  * Содержит ключ хендлера проверки условия.
XWiki.XWikiComments[0]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,9 @@
1 +Идея:
2 +
3 +1. Триггер передает сигнал и ключ (например битовые флаги).
4 +1. ConditonAction связывается с конкретным триггером.
5 +1. В момент выполнения процесс знает на какие конкретно действия пришел сигнал. Действие активируется, только если соответствующий триггер передал сигнал.
6 +
7 +Заготовка в ветке: cccc1808/experiment/process_schema_signal_code [[https:~~/~~/github.com/cccc1808/cccc1808.ProcessEngine/pull/14>>https://github.com/cccc1808/cccc1808.ProcessEngine/pull/14]]
8 +
9 +
Дата
... ... @@ -1,0 +1,1 @@
1 +2026-06-22 15:40:24.981
XWiki.XWikiComments[1]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,11 @@
1 +Можно реализовать (но пока скорее всего не буду):
2 +
3 +* UserInputTokenAction - более частный случай ConditionAction.
4 +** Декларирует:
5 +*** Какие параметры вводятся (наименование и тип)
6 +*** Какой заголовок отображается на UI.
7 +** Является флагом для UI, что процессу требуется ввод пользователя (можно сделать и сам по себе).
8 +** Реализуется общее API для получения значений для UI по действию и сохранения пользовательского ввода по действию.
9 +* RuleConditionAction - более частный случай ConditionAction.
10 +** Декларирует таблицу правил (Условие (на основании состояния)) -> Активируемое действие. Позволяет на уровне схемы отобразить логику выбора.
11 +* Функционал остановки (или завершения) других действий после хендлера текущего действия (по аналогии с активацией).
Дата
... ... @@ -1,0 +1,1 @@
1 +2026-06-24 11:06:13.774