使用Apache Chemistry在Alfresco中创建站点



向社区致以问候!我使用的是带有Apache Chemistry API的户外社区版6.0.0。到目前为止,我已经成功地通过它(文件夹和文档文件(从露天存储库创建/获取内容。

现在我想做的是使用Apache Chemistry API来创建一个露天站点(就像我在alfresco REST API中使用alfresco/api/-default-/public/alfresco/versions/1/sitesPOST方法一样(。

这可行吗??按照我已经在存储库中创建文件夹的方式,我所做的是:

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"的站点并重新运行代码时,代码运行成功,但在REST API的alfresco/api/-default-/public/alfresco/versions/1/sites端点中没有获得任何额外的站点。

有人能解释一下吗?如有任何帮助,我们将不胜感激!

正如Gagravarr所说,API一直不支持创建功能性站点,直到Billerby指出,REST API做出了一些改进。

Apache Chemistry不知道什么是站点,但正如您所发现的,st:site只是cm:folder的子类型。

尽管这很可能不会通过CMIS工作,但我想指出的是,您正在使用"something"作为站点预设。除非你定义了一个名为"something"的新网站预设,否则这是行不通的。

默认情况下,有一个名为"站点仪表板"的开箱即用的站点预设,它是"协作站点"预设的ID。

您可以将st:sitePreset更改为"站点仪表板",然后查看是否有进一步的进展。

最新更新