Extracting All Fields from AtoM API Response

81 views
Skip to first unread message

Ailish McCarthy

unread,
Mar 21, 2022, 12:03:30 PM3/21/22
to AtoM Users
Hi all,

Is there any way to query the API so that I can get information about all information objects at once? Similar to query /api/informationobjects but with more info for the objects returned? 

For context - I have a use case where I need to read the entire context of the atom database into an external index for searching. But the fields returned in the informationobjects endpoint are not providing enough data for my search application to run against in the way my client would like it to.

Is querying each individual information object the only way to extract this information for my index? Hoping someone might be able to help as this would be wildly inefficient and very costly for my use case.

Thanks in advance for any advice
Ailish

Ailish McCarthy

unread,
Mar 21, 2022, 12:04:21 PM3/21/22
to AtoM Users
Apologies I can't seem to edit labels after posting!

Dan Gillean

unread,
Mar 21, 2022, 3:32:46 PM3/21/22
to ICA-AtoM Users
Hi Ailish, 

AtoM's API endpoints are currently very limited (as you've noted), since they were added as an afterthought, rather than the application being API-driven from its initial development. I don't think the browse API endpoint has the functionality you're looking for at present. 

However, AtoM uses Elasticsearch (currently version 5.6) as its search index, and ES includes a much more fully-featured Java-basd API, provided your client can configure you to have access to port 9200 of the installation server. I'm not personally familiar with this, but you should be able to find a lot more information in the ES official documentation for the 5.6 version, as well as other sources online: 
There are a number of community users who've used the ES API for third-party integration. For example, here are at least two I am aware of: 
  • The University of British Columbia has a custom-built site called Open Collections that combines data from several Drupal sites, a ContentDM installation, and an AtoM site. They use the ES API to fetch the data from AtoM. Here is an example item-level record in Open Collections, and the same source record in AtoM
  • St. John's College at the University of Cambridge has built a custom search front-end that combines data from two different internal AtoM installations, pulling data from the ES API of each to populate it. You can see the custom search interface here
Additionally, I wonder if parsing another source might be easier with a script? For example, you can easily export all AtoM archival descriptions in a single CSV file from the command-line. Perhaps you could then use this data to populate your external index? See: 
I hope these alternatives might help, or at least spark some ideas. 

Cheers, 

Dan Gillean, MAS, MLIS
AtoM Program Manager
Artefactual Systems, Inc.
604-527-2056
@accesstomemory
he / him


--
You received this message because you are subscribed to the Google Groups "AtoM Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ica-atom-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ica-atom-users/13146eb2-da09-4774-9e37-ac341adb2227n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages