Alfresco 权限取决于文档当前是否是工作流程的一部分

Alfresco permissions depending on whether document is currently part of workflow or not

开箱即用,Alfresco 用户可以阅读基于以下内容的文档:

现在,我想添加一个新因素:文档当前是否是工作流程的一部分

Alfresco的permissionDefinitions.xml允许我根据authorities定义权限,比如ROLE_LOCK_OWNER等,但是好像不是添加权限条件的地方

我想我将不得不写一些 Java 源代码,但我不确定 类 对此负责,以及是否有 Alfresco 方式 自定义它们?

那么,我假设您希望以某种方式让附加到工作流的节点具有不同的访问权限?您需要考虑在您公开的所有 UI 和协议中想要的行为(例如共享、WebDAV、CIFS、FTP 等)。

如果你想在节点上设置权限,你可以通过Java脚本以及Java(参见http://docs.alfresco.com/5.2/references/API-JS-setPermission.html and http://docs.alfresco.com/5.2/references/dev-services-permission.html). As was mentioned in one of the comments, you can also get the number of active workflows on a node by referencing the activeWorkflows property in JavaScript (http://docs.alfresco.com/5.2/references/API-JS-ScriptNode.html)或在Java

根据具体情况,我可能会以不同的方式实现这一点,但如果您只想更改权限,您可以在工作流程的开始和结束时使用简单的 javascript 打电话。唯一不好的是它没有考虑工作流被取消的情况。您还可以在附加的方面上创建 policy/behavior,甚至可以根据 activeWorkflows 值创建规则或作业 运行 来更新内容。