繁体   English   中英

如何管理 Gentics Mesh 中节点的 state?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM