Subject: [CODE4LIB] holdings standards/protocols

From: Chris Keene <[email-masked]>
Date: Mon, 16 Nov 2009 14:05:20 +0000

Hi

We recently implemented a new third party web catalogue (Aquabrowser).

So far so good, and separating the web based discovery layer from the 
monolithic ILS seems to be the right direction.

However there seems to be two areas of weakness: Holdings and 'My 
Accout' (renewal, reservations). i.e. the need for  *any* 
catalogue/discovery system to allow users to see holdings and account 
info from *any* ils.

I'm trying to get my facts right on the current situation. Any help 
appreciated.

re Holdings.  Two things come up when asking around and looking on the 
web (some what briefly), Z39.50 and ISO 20775.

Can anyone give me an idea if any/many/all (ILS) Z implementations have 
implemented the holdings information?

Is there a way of testing this using a client such as yaz (e.g. a worked 
example of seeing holdings via Z)

Is there interest from ILS suppliers in the ISO holdings standard, are 
any of them implementing it?

http://www.loc.gov/standards/iso20775/
http://www.portia.dk/zholdings/
http://www.nlbconference.com/ilds/plenary4B.htm

Thanks for any info
Chris
-- 
Chris Keene                                     [email-masked]
Technical Development Manager                   Tel (01273) 877950
University of Sussex Library
http://www.sussex.ac.uk/library/

---

From: Ian Ibbotson <[email-masked]>
Date: Mon, 16 Nov 2009 14:19:53 +0000

Heya Chris.. Index Data used to maintain a public registry of z3950
targets, and I think it used to show which targets support the OPAC-1
record syntax as a means of supporting holdings info.. Might be a good
place to start?

Ian.

---

From: "B.C.Charlton" <[email-masked]>
Date: Mon, 16 Nov 2009 14:30:33 +0000

> Can anyone give me an idea if any/many/all (ILS) Z implementations
> have implemented the holdings information?
> 
> Is there a way of testing this using a client such as yaz (e.g. a
> worked example of seeing holdings via Z)

Voyager certainly can - see example below.

I've also got some perl that pulls back opac-xml using the ZOOM module. If that's of any use, let me know off-list.

Ben

Z> open nemesis.kent.ac.uk:7090
Connecting...OK.
Sent initrequest.
Connection accepted by v3 target.
ID     : 34
Name   : Voyager LMS - Z39.50 Server
Version: 2007.0.4
Options: search present
Elapsed: 0.698674

Z> base voyager
Z> format opac

Z> find 0714120766
Sent searchRequest.
Received SearchResponse.
Search was a success.
Number of hits: 1
records returned: 0
Elapsed: 0.030849

Z> show 1
Sent presentRequest (1+1).
Records: 1
[VOYAGER]Record type: OPAC
Record type: USmarc
00763cam  2200229 a 4500
001 318575
005 20080123143630.0
008 010720s1991    xxkabc              eng  
015    $a 0527672 $a 0527673 $a 0527674 $a 0527675 $a 0686148 $a F210884
020    $a 0714120766 (pbk.)
035    $9 8000527672
050  4 $a N 5760
100 1  $a Walker, Susan.
245 10 $a Roman art / $c Susan Walker.
260    $a London : $b British Museum Press for Trustees of the British Museum, $c 1991 $g (repr. 1994).
300    $a 72 p. : $b ill. (some col.), col. maps ; $c 22 cm.
500    $a Includes bibliographical references (p. 71) and index.
561    $a Copy F210884 from the collection of Colin Renfrew.
650  0 $a Art, Roman.
710 2  $a British Museum.
990    $a CL335
990    $a CL609

Data holdings 0
typeOfRecord: x
encodingLevel: 3
receiptAcqStatus: 0
generalRetention: 8
completeness: 4
dateOfReport: 000000
nucCode: TCTCOWL
localLocation: Templeman - Core Text Collection [1 Week Loan]
callNumber: N 5760
circulation 0
 availableNow: 1
 itemId: 442858
 renewable: 0
 onHold: 0
circulation 1
 availableNow: 1
 itemId: 800513
 renewable: 0
 onHold: 0
