如何使用Alfresco互操作性API

时间:2017-01-24 23:25:43

标签: rest alfresco cmis opencmis

我正在开发一个与Alfresco社区4.2连接的应用程序。我在文档中读到有两种方法可以使用REST API访问存储库: - REST API - CMIS REST API 我的申请需要: - 列出所有用户的根目录 - 列出目录中的项目 - 恢复文件 - 共享文档(文件夹,文件等...) - 访问文件的历史记录 - 创建和删除用户

首先,我尝试按照Internet上的示例使用Apache Chemistery API。您可以在此主题上看到此帖子:CmisObjectNotFoundException when trying to access my Alfresco repository

最后没有关于这个主题的经验我认为最好使用Alfresco提供的API REST来进行CMIS调用。不幸的是,这个文档很少记录,我设法做了一些REST调用http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom/children?Id=86f1c760-905e-4920-98a8-a6bdd10aa但是XML流不容易理解 我的问题是: - 什么是最好的用途? CMIS REST Api? CMIS客户? - 在GED回购中制作CRUD的REST API的简单明确定义在哪里? - 如何访问用户区节点

谢谢!

1 个答案:

答案 0 :(得分:1)

  

列出所有用户'根目录

使用OpenCMIS和使用user homes文件夹路径的查询来获取结果,或者使用getChildren之类的方法来导航存储库层次结构。

  

列出目录中的项目

与上述相同。

  

恢复文件

这不可能通过CMIS实现。相反,编写一个Java支持的Web脚本。您的控制器类需要在归档存储中找到该文件,然后将其复制到空间存储中以恢复它。

  

共享文档(文件夹,文件等......)

这取决于你想在这里做什么。如果您只是想要调整权限,那么可能可以通过CMIS实现。您可以使用OpenCMIS添加或删除本地设置的权限。但是CMIS不能破坏(或重新建立)ACL继承,所以如果你需要这样做,CMIS就不会工作。

同样,如果您想要做的事情与"快速分享"基本相同。在Alfresco Share中的功能,CMIS可能无法帮助你(尽管我还没试过)。基本上,如果您可以通过设置属性来实现,可以使用CMIS进行,否则,请为此编写自己的Web脚本。

  

访问文件的历史记录

我假设您的意思是版本历史记录。如果是这样,CMIS就可以了。

  

创建和删除用户

CMIS无法创建或删除用户或组。编写您自己的网络脚本或查看4.2 REST API for person objects