/ alfresco / api / service / people仅在Alfresco EE 4.1.4中返回5000个结果

时间:2013-08-09 20:21:07

标签: alfresco

我遇到了一个问题,即对https://localhost:8080/alfresco/service/api/people的调用仅返回前5000个用户。

我无法弄清楚如何将其余部分从系统中删除 - 该API似乎不支持“skipCount”参数。

我认为我可以通过使用WebDAV URL(https://localhost:8080/alfresco/webdav/User%20Homes/)获取列表来获得至少一个用户名列表,但这也只返回前5000个。

那么,如何从5001开始获取用户列表?

1 个答案:

答案 0 :(得分:3)

你可以给出一个maxResult参数。

例如https://localhost:8080/alfresco/service/api/people?filter=*&maxResults=10000

如果您查看此JIRA票证,您会看到当您在查询中提供*时,它将搜索SOLR,如果您没有,它将搜索数据库。

如果你看下面的JAVA代码:

public PagingResults<PersonInfo> getPeople(String pattern, List<QName> filterStringProps, List<Pair<QName, Boolean>> sortProps, PagingRequest pagingRequest)
    {
        ParameterCheck.mandatory("pagingRequest", pagingRequest);

您可以提供 PagingRequest ,因此您可以在5000之后找到需要行/结果的页面。

仍然需要制作一个检索结果的Java-Backend Webscript。

<强> --- --- UPDATE

在org.alfresco.repo.jscript.People中有一个maxResult:

private int defaultListMaxResults = 5000;

如果你看得更远,那么这个类是在 script-service-context.xml 中启动的。 因此,只需覆盖bean peopleScript 并将defaultListMaxResults设置为更高的nr,重新启动Alfresco并且它应该可以工作。