2013-02-11 25 views
1

我们正在开发一个与Alfresco集成的前端, 我们正在使用CMIS协议来针对Alfresco的不同实例进行查询,但我们想设置一个限制到最大时间和最大值结果,查询可以给。这可以通过CMIS标准实现吗,还是只能通过alfresco.global.properties(阻止lucene)中的acl权限来管理?我们不想在Alfresco中触摸这些设置。 谢谢Alfresco CMIS限制大小和时间查询

回答

3

如果您直接通过HTTP使用AtomPub绑定并且使用HTTP GET,则可以将URL参数maxItems添加到查询URL。

如果您使用HTTP POST进行查询,则必须将maxItems参数添加到有效内容中。请参阅: http://docs.oasis-open.org/cmis/CMIS/v1.0/cs01/cmis-spec-v1.0.html#_Toc243905541

+0

非常感谢,解决了我们的问题,我们使用HTTP GET,有maxItems设置,就是这样。简单容易。 – Teqnology 2013-02-13 08:50:54

+0

我们注意到maxItems只被视为第二次触发,就像第一个GET请求没有考虑这个值。奇怪...我们仍然缺少一些东西.. – Teqnology 2013-02-15 00:26:37

4

CMIS规范没有规定限制返回查询结果所花费的最长时间。我知道的OpenCMIS库也不是。

但是,您可以通过设置maxItems来限制返回的搜索结果的数量。如果你使用的是OpenCMIS,你可以通过传入你调用setMaxItemsPerPage方法的OperationContext来完成。

+0

我们实际上并没有使用Apache化学库,因为我们很难检索针对Alfresco的节点URL提取查询。如果有方法,我们会很高兴知道。谢谢 – Teqnology 2013-02-12 10:32:36

+2

限制结果集的工作原理是这样的:ItemIterable queryResult = session.query(query,false).getPage(maxItems); – 2013-02-12 14:33:09

0

您只需更改位于Alfresco \ tomcat \ webapps \ alfresco \ WEB-INF \ classes \ alfresco中的文件repository.properties中的一些配置参数。此参数是:

system.acl.maxPermissionChecks system.readpermissions.bulkfetchsize

你可以将其设置为你想要的值。默认值设置为1000.