Why doesn't cmislib's getDescendants() retrieve all documents?

I am currently using Nuxeo DM 5.7.2.

I would really like to use cmislib to access Nuxeo document metadata instead of the underlying database, but calls to getDescendants() do not retrieve the entire list of documents under a path. Is there a way to troubleshoot this?

0 votes

0 answers



I have looked into using the REST API as a substitute. It seems like sometimes the "totalSize" entry in the response is returning "-2" which makes no sense. This is consistent with the incomplete listings through cmislib, so I wonder if the two are related.

Is there some bug report, some documentation or some code I can look at to understand what is going on here?



Please provide more information…

  1. Which documents are missing?

  2. Are the missing documents returned if getChildren() is explicitly invoked on their parent?

  3. If you explicitly perform getObject() on one of the missing documents, how does it metadata compare with one of the documents that is not missing from getDescendants()?


I believe it's just retrieving one page of results for certain subdirectories. Manually recursing via getChildren() does return a different set of files.

I don't see any qualitative difference in metadata – all of the documents are very similar.


One more data point: in the REST API (the one that starts /nuxeo/site/api/path) if I ignore the totalSize=-2 and continue to request pages until I receive an empty list, it appears that the entire list of documents is actually being returned.

Note that getDescendents() for Nuxeo CMIS has a default depth of 2.

Thanks for pointing that out, but everything I am trying to retrieve is in either the child or the grandchild of the path I'm passing in.