Data holdings 1
typeOfRecord: x
encodingLevel: 3
receiptAcqStatus: 0
generalRetention: 8
completeness: 4
dateOfReport: 000000
nucCode: TMORD
localLocation: Templeman - Main Collection [Ordinary Loan]
callNumber: N 5760
circulation 0
 availableNow: 1
 itemId: 442855
 renewable: 0
 onHold: 0
 temporaryLocation: Medway - Tonbridge [Ordinary Loan]
circulation 1
 availableNow: 1
 itemId: 442856
 renewable: 0
 onHold: 0
 temporaryLocation: Medway - Tonbridge [Ordinary Loan]
circulation 2
 availableNow: 1
 itemId: 442857
 renewable: 0
 onHold: 0
 temporaryLocation: Medway - Tonbridge [Ordinary Loan]
Data holdings 2
typeOfRecord: x
encodingLevel: 4
receiptAcqStatus: 0
generalRetention: 8
completeness: 1
dateOfReport: 000000
nucCode: XTONUKCORD
localLocation: Medway - Tonbridge [Ordinary Loan]
callNumber: N 5760
circulation 0
 availableNow: 1
 itemId: 692092
 renewable: 0
 onHold: 0
nextResultSetPosition = 2
Elapsed: 0.013220

---

From: Chris Keene <[email-masked]>
Date: Mon, 16 Nov 2009 14:47:28 +0000

> record syntax as a means of supporting holdings info.. Might be a good

Ah, here it is:
http://irspy.indexdata.com/find.html

I've checked a few records, but it doesn't seem to mention opac-1 even 
for one where it is supported:
<http://irspy.indexdata.com/full.html?id=Z39.50%3Anemesis.kent.ac.uk%3A7090%2Fvoyager>

Cheers
Chris

---

From: "Walker, David" <[email-masked]>
Date: Mon, 16 Nov 2009 06:53:26 -0800

Innovative does too.

Like Ben mentioned with Voyager Z39.50, simply set the record type to 'OPAC' in your yaz client to get the holdings.

--Dave

==================
David Walker
Library Web Services Manager
California State University
http://xerxes.calstate.edu
________________________________________
From: Code for Libraries [[email-masked]] On Behalf Of B.C.Charlton [[email-masked]]
Sent: Monday, November 16, 2009 6:30 AM
To: [email-masked]
Subject: Re: [CODE4LIB] holdings standards/protocols

Ben

Z> base voyager
Z> format opac

Z> find 0714120766
Sent searchRequest.
Received SearchResponse.
Search was a success.
Number of hits: 1
records returned: 0
Elapsed: 0.030849

Z> show 1

Data holdings 0
typeOfRecord: x
encodingLevel: 3
receiptAcqStatus: 0
generalRetention: 8
completeness: 4
dateOfReport: 000000
nucCode: TCTCOWL

---

From: Chris Keene <[email-masked]>
Date: Mon, 16 Nov 2009 14:58:31 +0000

> Z>  open nemesis.kent.ac.uk:7090

OK

Looks like our Talis system can't using the same process :(

prompt>yaz_client
Z> open ustie1.lib.sussex.ac.uk:2121
Connecting...OK.
Sent initrequest.
Connection accepted by v3 target.
ID     : 81
Name   : Zebra Information Server/GFS/YAZ (YAZ Proxy)
Version: Zebra 2.0.7/1.104/2.1.40/1.2.1
Options: search present delSet triggerResourceCtrl scan sort 
extendedServices namedResultSets
Elapsed: 0.010311
Z> base prod_talis
Z> format opac
Z> find 9783540731443
Sent searchRequest.
Received SearchResponse.
Search was a success.
Number of hits: 1, setno 1
SearchResult-1: term=9783540731443 cnt=1
records returned: 0
Elapsed: 0.071800
Z> show 1
Sent presentRequest (1+1).
Records: 1
[prod_talis]Diagnostic message(s) from database:
     [238] Record not available in requested syntax -- v2 addinfo ''
nextResultSetPosition = 2
Elapsed: 0.536961

Chris

---

