Open Cmis API无法访问Alfresco的“继承父空间权限”

时间:2012-08-22 15:43:50

标签: liferay acl alfresco cmis

我正在开发类似于'Documents and Media'的liferay portlet,它连接到Alfresco存储库,并使用apache chemistry open cmis API与存储库项进行交互。

我几乎完成了通过ACE应用权限,但我有一个主要问题,处理alfresco的“继承父空间权限”功能,该功能将父文件夹的属性传播给所有子项。看起来cmis不支持此功能,但我必须找到一种从liferay编辑此属性的方法。

虽然没有任何可用的高级API来编辑这个属性,但我想我可以通过使用Alfresco的REST API来解决这个问题。 做一些像this这样的事情。

但在此之前,我想确保没有其他方法可以做到这一点。我的意思是,这是一个缺少相当重要的功能。如果我理解正确,如果您无法访问该属性,您可以选择:

  1. 禁用所有项目的继承,并失去优势 来自继承和ACL传播。

  2. 或启用 所有Spaces的继承,因为ACL的工作方式与授予规则相同 (而不是限制),让孩子的资源总是少 当你在存储库中深入导航时受到限制。这样,你 最终让所有受限制的资源都非常接近 '公司家'空间,并提供更高可用性资源 深入存储库空间结构。

  3. 或者启用了继承,并且每次要从a中删除单个权限 子资源,从另一个低级API调用alfresco, 禁用继承(并丢失所有传播的ACE,期望或 不),然后再添加必要的A ..
  4. 这对我来说听起来不合理,所以我真的害怕我在这里遗漏了一些东西,比如一个主要的高级API功能。有人可以告诉我,我是否在正确的轨道上,以及低级API是否是唯一可用的选项?

1 个答案:

答案 0 :(得分:2)

CMIS不支持更改ACL继承设置。您可以确定继承了哪些ACE,但无法打开和关闭继承。您必须编写自己的Web脚本并从portlet中调用它。