2

への呼び出しでhttps://localhost:8080/alfresco/service/api/people最初の 5000 ユーザーしか返されないという問題に遭遇しました。

システムから残りを取得する方法がわかりません。その API は「skipCount」引数をサポートしていないようです。

WebDAV URL ( ) を使用してリストを取得することで、少なくともユーザー名のリストを取得できるのではないかと考えましたがhttps://localhost:8080/alfresco/webdav/User%20Homes/、それでも最初の 5000 件しか返されません。

では、5001 以降のユーザーのリストを取得するにはどうすればよいでしょうか。

4

1 に答える 1

3

あなたが与えることができる maxResult パラメータがあります。

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

この JIRA チケットを見ると、クエリで * を指定すると SOLR を検索し、指定しないと DB を検索することがわかります。

下の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 を作成する必要があります。

- -アップデート - -

org.alfresco.repo.jscript.People には maxResult があります。

private int defaultListMaxResults = 5000;

さらに詳しく見ると、このクラスはscript-service-context.xmlで開始されます。したがって、bean peopleScriptをオーバーライドし、defaultListMaxResults をより高い nr に設定し、Alfresco を再起動するだけで機能するはずです。

于 2013-08-09T21:12:49.423 に答える