Sunteți pe pagina 1din 49

Leveraging the Data in Your

III System
Mark Dahl Jeremy McWilliams
Assistant Director for Systems Access Services Manager
and Access Services
Watzek Library
Lewis & Clark College
Portland, OR
Presentation Overview
• Why would you export III data?

• How can you export III data?

• Examples / Projects at Lewis & Clark

• Conclusions
Why export data from III?
• Abstract reason: interoperability

• The “dis-integrated” integrated library


system

• An integrated library system should


interact with other digital library systems
Trends point to data exchange
• Web services model
• Semantic web
• Web 2.0
• “mash-ups”
• Examples
– Amazon Web Services
– Google Maps
– Other ILS vendors Ex Libris
More reasons to export data…
• Empowerment

• Cheap/free, especially with open source


tools (PHP, MySQL DBs)

• Better service to your user community

• Unleash your creativity!


How to export data from III
• Copy/paste
• Create lists/export
• OPAC export
• MARC export tables
• xrecord= command link
• (XML Server)
• (Oracle option)
Create lists
• Flexible

• Easy to combine multiple record types,


establish relationships between the two

• Nearly all data may be exported

• CSV format a limitation, however


xrecord=
• Returns an XML version of:
– Bib records
– Checkin records
– Item records
• http://libcat.lclark.edu/xrecord=b1416851
• http://libcat.lclark.edu/xrecord=c113094
• http://libcat.lclark.edu/xrecord=i1660980
• Standard feature of Web OPAC
XML records
Data available in xrecords
• MARC fields, subfields

• Fixed fields

• Non-MARC fields

• The format of the record is III-specific

• (not MARCXML)
xrecords: The Catch

You need to know the III bibliographic


record number in order to get the data
The important role of Expect
• What is Expect?
– “A little robot that can go into III and do
whatever you want it to do, whenever you
want it to.”

• Expect can automate the export of data


from the III system via Create Lists
An Expect script
# get books from gen

send -h "b"
send -h "~"
expect "P BARCODE <>"
send -h "\n"

send -h "O"
expect -- "OR"

send -h "u"
expect -- "ID"
send -h "~"
expect "ID <>"
send "\r"

send -h "s"

# name the review file

expect -- "What name would you like to give this file of records?"
send -- "Patbcs\r"

# may need to add some sleep/timeout security here if search is


lengthy!
expect "<SPACE> to continue"
send -- " "

# list completed, now print out


SQL
Data extraction Database
w/
via Create Lists III data

Create
lists/ via
Expect

PHP script reads data


(title, author,
journal holdings, etc.)
Loads it into SQL DB
text file of data: bib,
checkin, etc.
SQL
Data extraction Database
W/
with xrecord= III data

Create
lists/ via
Expect
PHP script reads record
numbers,
retrieves metadata
via xrecord,
text file of record
loads into SQL DB
numbers
(bib/checkin)
Unifying Theme…Really
• Projects described here may seem
scattered

• All involve getting data out of III (or putting


data in III)

• Purpose: improve user services or staff


workflow
Projects at Lewis & Clark:
In Depth Look

• New Books (plus RSS & email notification)

• “Other Links” & Export to RefWorks

• Journal Title Database loading w/xrecords

• Web Interfaces for putting creating records in III


New Books
• III data: create lists/Expect
– Cat Date within last 3 months
– Updated Daily

• Data loaded into PostgreSQL DB

• Subjects determined by call number

• PHP scripts create DB-driven interface

• “Live” look
PHP
scripts
RSS feeds & New Books
• RSS feeds offered for each category
• RSS dynamically created by DB queries

query PHP RSS feed


URL script (XML)

PostgreSQL DB xrecord
Amazon web services
New Books RSS in a News Reader

From
Amazon From
xrecord
New Books Notification
• Available for faculty who request books for
purchase
• Once a week, they receive an email that
tells them of any books that they ordered
that have arrived at the library
• Gives them a link to record in III catalog
• Faculty may request this service from their
library liaison
New Books Notification: email
Dan Kelley:

The following items that you requested through Watzek Library are now
available. Follow the URLs listed to find out the location and status of the
item. Please contact us at refdesk@lclark.edu if you would like to stop receiving
these weekly notices:

Title: The Johns Hopkins guide to literary theory & criticism


