使用 Apache Chemistry 在 Alfresco 中创建站点
Create Site in Alfresco using the Apache Chemistry
向社区问好!我在 Apache Chemistry API
中使用 alfresco Community Edition 6.0.0。到目前为止,我已经通过它成功管理了露天存储库中的 create/fetch 内容(文件夹和文档文件)。
现在我想做的是使用 Apache Chemistry API 创建一个露天站点(就像我使用 alfresco/api/-default-/public/alfresco/versions/1/sites
POST Alfresco REST 中的方法 API).
这样可行吗??按照我已经在存储库中创建文件夹的方式,我所做的是:
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".
的新站点预设,否则这是行不通的
默认情况下,有一个现成的站点预设名为 "site-dashboard",它是 "Collaboration Site" 预设的 ID。
您可以将 st:sitePreset 更改为 "site-dashboard" 并查看是否可以更进一步。
向社区问好!我在 Apache Chemistry API
中使用 alfresco Community Edition 6.0.0。到目前为止,我已经通过它成功管理了露天存储库中的 create/fetch 内容(文件夹和文档文件)。
现在我想做的是使用 Apache Chemistry API 创建一个露天站点(就像我使用 alfresco/api/-default-/public/alfresco/versions/1/sites
POST Alfresco REST 中的方法 API).
这样可行吗??按照我已经在存储库中创建文件夹的方式,我所做的是:
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".
的新站点预设,否则这是行不通的默认情况下,有一个现成的站点预设名为 "site-dashboard",它是 "Collaboration Site" 预设的 ID。
您可以将 st:sitePreset 更改为 "site-dashboard" 并查看是否可以更进一步。