eXtensibleCatalog / NCIP2-Toolkit

Connect ILS circulation systems with XC
6 stars 6 forks source link

Voyager Connector and support for OCLC number look ups #77

Open patrickzurek opened 8 years ago

patrickzurek commented 8 years ago

JIRA issue created by: rcook Originally opened: 2012-11-15 10:05 AM

Issue body:

Different topic for Patrick – we may need to start thinking about whether we can make the connector work for

I believe that our current ILS connector for Voyager currently support use of Bibliographic IDs Since we are referencing the bibliographic record of the local system, then we are sure to us the BibliographicRecordIdentifier (as opposed to the BibliographicItemIdentifier. See sample below.

            <ns1:BibliographicRecordId>
                    <ns1:BibliographicRecordIdentifier>9229</ns1:BibliographicRecordIdentifier>
                    <ns1:AgencyId>NIU</ns1:AgencyId>
            </ns1:BibliographicRecordId>

But, if ILL functionality were ever to happen, we might need to do requests using OCLC numbers instead, which I think would be BibliographicItemIdentifier, right John?

[~bodfishj]

patrickzurek commented 8 years ago

JIRA Coment by user: bodfishj JIRA Timestamp: 2012-11-15 10:38 AM

Comment body:

No, the OCLC # is sent as a BibliographicRecordId. Here's why:

In NCIP a 'bibliographic item' is an abstract entity which is described by a BibliographicDescription and referenced by a BibliographicId.

A BibliographicId is either a BibliographicItemId or a BibliographicRecordId.

The BibliographicItemIdentifier in the BibliographicItemId is "a resource identifier for the bibliographic item". Example resource identifiers are ISBNs, ISSNs, CODEN report numbers, etc.

The BibliographicRecordIdentifier in the BibliographicRecordId "identifies the machine-readable record that describes a bibliographic item". These record identifiers can be from an organization whose record ids are commonly exchanged like OCLC, the British Library, the Library of Congress, etc.; or they can be from any NCIP agency. So if you want to identify a bibliographic item by its OCLC # you send a BibliographicRecordId, with the OCLC # (without prefixes, padding, etc.) in the BibliographicRecordIdentifier, and you send a BibliographicRecordIdentifierCode of "OCLC" from the NCIP Bibliographic Record Identifier Code Scheme, like this: {code:xml} ns1:BibliographicId ns1:BibliographicRecordId ns1:BibliographicRecordIdentifier192042294/ns1:BibliographicRecordIdentifier

OCLC/ns1:BibliographicRecordIdentifierCode /ns1:BibliographicRecordId /ns1:BibliographicId {code} If you want to send the record id for the same bibliographic item/entity in Northern Illinois University's Voyager database, you'd send something like the example given in the description, where the AgencyId is 'NIU' And if you want to send the ISBN for the same bibliographic item/entity as has that OCLC #, you'd send this: {code:xml} ns1:BibliographicId ns1:BibliographicItemId ns1:BibliographicItemIdentifier9780300158618/ns1:BibliographicItemIdentifier ISBN/ns1:BibliographicItemIdentifierCode /ns1:BibliographicItemId /ns1:BibliographicId {code}
patrickzurek commented 8 years ago

JIRA Coment by user: rcook JIRA Timestamp: 2012-11-15 11:03 AM

Comment body:

So Patrick, are we and the Drupal toolkit doing this correctly? Our sample xml is the follwing:

where we have ns1:AgencyIdXC/ns1:AgencyId, but for Rochester is should be NRU, and I am not sure what this is for the testbed....do you have it set up as XC, so that it only responds if there is an XC vs NRU.

Is the Drupal Toolkit seting the agency id correctly in the header, and in all the correct places within the XML body?

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> ns1:Ext ns1:LookupItemSet ns1:BibliographicId ns1:BibliographicRecordId ns1:BibliographicRecordIdentifier4811354/ns1:BibliographicRecordIdentifier ns1:AgencyIdXC/ns1:AgencyId /ns1:BibliographicRecordId /ns1:BibliographicId

Bibliographic Description/ns1:ItemElementType Circulation Status/ns1:ItemElementType ``` Electronic Resource Hold Queue Length Item Description Item Use Restriction Type Location ``` /ns1:LookupItemSet /ns1:Ext /ns1:NCIPMessage [~pzurek] [~mwesley] [~pkiraly]