From: Ross Singer <[email-masked]>
Date: Mon, 16 Nov 2009 10:09:21 -0500

> Looks like our Talis system can't using the same process :(

No, holdings aren't exported to Zebra.

That being said, the opacxml format could be pretty easily added to
the jangle connector.  There's also something similar (well, sort of)
in Keystone.

What exactly are you looking for?  Does this functionality work with
AquaBrowser implementations on Voyager or III?

I guess what I'm asking is, is the Z39.50 holdings format exactly what
you want, or would there be a more ideal format to use?  The opac
format gets pretty gnarly with serials, for example (of course,
everything does).

-Ross.

---

From: Chris Keene <[email-masked]>
Date: Mon, 16 Nov 2009 17:04:01 +0000

> format gets pretty gnarly with serials, for example (of course,

Good question.

When our Aquabrowser service was set up (http://catalogue.sussex.ac.uk/) 
by Medialab, they used - wait for it - screenscrapping to get holdings 
from our ILS catalogue (Talis Prism 2).

But I guess I'm trying to take step back and say what should our 
suppliers be supporting?
If you were designing a web interface to search one or more ILS tomorrow 
(replacement catalogue interface or perhaps a union catalogue) what 
would you need to implement to show holdings information?

It seems the answer so far is z39.50 is your best bet for some systems. 
Jaggle seems like promising next step.

But z39.50 isn't exactly a protocol of a web age. However it looks like 
there is nothing out there at the moment which can provide holdings via 
the web. Perhaps that is what ISO 20775 is trying to achieve?

What was I asking? Not so much a question, but I wanted to understand 
what the current situation is. And what I should be encouraging 
suppliers to support. (and what I should be checking for when evaluating 
systems)

There are a lot of new-ish 'Discovery layer' apps out there:
http://dltj.org/article/niso-discovery-presentation-links/
But it seems none of these can perfectly plug-in to any ILS and act as a 
replacement catalogue while there are no (decent) standards in this area.

These systems can have fantastic ranking, great looks and more, but if 
it can't show if the item is on loan, or which library it's in, or 
classmark, then users will see this as a step back.

It seems odd that this seems something that isn't really resolved yet 
(though I may be wrong, still getting my head around it). Interested in 
anyone's thoughts on the matter.

Cheers
Chris

---

From: Jonathan Rochkind <[email-masked]>
Date: Mon, 16 Nov 2009 12:24:22 -0500

Jangle is more of a delivery mechanism than a format -- once you know 
'jangle' you know how to access data, but the data can still be in any 
format at all.  Including, say, the NISO format.  So it's different in 
that case from the NISO stuff which specs both delivery mechanism and 
data format.

When it comes to actual data formats, you've still got to choose with 
Jangle.  And the choices are.... kind of weird and not always optimal.  
But another one to pay attention to in addition to z39.50 (ie MARC, or 
OPAC-MARC) or NISO is the DLF ILS-di task force "dlf expanded" format.

My trials and tribulations at trying to use standard formats through a 
jangle-like mechanism (but not actually jangle yet) can be found here:

http://bibwild.wordpress.com/2009/09/10/dlf-ils-di-dlfexpanded-service-for-horizon/

---

From: Michael Beccaria <[email-masked]>
Date: Mon, 16 Nov 2009 15:36:06 -0500

VuFind has a connector that works pretty well for SirsiDynix
Unicorn/Symphony users. It levies an ILS server side script (Perl I
think) to interface with the API to get holdings data. It is possible to
get account data the same way, though it hasn't been developed.

You can see it run here on our beta install:
http://library.paulsmiths.edu/vufind/Search/Home?lookfor=dog&type=all&su
bmit=Find
Wait a few seconds following page load and the holdings data should
update.

Mike Beccaria
Systems Librarian
Head of Digital Initiatives
Paul Smith's College
518.327.6376

-----Original Message-----
From: Code for Libraries [mailto:[email-masked]] On Behalf Of
Chris Keene
Sent: Monday, November 16, 2009 9:05 AM
To: [email-masked]
Subject: [CODE4LIB] holdings standards/protocols

Hi

Thanks for any info
Chris