Author: n/a
Publisher: Baltimore, Md. : Johns Hopkins University Press, 2005.
Link to record in L&C Library Catalog: http://libcat.lclark.edu/record=b1415382

Title: Neil Young and the poetics of energy


Author: Echard, William, 1968-
Publisher: Bloomington : Indiana University Press, c2005.
Link to record in L&C Library Catalog: http://libcat.lclark.edu/record=b1416859
New Books Notification: plumbing
• Begins in create lists/Expect
• Every Sunday night a list of books with a cat
date between 2 weeks ago and 1 week ago
created
• Output file with:
– 245 |a |b
– Author
– Call #
– 260
– Bib Record #
– Selector last name (from order record)
New Books Notification: database

• Database of
selectors who
want weekly
notification
• ‘Alias’
corresponds to
the selector field
in order record
New Books Notification: process
• Cron job runs the new books notification
command line PHP script once a week

• The script looks at the database of selectors to


find out who should be notified

• Goes through the weekly file of new books

• Finds all new books for each selector and sends


them an email
Real time exporting: RefWorks
export and external links
• RefWorks is personal
bibliography
management software
• Allows patrons to build a
list of citations and then
create bibliographies with
that list (and more)
• Key to making RefWorks
easy: importing metadata
from databases
RefWorks Exporting
• From databases like Ebsco, it’s easy

• Also possible via OpenURL

• By default, it’s very awkward from an III


OPAC

• Using a little JavaScript, some PHP, and the


xrecord= command link, we made a button
in our OPAC to do RefWorks exporting
And external links
RefWorks exporting
• Refworks can ingest records in a few
different ways
– Send them a URL to a text file with citation
data in it
– Post citation data with a form
– Send them an OpenURL

• We are using the first method


RefWorks
• How do you make a link from your OPAC
that passes on data about THAT
RECORD?
• The .b number is embedded in the HTML
of full bibliographic HTML displays
• It’s on the link that allows you save a
record
– “save=b1389611 “
Javascript to the rescue
• To make our Refworks/Other Links button
appear we add a little javascript code to a
wwwoption

• That code searches for and finds the .b


number and puts it in a link to our “other
links page”
Other links
• The other links PHP page:
– Opens up the xrecord= version of the .b
number that was passed to it

– It parses through the XML and finds the


metadata for the record

– It displays the metadata AND records them in


a PHP session variable
Other links/RefWorks
Creating “Other Links”

JavaScript
Importing
RefWorks importing
• The link to RefWorks contains the URL to
another PHP script on our server

• That script outputs the citation in a


RefWorks specified format

• It knows which citation to output because


we pass the PHP session ID onto it
Other Links
• We haven’t used the “other links” features
of the script much yet

• We link to Amazon when there is an ISBN

• And Google just for the heck of it


xrecord & Journal Title DB
• Journal title database loading via xrecord=
– Bib record data for cataloged journals
– Holdings data for print journals from checkins
– Holdings data for e journal from Serials
Solutions
• Single journal title database
– Customized display
– Law/Watzek Library view
– No messing with brief records
Putting data into III
• Staff web interfaces for:
– Creating electronic reserve bib-item records
– Creating brief bib-item records for Interlibrary
Loan items borrowed

• Why do this?
– Save time
– Decrease human errors
Web for creating e-reserves bib-
item records
Create Reserves Web Form

PHP Script Expect script


(Web Form) plus form data
ILL→III program

• Want to include borrowed III items on our


patrons’ accounts

• Create new bib-item records in III from


CLIO DB

• Demo
ILL→III System: How it works

New ILL records


Synch to from CLIO Expect creates bib-item
Server record for each new ILL item
(CLIO WEB)
Future projects

• Combined e-journal/print journal statistics

• Reserves Direct…
Future project: ReservesDirect
• Open Source Reserves Management
System, developed by Emory University

• Currently interoperates with SIRSI (not III)

• Goal: integrate III reserves info with


electronic (non-III) reserves

• http://www.reservesdirect.org
Closing Thoughts
• III needs a better API
– Application Programming Interface
– xrecord is nice, but tricky to access
– It’s our data

• Or…a true Macro language


Interoperability
• ILSs should interoperate seamlessly with
other web applications
– External databases

– Portals

– Interlibrary loan applications

– Other campus computing systems


Thank You

Mark Dahl
dahl@lclark.edu

Jeremy McWilliams
jeremym@lclark.edu

S-ar putea să vă placă și