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

1832 views

ANSWER

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?

10/04/2013

rg1

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()?

10/04/2013

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.

10/04/2013

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.
10/04/2013

rg1
Note that getDescendents() for Nuxeo CMIS has a default depth of 2.
10/05/2013

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.
10/07/2013