问候社区!我在Apache Chemistry API
上使用alfresco Community Edition 6.0.0。到目前为止,我已经成功地管理了从露天仓库通过它(文件夹和文档文件)创建/获取内容的过程。
现在我想做的是使用Apache Chemistry API 创建一个露天站点(就像我在Alfresco REST API中使用alfresco/api/-default-/public/alfresco/versions/1/sites
POST方法一样)。< / p>
那可行吗?按照已经在存储库中创建文件夹的方式执行的操作是:
Folder folder = retrieveSitesFolder(); // this returns the folder object using the node id of the "Sites" node
Map<String, Object> props = new HashMap<String, Object>();
props.put(PropertyIds.OBJECT_TYPE_ID, "F:st:site"); //this is recognized fine
props.put("st:siteVisibility", "PUBLIC");
props.put("st:sitePreset", "something");
props.put("cmis:name", "something");
Folder subFolder = folder.createFolder(props);
我从这里开始关注有关我添加的属性的站点模型 https://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/COMMUNITYTAGS/V4.2a/root/projects/repository/config/alfresco/model/siteModel.xml
不幸的是,当我运行这段代码时,出现以下错误:
Exception in thread "main" org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: 10290059 Site something does not exist.
在我看来这很奇怪,因为我希望我的代码执行的操作是创建该站点,无论如何不要搜索它。
更令人奇怪的是,当我通过REST API创建一个名称为“ something”的网站并重新运行代码后,代码成功运行,但是我没有在alfresco/api/-default-/public/alfresco/versions/1/sites
中获得任何额外的网站REST API的端点。
请问有人对此有所说明吗?任何帮助将不胜感激!
答案 0 :(得分:2)
正如Gagravarr所说,直到Billerby指出,REST API进行了一些改进之后,该API才支持创建功能站点。
Apache Chemistry不知道站点是什么,但是,正如您所发现的,st:site只是cm:folder的子类型。
尽管这很可能无法通过CMIS进行,但我想指出的是您正在使用“内容”进行网站预设。除非您定义了一个名为“ something”的新网站预设,否则这将行不通。
默认情况下,有一个现成的网站预置,称为“ site-dashboard”,它是“协作站点”预置的ID。
您可以将st:sitePreset更改为“ site-dashboard”,然后查看是否还有其他内容。