Hi,
We have a custom web UI that relies on Content Services security to determine which nodes a user has access to view. I'm trying to cache a collection of all descendant node IDs that a specific user can see starting from a parent node (root of the site).
I have found only 2 ways of getting out of the Content Services a list of all descendent nodes for a parent node.
1. Get a list of all node IDs for the site from the DTree table, then pass the entire list to the DocumentManagementService.GetNodes() method. This results in only one call to the Content Services, but with very large request and response data.
2. Traverse the list of nodes from DTree table and recursively call DocumentManagementService.ListNodes() on each branch. This results in a very large number of calls to Content Services.
Both operations take a very long time. Can anybody suggest a better way? Ideally I would pass only 1 node ID and get back a list of IDs for all descendants.
Much appreciated.
Regards,
Andrei