creating public websites from specialized voyager data sai deng, nancy deyoe, gemma blackburn and...
TRANSCRIPT
Creating Public Websites Creating Public Websites from Specialized from Specialized
Voyager DataVoyager 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 DatabaseContains 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 reportsNumber of circulations
Number of items purchased by fund code
To identify recordsAll records with specific donor notes
Records with multiple 245 fields
To display records in alternative waysWebsites like the Faculty Showcase
RSS feeds
And many others…
How to draw the data from the library catalog to display on the web
Voyager AnalyzerCognos 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
Web Access to Analyzer
How to draw the data from the library catalog to display on the web
Voyager Analyzer
Cognos Analyzer Logic
Solaris Server
Voyager Oracle Database
Cognos Web Access to Analyzer
DataLogic
Ex Libris Servers
How to draw the data from the library catalog to display on the web
ODBC – Open Database ConnectivityA 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
Solaris Server
Voyager Oracle Database
Local Machine
ODBC Drivers
Microsoft Access
Voyager Tables
How to draw the data from the library catalog to display on the web
SQL – Structured Query LanguageSQL 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 ObjectThe 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
Web
RSS Feed
ASP
ODBC Blob Query
Access (Query Results)
Voyager Oracle Database
Local Cover Images
Syndetic Cover Images
If not available
ISBN
SearchBibID
If available
Display
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 mappingMarc field Simplified DC Qualified 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 Date.issued
852$b LOCATION(_ID) Relation Relation.ispartof (housing at)
590 notes (Expr1 in query) Description
700 other author (Expr 2 in query) Contributor
Additional fields Added: Link to OPAC/library catalog Relation Relation.isbasedon (*source)
Cover image link Relation 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
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.
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
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:…<td class="image" rowspan="6">
<% If ((Recordset1.Fields.Item("localCover").Value <> "") AND (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 %>
<% If ((Recordset1.Fields.Item("ISBN").Value <> "") AND (Recordset1.Fields.Item("ISBN").Value <> " ")) Then %>
<a href="http://syndetics.com/hw7.pl?isbn=<%=(Recordset1.Fields.Item("ISBN").Value)%>/lc.jpg&client=wichitasu" target="_blank">
<img border=0 src="http://syndetics.com/hw7.pl?isbn=<%=(Recordset1.Fields.Item("ISBN").Value)%>/sc.gif&client=wichitasu" /></a>
<% Else %>
<img alt="book cover" src=“localCover/cover.jpg" />
<% End If %>
<% End If %>
</td> …
Image link to add Syndetic covers
Add local generic cover
Add specific large and small local covers
Code to add RSS feed
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<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>
<lastBuildDate>Fri, 6 Mar 2009 04:00:00 GMT</lastBuildDate>
<docs>http://library.wichita.edu/RSS</docs>
<managingEditor>…@wichita.edu</managingEditor>
<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</link>
<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>
…
</Channel>
</rss>
<link rel="alternate" type="application/rss+xml" title="Faculty Author - Recent Books [RSS]" href="http://library.wichita.edu/techserv/WSU_faculty/pubupdate.rss">
pubupdate.rss
added to the webpage header
Required Channel elements:title, link, description
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, [email protected]
Nancy Deyoe, Assistant Dean for Technical Services, [email protected]
Gemma Blackburn, Systems Developer, Wichita State University Libraries, [email protected]
Tse-Min Wang, WSU Graduate Student in Computer Science, [email protected]