Is That Book Checked Out? Getting Holdings and Availability Data - - PowerPoint PPT Presentation

is that book checked out
SMART_READER_LITE
LIVE PREVIEW

Is That Book Checked Out? Getting Holdings and Availability Data - - PowerPoint PPT Presentation

Is That Book Checked Out? Getting Holdings and Availability Data into Other Applications Jane Sandberg Linn-Benton Community College April 21, 2016 1 / 14 Background Creating a new Discovery Layer Using Blacklight, because its cool!


slide-1
SLIDE 1

Is That Book Checked Out?

Getting Holdings and Availability Data into Other Applications Jane Sandberg

Linn-Benton Community College

April 21, 2016

1 / 14

slide-2
SLIDE 2

Background

Creating a new Discovery Layer Using Blacklight, because it’s cool! Wanted real-time holdings data, but did not want to query the db

directly.

2 / 14

slide-3
SLIDE 3

I had already met SuperCat

Our consortium’s

sysadmin pointed me toward some documentation on the wiki

I used it to create a cute

display of our new books

3 / 14

slide-4
SLIDE 4

SuperCat is nice!

4 / 14

slide-5
SLIDE 5

SuperCat is nice!

Format was nice!

I could easily parse the XML with nokogiri’s xpath powers – Blacklight already had this as a dependency!

4 / 14

slide-6
SLIDE 6

SuperCat is nice!

Format was nice!

I could easily parse the XML with nokogiri’s xpath powers – Blacklight already had this as a dependency!

Credentials required

None!

4 / 14

slide-7
SLIDE 7

SuperCat is nice!

Format was nice!

I could easily parse the XML with nokogiri’s xpath powers – Blacklight already had this as a dependency!

Credentials required

None!

Capabilities are clear

Easy to get to list of possible formats.

4 / 14

slide-8
SLIDE 8

How to use SuperCat

Format

http://example.com/opac/extras/supercat/ {COMMAND}/ {FORMAT}/ {Specific information needed by your COMMAND}

5 / 14

slide-9
SLIDE 9

How to use SuperCat

Format

http://example.com/opac/extras/supercat/ {COMMAND}/ {FORMAT}/ {Specific information needed by your COMMAND}

Example SuperCat query

http://libcat.linnbenton.edu/opac/extras/supercat/retrieve/atom- full/record/514477

5 / 14

slide-10
SLIDE 10

Results of Supercat query

[ snip ] <counts> <count type=”p u b l i c ” count=”1” a v a i l a b l e =”1” unshad <count type=” s t a f f ” count=”1” a v a i l a b l e =”1” unshado </counts> <volumes> <volume id=”tag : open−i l s . org : asset −call number /6433 <copies > <copy id=”tag : open−i l s . org : asset −copy /442300” <s t a t u s i d e n t =”0”

  • p a c v i s i b l e =”t”>Available <

<l o c a t i o n i d e n t =”223”

  • p a c v i s i b l e =”t”>New bo

< c i r c l i b i d e n t =”7”

  • p a c v i s i b l e =”t”>LBCC Libr

[ snip ]

6 / 14

slide-11
SLIDE 11

Supercat isn’t perfect

The atom-full format had everything I needed, but it also returns a

bunch of other (bibliographic) data that we don’t really need.

htmlholdings-full format didn’t have any helpful markup. Also

wasn’t totally interested in dropping results in as an HTML list.

Staff suggestion: display due datetime when item checked out 7 / 14

slide-12
SLIDE 12

OpenSearch

Credit: Alan David Robb / CC0

8 / 14

slide-13
SLIDE 13

OpenSearch

Credit: Alan David Robb / CC0

Format was also nice!

In fact, it had the same format options as supercat...

8 / 14

slide-14
SLIDE 14

OpenSearch

Credit: Alan David Robb / CC0

Format was also nice!

In fact, it had the same format options as supercat...

Credentials required

None!

8 / 14

slide-15
SLIDE 15

OpenSearch

Credit: Alan David Robb / CC0

Format was also nice!

In fact, it had the same format options as supercat...

Credentials required

None!

Capabilities are clear

Because they are the same as supercat...

8 / 14

slide-16
SLIDE 16

UnAPI

Credit: Public Domain Image

9 / 14

slide-17
SLIDE 17

UnAPI

Credit: Public Domain Image

Format was almost ideal!

holdings xml-full!

9 / 14

slide-18
SLIDE 18

UnAPI

Credit: Public Domain Image

Format was almost ideal!

holdings xml-full!

Credentials required

None!

9 / 14

slide-19
SLIDE 19

UnAPI

Credit: Public Domain Image

Format was almost ideal!

holdings xml-full!

Credentials required

None!

Capabilities are not clear

Unless you read through Open-ILS/src/perlmods /lib/OpenILS/WWW /SuperCat.pm

9 / 14

slide-20
SLIDE 20

UnAPI

URLs look like this:

https://libcat.linnbenton.edu/opac/extras/unapi? id=tag:U2@bre:biblio record entry/280157& format=holdings xml-full

Still don’t have due dates in there. 10 / 14

slide-21
SLIDE 21

JSON from opensrf web gateway

Credit: Joaquim Alves Gaspar / CC-BY-SA-3.0

11 / 14

slide-22
SLIDE 22

JSON from opensrf web gateway

Credit: Joaquim Alves Gaspar / CC-BY-SA-3.0

Format is kinda scary

But very compact!

11 / 14

slide-23
SLIDE 23

JSON from opensrf web gateway

Credit: Joaquim Alves Gaspar / CC-BY-SA-3.0

Format is kinda scary

But very compact!

Credentials required

Authentication token

11 / 14

slide-24
SLIDE 24

JSON from opensrf web gateway

Credit: Joaquim Alves Gaspar / CC-BY-SA-3.0

Format is kinda scary

But very compact!

Credentials required

Authentication token

Capabilities are pretty much unlimited

As long as Evergreen can do it, I can do it too.

11 / 14

slide-25
SLIDE 25

JSON from opensrf web gateway

http://libcat.linnbenton.edu/gateway? service=open-ils.cat& method=open-ils.cat.asset.copy tree.retrieve& param=[AUTH TOKEN]& param=294385&param=7

12 / 14

slide-26
SLIDE 26

Getting an auth token

How to get here: Admin → For developers → Javascript Shell

13 / 14

slide-27
SLIDE 27

Results of opensrf query

{” payload ”:[[/∗ − −S acn −−∗/[[],”2012−11−13T15 :50: 08 −0800” ,756052 ,” f ”,”2012−11−13T15:50:08 −0800” , 756052 ,275533 ,”M1507 . O5555 2003 bx ” ,7 ,294385 , null , null , null ,” M1507 O5555 02003BX”,/∗−−S acnc −−∗/[3, ” L i b r a r y

  • f

Congress (LC)” ,” a s s e t . l a b e l n o r m a l i z e r l c ” , ”050ab ,055 ab ,090 abef ”] /∗−−E acnc −−∗/,/∗−−S acnp − −∗/[ −1 ,”” ,”” ,1] /∗−−E acnp−−∗/,/∗−−S acns − −∗/[ −1 ,”” ,”” ,1] /∗−−E acns −−∗/]/∗−−E acn−−∗/,/∗−−S acn −−∗/[[ /∗−−S acp −−∗/[ null , null ,”38813001133703” ,358160 , null ,7 ,”DEFAULT” ,” t ” , null , ”2012−11−13T15:51:31 −0800” , [ snip ]

14 / 14