Я использую внешний BPM для утверждения контента в Gentics Mesh, и узел контента может находиться в одном из нескольких состояний.
Требуется запросить все узлы содержимого, которые не имеют состояния или имеют определенное состояние.
Поскольку у нас нет разрешения на уровне поля для узла, я не хочу определять 'поле 'state' в схеме содержимого.
Я думал о сохранении состояния в качестве дочернего узла элемента содержимого, используя схему, в которой только система имеет разрешения на создание.
Это хороший подход?
В противном случае я думаю, что я бы использовал внешнюю базу данных для управления состоянием, но это сделало бы систему более сложной.
- Обновление -
Подробнее о сценарии использования:
У нас есть авторы контента, которые будут загружать медиа.Содержание должно быть просмотрено редактором и будет либо принято, либо отклонено с комментариями.
Пока это простой рабочий процесс, но требования могут измениться, поэтому мы хотим использовать полный BPM.[и у нас есть другие рабочие процессы BPM].
Таким образом, данные о состоянии будут содержать идентификатор статуса + комментарии +, возможно, другие произвольные данные в будущем.
Мы создаем плагин Mesh, который будет потреблять / производитьСообщения Кафки для взаимодействия с внешними системами, такими как BPM.
Нам также нужно управлять уведомлениями, где редактор будет видеть значок, показывающий количество непрочитанных уведомлений, и иметь «входящие» для просмотра исторических уведомлений [звучит похоже на «must-read-plugin»]
У нас есть схема 'user_profile', и я рассматриваю возможность добавления уведомлений в качестве узлов.