Creating Public Websites from Specialized Voyager Data

advertisement
Creating Public Websites
from Specialized
Voyager Data
Sai Deng, Nancy Deyoe, Gemma Blackburn and Tse-Min Wang
Wichita State University Libraries
Beyond MARC note fields
Most of our abilities in the past have been
limited to notes/local notes in our MARC
data.
We have done local notes for years for
donor notes and collection information
While this information was searchable via
keyword, searchers had to be in our
OPAC.
Web options wanted!
Greater exposure
New audiences
Publicity for a topic / program
Can create something “new” reasonably
quickly
As long as information continues to be
added, the featured collection can “grow”
Examples of collections we hoped to
feature
Shocker Scholar Festival
Bestsellers/Current interest books (our
“Leisure Reading” collection)
Featured authors or subjects (to tie in with
public programming events)
Also titles from specialized collections
(such as the Wichita Art Museum
Research Library)
One featured collection: the Shocker
Scholars Festival
Annual event hosted by the WSU Libraries
Information is collected from all colleges of
faculty/departmental scholarly activity
Colleges are getting better, but this can
still be challenging!
Do the Libraries hold copies of the titles?
The process may begin at Acquisitions
Customizing and using the data
WSU faculty author note is added during
the cataloging process – this helps build
the data
We subscribe to Syndetics, so cover
images will appear in our catalog and
website
Gemma will now describe how the OPAC
data is utilized for the web display
How to draw the data from the
library catalog to display on the web
WSU uses:
Ex Libris Voyager 7.0.4 ILS
Sun Solaris 10 server
Oracle 10g database
Two ways that we use to pull data from the
database
Using Voyager Analyzer
Using an ODBC connection
How to draw the data from the
library catalog to display on the web
Voyager Database
Contains data arranged into tables, each
containing several related fields
For example, the Bib_Text table:
There are hundreds of tables in
the Voyager database
How to draw the data from the
library catalog to display on the web
Data is pulled from the database for
various reasons:
To prepare reports
Number of circulations
Number of items purchased by fund code
To identify records
All records with specific donor notes
Records with multiple 245 fields
To display records in alternative ways
Websites like the Faculty Showcase
RSS feeds
And many others…
How to draw the data from the
library catalog to display on the web
Voyager Analyzer
Cognos Business Intelligence environment connects
to Voyager database and allows the creation of
reports using a web-based, end-user friendly
environment
Data is rearranged from the Voyager table structure
into a new arrangement of layers and folders of
related fields for easier reporting creation
Data from reports can be prepared in XML format and
displayed on a website using XSLT stylesheets
How to draw the data from the
library catalog to display on the web
Voyager Analyzer
Ex Libris
Servers
Logic
Voyager Oracle
Database
Data
Web Access to
Cognos
Analyzer
Analyzer Logic
Solaris Server
Cognos
Web Access to
Analyzer
How to draw the data from the
library catalog to display on the web
ODBC – Open Database Connectivity
A standard API to access data in a database remotely
using SQL queries
Requires ODBC drivers to be installed on user’s
machine as well as connection information to connect
to the database
Data can be used through Microsoft Access or other
databases
Data in the secondary database can be displayed on
the web using a language such as ASP, PHP, etc.
How to draw the data from the
library catalog to display on the web
ODBC
Voyager Oracle
Database
Solaris Server
ODBC Drivers
Local Machine
Microsoft Access
Voyager Tables
How to draw the data from the
library catalog to display on the web
SQL – Structured Query Language
SQL is the language used to communicate
with most databases
SQL queries can be used to pull specified
data from a database through an ODBC
connection
Data can be identified from specific fields that
meets defined criteria
How to draw the data from the
library catalog to display on the web
Blob – Binary Large Object
The Voyager database does not contain most MARC
information. The MARC records are stored
independently as binary data on the server, so many
MARC fields (such as 590) cannot be extracted with
regular SQL queries
Blob queries can be used to extract MARC fields from
this binary data using an Access module containing
Visual Basic code that has been written for Voyager
Query to identify faculty
publications in the library catalog
SELECT DISTINCTROW RO_WSUDB_BIB_TEXT.BIB_ID,
RO_WSUDB_BIB_TEXT.AUTHOR, RO_WSUDB_BIB_TEXT.TITLE,
RO_WSUDB_BIB_TEXT.EDITION, RO_WSUDB_BIB_TEXT.ISBN,
RO_WSUDB_BIB_TEXT.PUBLISHER_DATE,
RO_WSUDB_BIB_TEXT.IMPRINT,
RO_WSUDB_BIB_LOCATION.LOCATION_ID,
GetFieldAll(GetBibBlob([RO_WSUDB_BIB_TEXT.BIB_ID]),"590") AS
Expr1, GetFieldAll(GetBibBlob([RO_WSUDB_BIB_TEXT.BIB_ID]),"700")
AS Expr2 INTO query590view
FROM RO_WSUDB_BIB_TEXT INNER JOIN
RO_WSUDB_BIB_LOCATION ON
RO_WSUDB_BIB_TEXT.BIB_ID=RO_WSUDB_BIB_LOCATION.BIB_ID
WHERE
((GetFieldAll(GetBibBlob([RO_WSUDB_BIB_TEXT.BIB_ID]),"590")) Like
"*WSU Faculty*");
Other queries to draw specialized
data from Voyager
Query to identify Leisure Reading books:
SELECT LOCATION.LOCATION_NAME, BIB_TEXT.TITLE, WSUDB_MFHD_MASTER.DISPLAY_CALL_NO,
BIB_LOCATION.LOCATION_ID, BIB_TEXT.BIB_ID
FROM WSUDB_MFHD_MASTER INNER JOIN ((BIB_TEXT INNER JOIN (BIB_LOCATION INNER JOIN LOCATION
ON BIB_LOCATION.LOCATION_ID = LOCATION.LOCATION_ID) ON BIB_TEXT.BIB_ID =
BIB_LOCATION.BIB_ID) INNER JOIN WSUDB_BIB_MFHD ON BIB_TEXT.BIB_ID =
WSUDB_BIB_MFHD.BIB_ID) ON WSUDB_MFHD_MASTER.MFHD_ID = WSUDB_BIB_MFHD.MFHD_ID
WHERE (((BIB_LOCATION.LOCATION_ID)="99"));
Query to identify Goldbarth poems…
SELECT DISTINCTROW RO_WSUDB_BIB_TEXT.BIB_ID, RO_WSUDB_BIB_TEXT.AUTHOR,
RO_WSUDB_BIB_TEXT.TITLE, RO_WSUDB_BIB_TEXT.EDITION, RO_WSUDB_BIB_TEXT.ISBN,
RO_WSUDB_BIB_TEXT.PUBLISHER_DATE, RO_WSUDB_BIB_TEXT.IMPRINT,
RO_WSUDB_BIB_LOCATION.LOCATION_ID, GetFieldAll(GetBibBlob([RO_WSUDB_BIB_TEXT.BIB_ID]),“730")
FROM RO_WSUDB_BIB_TEXT INNER JOIN RO_WSUDB_BIB_LOCATION ON
RO_WSUDB_BIB_TEXT.BIB_ID=RO_WSUDB_BIB_LOCATION.BIB_ID
WHERE ((GetFieldAll(GetBibBlob([RO_WSUDB_BIB_TEXT.BIB_ID]),“730")) Like "*Albert Goldbarth Collection*");
Other queries to draw specialized
data from Voyager
Query to identify Wichita Art Museum
collections:
SELECT LOCATION.LOCATION_NAME, BIB_TEXT.TITLE,
WSUDB_MFHD_MASTER.DISPLAY_CALL_NO,
BIB_LOCATION.LOCATION_ID, BIB_TEXT.BIB_ID
FROM WSUDB_MFHD_MASTER INNER JOIN ((BIB_TEXT INNER JOIN
(BIB_LOCATION INNER JOIN LOCATION ON
BIB_LOCATION.LOCATION_ID = LOCATION.LOCATION_ID) ON
BIB_TEXT.BIB_ID = BIB_LOCATION.BIB_ID) INNER JOIN
WSUDB_BIB_MFHD ON BIB_TEXT.BIB_ID =
WSUDB_BIB_MFHD.BIB_ID) ON WSUDB_MFHD_MASTER.MFHD_ID =
WSUDB_BIB_MFHD.MFHD_ID
WHERE (((BIB_LOCATION.LOCATION_ID)=“122"));
Website created from query results
Run blob query to draw faculty author data
through ODBC (as Gemma discussed);
Query results saved in an Access table:
Fields: BIB_ID, AUTHOR, TITLE, EDITION, ISBN,
PUBLISHER_DATE, IMPRINT, LOCATION_ID, Expr1,
Expr2
Expr 1: 590 notes field data
Expr 2: 700 (other author) field data
Added a localCover field to handle local cover images
(when ISBN and Syndetic cover are not available);
Website created via web programming.
http://library.wichita.edu/techserv/WSU_faculty/index.asp
Web delivery and dataflow
If available
Web
RSS Feed
If not
available
Display
Search
Access
(Query Results)
ODBC Blob Query
Voyager Oracle
Database
Syndetic Cover
Images
ASP
BibID
ISBN
Local Cover
Images
Browse
Browse
by Name
by Title
by Year
Retrieve
data
SELECT
[Fields]
FROM
[Table]
ORDER BY…
Search
Issues to consider in web delivery
What to display? In which format?
Fields: Author/Editor, Title, Publication Year,
Publisher
Decide to use “Author/Editor” (100 field/700 field) to
avoid too many blank fields (no 100);
Field names were changed from all uppercase to
make them easy to read;
Added local cover images link.
Added link to OPAC for original records display.
One step further: possible data
transformation and web delivery
Alternatively, we can transform Access table data to Dublin Core in
XML, and display it online with style sheet.
MARC (in Voyager table) to DC mapping
Marc field
Simplified DC
001 BIB_ID
Not mapped
020 ISBN
Identifier
100 AUTHOR
Contributor
245 TITLE
Title
250 EDITION
Description
260$a$b IMPRINT
Publisher
260$c PUBLISHER_DATE
Date
852$b LOCATION(_ID)
Relation
590 notes (Expr1 in query)
Description
700 other author (Expr 2 in query) Contributor
Qualified DC
Date.issued
Relation.ispartof (housing at)
Additional fields Added:
Link to OPAC/library catalog
Cover image link
Relation
Relation
Relation.isbasedon (*source)
Relation.haspart (*contained item)
Adding Syndetic cover and local
cover images
Added some local
covers for books
without Syndetic
covers;
If local covers are
available, use local
images (thumbnail
linked to large covers);
If local covers not
available,
If ISBN available, use
Syndetic covers:
Either show
Syndetic covers
or show blank
If no ISBN, use a
generic local cover
Local cover images scanning
guideline
Master
Access
Thumbnail
File Format
TIFF
JPEG
JPEG
Bit Depth
48 bit color
24 bit color
24 bit color
Spatial
Resolution
400-600 dpi
300 dpi
144 dpi
Spatial
Dimensions
4000 pixels
across the
long
dimension
400 pixels
across the
long
dimension
100 pixels
across the
long
dimension
Based on BCR’s CDP Digital Imaging Best Practices and Western States Digital
Imaging Best Practices;
Dimensions of images were set to be consistent to Syndetic covers but with higher
resolutions.
Local cover images digitization
Issues to consider in digitizing old cover
images:
Extra hard drive to save master image files;
Image editing and touch-up: erase barcode,
image clean-up, image repair;
What’s behind the barcode area? Do not
make up images if a pattern cannot be found.
Code to add local and Syndetic
cover images
From browse.asp:
Add specific
…<td class="image" rowspan="6">
large and small
<% If ((Recordset1.Fields.Item("localCover").Value <> "") AND
local covers
(Recordset1.Fields.Item("localCover").Value <> " ")) Then %>
<a href="localcover\<%=(Recordset1.Fields.Item("localCover").Value)%>L.jpg"
target="_blank">
<img border=0 src="localcover\<%=(Recordset1.Fields.Item("localCover").Value)%>.jpg"
/></a>
<% Else %>
Image link to add
<% If ((Recordset1.Fields.Item("ISBN").Value <> "") AND
Syndetic covers
(Recordset1.Fields.Item("ISBN").Value <> " ")) Then %>
<a
href="http://syndetics.com/hw7.pl?isbn=<%=(Recordset1.Fields.Item("ISBN").Value)%>/lc.j
pg&client=wichitasu" target="_blank">
<img border=0
src="http://syndetics.com/hw7.pl?isbn=<%=(Recordset1.Fields.Item("ISBN").Value)%>/sc.g
if&client=wichitasu" /></a>
Add local
<% Else %>
generic cover
<img alt="book cover" src=“localCover/cover.jpg" />
<% End If %>
<% End If %>
</td> …
Adding RSS feed
RSS feed icon
RSS feed display
Code to add RSS feed
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
pubupdate.rss
<channel>
<title>WSU Libraries: Faculty Author Published Books Update</title>
<link>http://library.wichita.edu/techserv/WSU_Faculty/index.asp</link>
<description>Update on published books of Faculty Author available at WSU Libraries</description>
<language>en-us</language>
<pubDate>Fri, 6 Mar 2009 04:00:00 GMT</pubDate>
Required Channel
<lastBuildDate>Fri, 6 Mar 2009 04:00:00 GMT</lastBuildDate>
elements:
<docs>http://library.wichita.edu/RSS</docs>
title, link,
<managingEditor>…@wichita.edu</managingEditor>
description
<webMaster>…@wichita.edu</webMaster>
<item>
<title>It grows in winter and other poems / Chinyere Okafor. </title>
<link>http://library.wichita.edu/techserv/WSU_faculty/browse.asp?browse_type=PUBLISHER_DATE</lin
added to the webpage
k>
header
<description>Get more information on this book and other WSU faculty
publications at Faculty
Research Showcase Website.</description>
<pubDate>Thu, 5 Mar 2009 04:00:00 GMT</pubDate>
</item>
…
<link rel="alternate" type="application/rss+xml" title="Faculty Author - Recent Books
</Channel> [RSS]" href="http://library.wichita.edu/techserv/WSU_faculty/pubupdate.rss">
</rss>
Final thoughts
Other project possibilities for featuring
specialized Voyager data;
Dynamic websites can be created based
on the current model;
One step further: using Dublin Core
metadata schema to present data via web
to facilitate data harvesting;
One more possibility: Add local covers to
Voyager…
Contact information
Sai Deng, Metadata Cataloger, Wichita State University
Libraries, Sai.Deng@wichita.edu
Nancy Deyoe, Assistant Dean for Technical Services,
Nancy.Deyoe@wichita.edu
Gemma Blackburn, Systems Developer, Wichita State
University Libraries, Gemma.Blackburn@wichita.edu
Tse-Min Wang, WSU Graduate Student in Computer
Science, txwang@wichita.edu
Thank you!
Download