如何修改此Alfresco查询以显示文件夹和文档



我正在使用Drupal模块"CMIS API"one_answers"CMIS VIEWS",我正在尝试列出文档和子文件夹,但目前只显示文档。我使用CMIS视图模块中包含的GUI来完成这项工作,因为我没有使用Alfresco的经验。我选择的文件夹同时包含子文件夹和文档,但只显示文档。

这是模块针对Alfresco:运行的查询

select d.*, t.* from cmis:document as d join cm:titled as t on d.cmis:objectid = t.cmis:objectid where in_folder(d, 'cf6bfb20-5499-46c4-92ea-abe39cf9e405')

如何修改此查询以同时显示文件夹?

非常感谢

CMIS标准将cmis:documentcmis:folder实现为四个cmis:baseTypeId对象中的两个。即使CMIS将JOIN作为SQL语句之一,Alfresco实现目前也不支持JOIN,只是作为支持方面的扩展。此扩展是Alfresco特有的。这意味着你无法实现以下目标:
SELECT * FROM cmis:folder INNER JOIN cmis:document etc

因为Alfresco将无法识别该查询。您可以运行两个查询:

SELECT * FROM cmis:folder F WHERE IN_TREE(F, 'workspace://SpacesStore/cf6bfb20-5499-46c4-92ea-abe39cf9e405')

    SELECT * FROM cmis:document F WHERE IN_TREE(F, 'workspace://SpacesStore/cf6bfb20-5499-46c4-92ea-abe39cf9e405')

其中workspace://SpacesStore/cf6bfb20-5499-46c4-92ea-abe39cf9e405应该是父文件夹的nodeRef。

在这里,您可以访问露天cmis浏览器和web应用程序(单击web脚本cmis浏览器链接,使用admin/admin访问,然后单击query链接。这将帮助您使用和测试查询。

另一种解决方案是通过以下方式使用本机alfresco cmis web脚本(或自行开发):CMIS getFolderChildren。您可以调用web服务并访问回购中所需的任何内容,而不是使用基于SQL的查询。

希望能有所帮助。

干杯

相关内容

  • 没有找到相关文章