4. Metadata API
Available Operations
•
Create/Read/Update Bibliographic Records
•
Update/Delete Institutional Holdings
•
Retrieve Holding Code information about an Institution (Why?)
•
Create/Read/Update Local Bibliographic Data
9. Metadata API
But this is really cool because we can…
•
Further automate traditional technical services processes
•
Specifically holdings management
•
Batch record ingestion
•
Build pipelines between our repository systems and WorldCat
•
Develop localized interfaces for metadata entry outside the library
•
Opens up the opportunity for tool builders to interact with the OCLC
member community
17. Metadata API
Conspicuously Absent Operations
•
Record Validation
•
Anything to do with authority data
•
Record Locking (for record editing)
•
Service Status
•
User Validation (for permission validation)
18. More Information
What more information?
•
OCLC’s Developer Network:
•
•
OCLC Metadata API Documentation:
•
•
http://oclc.org/developer/services/worldcat-metadata-api
Notes on MarcEdit Integration:
•
•
http://oclc.org/developer/
http://blog.reeset.net/archives/1245
C# OCLC API Library
•
https://github.com/reeset/oclc_api
Notas del editor
Authentication is challenging on 2 frontsGetting a key requires going through the developer key management – which isn’t particular user friendly for none developersAnd requires users to sign End User Agreements that their institutions might not be comfortable withAs a none university affiliated user, getting a key is nearly impossible in the current setup. OCLC’s current key management doesn’t seem well suited for 3rd party developers not associated with an organization.Requires the generation of an HMSC Signature that includesWorldCat KeySecret KeyPrincipalIDPrincipalIDNSSystem generated timestampRandom system generated keyAdditionally, you needInstitutional OCLC symbolInstitutional Holdings Code
By far the most challenging. Current document provides argument lists without defining valid data. And outside of a blog post, error codes and information are largely undefined. Often times, to find out what data was valid for a particular function, I’d attempt an operation just so it would fail and see if the error information was useful.
All operations – evening testing operations – are live
All operations – evening testing operations – are live