Alma Integrations Plugin
Kevin Clair 2020 April 8
Alma Integrations Plugin Kevin Clair 2020 April 8 Background - - PowerPoint PPT Presentation
Alma Integrations Plugin Kevin Clair 2020 April 8 Background Developed at University of Denver Part of effort to integrate description work across archival systems (collection database, discovery, digital repository)
Kevin Clair 2020 April 8
■
Developed at University of Denver
■
Part of effort to integrate description work across archival systems (collection database, discovery, digital repository)
■
https://github.com/duspeccoll/alma_integrations
Re Resources Locati tions Conta tainers
https://developers.exlibrisgroup.com/alma/apis/bibs
■
Get your Alma API URL and key
–
config/config.rb
■
Assign a collection’s Alma MMS ID to a User Defined String field
–
frontend/controllers/alma_integrations_controller.rb
■
Call on a data model API method in the staff interface
https://[ArchivesSpace]/plugins/alma_integrations
For t the s selected c collection:
■
Get ArchivesSpace MARC record
■
If MMS ID is present, search for MARC record in Alma
■
Incorporate data from Alma into ArchivesSpace MARC record
–
008/0-5 (date on file)
■
Allow user to push new or revised ArchivesSpace MARC record to Alma
What t the p plugin d does no not do do
■
Bring bibliographic metadata in from Alma
–
requires metadata mapping
■
Searches for existing holdings associated with the collection
■
Allows a user to quickly create new holdings records
■
Uses config/config.rb to determine building and holdings codes
## holdings codes should be encoded as a list of lists ## where [0] is a building code (for 852$b) and [1] is ## a location code (for 852$c) AppConfig[:alma_holdings] = [['h', 'hscol'], ['p', 'pscol'], ['p', 'psfol'], ['p', 'psovz'], ['p', 'psmap']]
def build_holding(code, id) controlfield_string = Time.now.strftime("%y%m%d") controlfield_string += "2u^^^^8^^^4001uueng0000000" # populate 852$b from alma_holdings config building = AppConfig[:alma_holdings].select{|a| a[1] == code}.first[0] # Nokogiri won't put 'standalone' in the header so you have to do it yourself doc = Nokogiri::XML('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>') builder = Nokogiri::XML::Builder.with(doc) do |xml| xml.holding { xml.record { xml.leader "^^^^^nx^^a22^^^^^1n^4500" xml.controlfield(:tag => '008') { xml.text controlfield_string } xml.datafield(:ind1 => '0', :tag => '852') { xml.subfield(:code => 'b') { xml.text building } xml.subfield(:code => 'c') { xml.text code } xml.subfield(:code => 'h') { xml.text "MS #{id}" } } } } end builder.to_xml end
■
Searches for items associated with the collection
■
Where able, pairs ArchivesSpace Top Container metadata with Alma item-level metadata (based on barcodes)
–
Allows for metadata remediation
What t the p plugin d does no not do do
■
Search-only: does not bring in metadata from Alma, or push metadata
■
Integrate with Alma’s Circulation APIs
–
Users cannot request a box or place it on Work Order directly from ArchivesSpace
■
Test and use the plugin
■
Submit issues to the repository
■
Contribute code and submit pull requests
■
Special Collections and Archives, Digital Collections Services, and Library Technology Services, University of Denver
■
Hadewijch Dekker and Matthieu Uittenbogaard, University of Amsterdam
integration work
and the ArchivesSpace community
and leading discussions on emails, listservs, and other forms of communication
○
Creating Alma records from ArchivesSpace resources
○
Creating ArchivesSpace resources from Alma records
○
Updates “reflected in the appropriate system”
digital objects and requesting of containers
either system
implementation in different institutional contexts
Integrations resources: https://archivesspace.atlassian.net/wiki/spaces/ADC/pages/17137746/Integrations Have an integration that isn’t listed? Let us know! https://docs.google.com/forms/d/15Nrlix43o78N03ZiTmqWL71_W4YcbiB8w9GPITVP1 QU/viewform Want to talk to us about an integration? Reach out! as_tac_integrations@lyralists.lyrasis.org
Kevin Clair Penn State University Libraries kmc35@psu.edu Adrien Hilton Houghton Library, Harvard University adrien_hilton@harvard.edu