[英]How do I manage state of a node in Gentics Mesh?
我在 Gentics Mesh 中使用外部 BPM 進行內容批准,並且內容節點可能處於多種狀態之一。
一個要求是查詢沒有 state 或具有特定 state 的所有內容節點。
由於我們沒有節點上的字段級別權限,我不想在內容模式中定義“狀態”字段。
我正在考慮使用系統僅具有“創建”權限的模式將 state 存儲為內容項的子節點。
這是一個好方法嗎?
否則我想我會使用外部數據庫進行 state 管理,但這會使系統更加復雜。
--更新--
有關用例的更多信息:
我們有將上傳媒體的內容貢獻者。 內容需要由編輯審閱,並且將被接受或拒絕並發表評論。
目前這是一個簡單的工作流程,但需求可能會發生變化,因此我們希望利用完整的 BPM。 [我們還有其他 BPM 工作流程]。
因此,state 數據將包含狀態標識符 + 注釋 + 未來可能還有其他任意數據。
我們正在構建一個 Mesh 插件,它將使用/生成 Kafka 消息以與外部系統(如 BPM)進行交互。
我們還需要管理通知,編輯器會看到一個顯示未讀通知數量的圖標,並有一個“收件箱”來查看歷史通知[聽起來類似於“必讀插件”]
我們有一個“user_profile”模式,我正在考慮將通知添加為那里的節點。
您可以對節點的 model 和 state 使用標簽。 然而,標簽不會是特定於語言、版本或分支的。 除此之外,我認為這可能是產品增強的一個有效點。
有關詳細信息,請參閱https://github.com/gentics/mesh-incubator/issues/187 。
在大多數其他需要對此類 state 建模的情況下,我們構建了跟蹤 state 的插件。 在這些情況下,state 的數據保存在插件管理的額外節點中。
想到的一個例子是必須閱讀的插件,它存儲了“節點已被用戶 xyz 讀取”state。 它將創建專用節點,將這些信息存儲在由插件管理的文件夾中( /must-read/:nodeUuid-:userUuid
)。這些節點將具有 urlField 值,可以非常快速地加載,因此檢查可以非常有效地完成。
您能否在提到的票證中描述您的實際用例。 我認為這將有助於我們規划工作流功能。 謝謝你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.