我在Gentics Mesh中使用外部BPM进行内容审批,并且内容节点可能处于几种状态之一。
一个要求是查询所有没有状态或具有特定状态的内容节点。
由于我们对节点没有字段级权限,所以我不想在内容模式中定义'state‘字段。
我正在考虑将状态存储为内容项的子节点,使用的模式是系统只有“create”权限。
这样做好吗?
否则,我想我会使用外部数据库进行状态管理,但这会使系统更加复杂。
-更新 --
更多关于用例的信息:
我们有内容撰稿人将上传媒体。内容需要由编辑审查,并将被接受或拒绝与评论。
现在这是一个简单的工作流,但是需求可能会改变,所以我们想要利用一个完整的BPM。我们还有其他的BPM工作流。
因此,状态数据将包含状态标识符+注释+将来可能包含的其他任意数据。
我们正在构建一个网格插件,它将使用/产生Kafka消息来与外部系统交互,比如BPM。
我们还需要管理通知,编辑器将看到一个图标显示未读通知的数量,并有一个“收件箱”来查看类似于“必须读取插件”的历史通知。
我们有一个'user_profile‘模式,我正在考虑将通知作为节点添加到那里。
发布于 2019-09-21 21:59:15
您可以使用标记来建模节点的状态。然而,标记不会是语言、版本或分支特定的。除此之外,我认为这可能是产品增强的一个有效点。
详情请参见https://github.com/gentics/mesh-incubator/issues/187。
在大多数其他情况下,这样的状态需要建模,我们构建了跟踪状态的插件。在这些情况下,状态的数据保存在由插件管理的额外节点中。
出现在脑海中的一个例子是必须读取插件,它存储了“节点已被用户xyz读取”状态。它将创建专用节点,将此信息存储在由插件(/must-read/:nodeUuid-:userUuid)管理的文件夹中,.Those节点将具有一个urlField值,该值可以非常快地加载,因此可以非常有效地进行检查。
你能描述一下你在上面提到的票中的实际用途吗?我认为这将有助于我们规划工作流功能。谢谢。
https://stackoverflow.com/questions/58042056
复制相似问题