I believe the rationale of the waypoints was that initially, it was expected 
that resource children/ archival objects would fall into a more balanced tree 
structure, but it turned out that there were many flat hierarchies with 
hundreds of top level children, and getting all of the children at once was not 
working very efficiently. So with they waypoint calls, you may only be getting 
some of the children, but the display can start populating the tree display 
while making additional calls for the rest. 

I may have some postman examples and internal notes around somewhere: I’ll see 
what I can dig out. 

— Steve. 


> On Jul 23, 2019, at 9:05 AM, Trevor Thornton <trtho...@ncsu.edu> wrote:
> 
> Hi everybody-
> 
> I'm building a service using these API endpoints (or I think I am):
> [:GET] /repositories/:repo_id/resources/:id/tree/root 
> <http://archivesspace.github.io/archivesspace/api/#fetch-tree-information-for-the-top-level-resource-record>
> [:GET] /repositories/:repo_id/resources/:id/tree/node 
> <http://archivesspace.github.io/archivesspace/api/#fetch-tree-information-for-an-archival-object-record-within-a-tree>
> 
> These incorporate the concept of "waypoints", which I admit that I'm not 
> familiar with in this context, and it isn't explained very well in the 
> documentation. This is what I have to work with (these are elements included 
> in the API response):
> child_count – the number of immediate children
> waypoints – the number of “waypoints” those children are grouped into
> waypoint_size – the number of children in each waypoint
> precomputed_waypoints – a collection of arrays (keyed on child URI) in the 
> same format as returned by the ’/waypoint’ endpoint. Since a fetch for a 
> given node is almost always followed by a fetch of the first waypoint, using 
> the information in this structure can save a backend call.
> Can anyone explain what exactly waypoints are and how they are different from 
> children? In the examples I've seen, the "precomputed_waypoints" element in 
> the response looks like a convoluted way (an array value of the lone element 
> in an object, which is itself the value of the lone element in another 
> object) to provide the children nodes of the given node (or root). What's the 
> difference?
> 
> Thanks,
> Trevor
> 
> -- 
> Trevor Thornton
> Applications Developer, Digital Library Initiatives
> North Carolina State University Libraries
> _______________________________________________
> Archivesspace_Users_Group mailing list
> Archivesspace_Users_Group@lyralists.lyrasis.org
> http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group

Reply via email to