Top Banner
Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library [email protected] Tom Trutt E-Reserve & Access Services Specialist Mann Library [email protected]
33

Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Re-using Metadata from the Voyager Library Catalog

– CUL Metadata Working Group –

Friday October 19, 2007

Nick CappadonaInterface DesignerMann [email protected]

Tom TruttE-Reserve & Access Services SpecialistMann [email protected]

Page 2: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Background

• Problems pulling due date & times for multiple items (Suppressed from OPAC)

• Slow response time from the OPAC for reserves searches

• Window clutter

Page 3: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Solution 1• Microsoft Access Database

– Used an ODBC connection, via Microsoft Jet– Form Based

The Advantages• Allowed access to high use items

• Slow• Yet another open window• Interface issues

– Non-intuitive GUI• Not easily customizable

The Disadvantages

Page 4: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Solution 2• System tray based program

– Written in Visual Basic .NET

• Query Voyager’s database directly– OLeDB connection

• Small footprint• Faster response times• Ability to filter reserves by location• Customizable searches

The Advantages

Page 5: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

The Interface

Runs From The System Tray

Right clicking on the icon will bring up available reports.

Page 6: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Checking Study Room Availability

Item Description Current Due Date and Time

Charged Rooms Highlighted In Yellow Overdue Rooms Highlighted In RedFree Rooms Are Not Highlighted

Page 7: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Checking Course Reserves

Toggles Between Mann Only and All of CUL Course Listing

Shows Selected Course Materials

Page 8: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Course Materials Listing

Reserves Item Information

Current Status Information, Reserve Location and Owning Location

Items are color coded as to current charged status

Page 9: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

BIB_ITEM

BIB_ID ITEM_ID ADD_DATE OPERATOR_ID

BIB_TEXT

PK BIB_ID

AUTHOR TITLE TITLE_BRIEF UNIFORM_TITLE ....

MFHD_ITEM

MFHD_ID ITEM_ID ITEM_ENUM CHRON YEAR CAPTION FREETEXT

CIRC_TRANSACTIONS

PK CIRC_TRANSACTION_ID

ITEM_ID CIRC_POLICY_MATRIX_ID PATRON_ID .... CHARGE_DATE ... CURRENT_DUE_DATE ...

ITEM

PK ITEM_ID

PERM_LOCATION TEMP_LOCATION ITEM_TYPE_ID TEMP_ITEM_TYPE_ID COPY_NUMBER ON_RESERVE ....

TITLEAUTHOR

COPY_NUMBER

ITEM_ENUMCHRON

CHRAGE_DATE

CURRENT_DUE_DATE

BIB_STATUS_LOOKUP

TITLEITEM_ENUMCHRONCHARGE_DATECURRENT_DUE_DATE

Pull Status by BibID

Page 10: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

In Other Words …

Where “X” is equal to the bib id of the items you wish to view.

SELECT BIB_TEXT.TITLE, MFHD_ITEM.ITEM_ENUM, MFHD_ITEM.CHRON, CIRC_TRANSACTIONS.CHARGE_DATE, CIRC_TRANSACTIONS.CURRENT_DUE_DATE, ITEM.COPY_NUMBERFROM ITEM INNER JOIN (CIRC_TRANSACTIONS RIGHT JOIN (MFHD_ITEM INNER JOIN (BIB_TEXT INNER JOIN BIB_ITEM ON BIB_TEXT.BIB_ID = BIB_ITEM.BIB_ID) ON MFHD_ITEM.ITEM_ID = BIB_ITEM.ITEM_ID) ON CIRC_TRANSACTIONS.ITEM_ID = BIB_ITEM.ITEM_ID) ON ITEM.ITEM_ID = BIB_ITEM.ITEM_IDWHERE (((BIB_ITEM.BIB_ID)="X"));

TITLE ITEM_ENUM CHRON COPY_NUMBER CHARGE_DATE CURRENT_DUE_DATEMann Library Circulation Study Rooms. Room 271 1Mann Library Circulation Study Rooms. Room 272 1Mann Library Circulation Study Rooms. Room 378 1Mann Library Circulation Study Rooms. Room 381 1 23-Dec-04 31-Dec-06Mann Library Circulation Study Rooms. Room 478 1 18-Aug-06 28-May-07Mann Library Circulation Study Rooms. Room 480 1 30-Aug-06 30-Dec-06Mann Library Circulation Study Rooms. Room 481 1 30-May-06 18-Dec-06

If an item is not charged the “CHARGE_DATE” and “CURRENT_DUE_DATE” fields return as “null” or remain empty.

Query

Query results

Page 11: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

COURSE

PK COURSE_ID

COURSE_NAME NORMAL_COURSE_NAME COURSE_NUMBER NORMAL_COURSE_NUMBER BEGIN_DATE END_DATE CIRC_CLUSTER_ID

Pull Course Listing

INSTRUCTOR

PK INSTRUCTOR_ID

LAST_NAME NORMAL_LAST_NAME FIRST_NAME TITLE CIRC_CLUSTER_ID

RESERVE_LIST_COURSE

RESERVE_LIST_ID DEPARTMENT_ID INSTRUCTOR_ID COURSE_ID SECTION_ID

RESERVE_LIST

PK RESERVE_LIST_ID

RESERVE_LOCATION LIST_TITLE NORMAL_LIST_TITLE EFFECT_DATE EXPIRE_DATE CREATE_DATE CREATE_OPID CREATE_LOCATION_ID UPDATE_DATE UPDATE_OPID UPDATE_LOCTATION_ID

RESERVE_LIST_ID

LAST_NAME

FIRST_NAME

COURSE_NUMBER

COURSE_NAME

COURSE_LISTING

RESERVES_LIST_IDCOURSE_NUMBERCOURSE_NAMEFIRST_NAMELAST_NAME

Page 12: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

An Example

SELECT RESERVE_LIST.RESERVE_LIST_ID, COURSE.COURSE_NUMBER, COURSE.COURSE_NAME, INSTRUCTOR.FIRST_NAME, INSTRUCTOR.LAST_NAMEFROM COURSE, RESERVE_LIST_COURSES, RESERVE_LIST, INSTRUCTORWHERE (((COURSE.COURSE_ID)=[RESERVE_LIST_COURSES].[COURSE_ID]) AND ((RESERVE_LIST_COURSES.RESERVE_LIST_ID)=[RESERVE_LIST].[RESERVE_LIST_ID]) AND ((RESERVE_LIST_COURSES.INSTRUCTOR_ID)=[INSTRUCTOR].[INSTRUCTOR_ID]) AND ((RESERVE_LIST.RESERVE_LOCATION)="79")) AND

((RESERVE_LIST.EFFECT_DATE)<Now()) AND ((RESERVE_LIST.EXPIRE_DATE)>Now()))ORDER BY COURSE.COURSE_NUMBER;

“79" corresponds to our reserves location, “Mann Reserve”. If removed the query will pull all reserves locations.

RESERVE_LIST_ID COURSE_NUMBER COURSE_NAME FIRST_NAME LAST_NAME11719 DEA 111 Making a difference: by design Sheila Danko6843 DEA 250 Environment and Social Behavior Gary Evans7242 DEA 303 Interior Materials and Sustainable Elem Rhonda Gilmore5035 DEA 325 Human Factors: Ergonomics-Anthropometri Alan Hedge9058 DEA 401 research class Gary Evans8173 DEA 408 DESIGN STUDIO VIII Sheila Danko

The “RESERVE_LIST_ID” that is shown here is passed to the second query to obtain the item lists for that class

Query

Query Results

Page 13: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

COURSE_LISTING

RESERVES_LIST_IDCOURSE_NUMBERCOURSE_NAMEFIRST_NAMELAST_NAME

Pull Course Materials

RESERVE_LIST_ITEMS

RESERVE_LIST_ID ITEM_ID

MFHD_ITEM

MFHD_ID ITEM_ID ITEM_ENUM CHRON YEAR CAPTION FREETEXT

MFHD_MASTER

PK MFHD_ID

LOCATION_ID CALL_NO_TYPE NORMALIZED_CALL_NO DISPLAY_CALL_NO ....

BIB_ITEM

BIB_ID ITEM_ID ADD_DATE OPERATOR_ID

BIB_TEXT

PK BIB_ID

AUTHOR TITLE TITLE_BRIEF UNIFORM_TITLE ....

CIRC_TRANSACTIONS

PK CIRC_TRANSACTION_ID

ITEM_ID CIRC_POLICY_MATRIX_ID PATRON_ID .... CHARGE_DATE ... CURRENT_DUE_DATE ...

ITEM

PK ITEM_ID

PERM_LOCATION TEMP_LOCATION ITEM_TYPE_ID TEMP_ITEM_TYPE_ID COPY_NUMBER ON_RESERVE ....

LOCATION1

LOCATION_ID LOCATION_CODE LOCATION_NAME LCOATION_DISPLAY_NAME ....

ITEM_ENUMCHRON

DISPLAY_CALL_NO

AUTHORTITLE

CHARGE_DATE

CURRENT_DUE_DATE

COPY_NUMBER

LOCATION_DISPLAY_NAME

RESERVES_LIST_ITEMS

TITLEAUTHORITEM_ENUMCHRONCOPY_NUMBERDISPLAY_CALL_NOCHAREG_DATECURRENT_DUE_DATEITEM_TEMP_LOCATION

LOCATION1

LOCATION_ID LOCATION_CODE LOCATION_NAME LCOATION_DISPLAY_NAME ....

LOCATION_DISPLAY_NAME

Page 14: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

An Example

SELECT BIB_TEXT.TITLE, BIB_TEXT.AUTHOR, MFHD_ITEM.ITEM_ENUM, MFHD_ITEM.CHRON, ITEM.COPY_NUMBER, MFHD_MASTER.DISPLAY_CALL_NO, CIRC_TRANSACTIONS.CHARGE_DATE, CIRC_TRANSACTIONS.CURRENT_DUE_DATE, LOCATION_1.LOCATION_NAME AS Temp_Location, LOCATION.LOCATION_NAME AS Perm_LocationFROM LOCATION AS LOCATION_1 RIGHT JOIN (LOCATION RIGHT JOIN (BIB_TEXT INNER JOIN (CIRC_TRANSACTIONS RIGHT JOIN (ITEM INNER JOIN (((RESERVE_LIST_ITEMS INNER JOIN MFHD_ITEM ON RESERVE_LIST_ITEMS.ITEM_ID = MFHD_ITEM.ITEM_ID) INNER JOIN BIB_ITEM ON RESERVE_LIST_ITEMS.ITEM_ID = BIB_ITEM.ITEM_ID) INNER JOIN MFHD_MASTER ON MFHD_ITEM.MFHD_ID = MFHD_MASTER.MFHD_ID) ON ITEM.ITEM_ID = RESERVE_LIST_ITEMS.ITEM_ID) ON CIRC_TRANSACTIONS.ITEM_ID = RESERVE_LIST_ITEMS.ITEM_ID) ON BIB_TEXT.BIB_ID = BIB_ITEM.BIB_ID) ON LOCATION.LOCATION_ID = ITEM.PERM_LOCATION) ON LOCATION_1.LOCATION_ID = ITEM.TEMP_LOCATIONWHERE (((RESERVE_LIST_ITEMS.RESERVE_LIST_ID)="X") AND ((ITEM.TEMP_LOCATION) In ("79")))ORDER BY BIB_TEXT.TITLE;

“Optional”

Where “X” is equal to RESERVE_LIST_ID from the first query.

TITLE AUTHOR ITEM_ENUM CHRON COPY_NUMBER DISPLAY_CALL_NO CHARGE_DATE CURRENT_DUE_DATE Temp_Location Perm_Location*Electronic Reserve Readings For DEA 250 Fall 2006 Evans 0

Electronic Reserve No call number Mann Reserve Mann Reserve

7 habits of highly effective people : restoring the character ethic / Stephen R. Covey.

Covey, Stephen R. 1 BF637.S8 C68 2004 9/18/2006 12:04 9/18/2006 14:04 Mann Reserve Hotel

Accessible housing design file / Barrier Free Environments Incorporated. 1 NA2545.P5 A17 Mann Reserve Fine Arts

Adolescence / Laurence Steinberg.

Steinberg, Laurence D., 1952- 1 HQ796 .S81x 1996 Mann Reserve Mann

If an item is not charged the “CHARGE_DATE” and “CURRENT_DUE_DATE” fields return as “null” or remain empty.

Query

Query Results

Page 15: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Meanwhile…

• Our Web site was under the knife• Refocused as a research tool• Empowering our patrons• Moonlighting in e-reserves

Page 16: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

So what about those patrons?

• What if they could check the status of a study room?

• Our GPS units and camcorders?• Laptops?• Course Reserves?• And …

Page 17: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Study Rooms

Page 18: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Equipment & Laptops

Page 19: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Course Reserves

Page 20: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Behind the Scenes

• SQL + ColdFusion

Page 21: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Tom’s SQL

Database connection is predefined in Coldfusion AdministratorResults are cached for 2 minutes

Page 22: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.
Page 23: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Course Reserves: A Slight Twist

• SQL + ColdFusion + Javascript + elbow grease

Page 24: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

ajaxCFC http://www.robgonda.com/blog/projects/ajaxcfc

• ColdFusion framework• Middleman between JavaScript and

ColdFusion• Packaged with Direct Web Remoting (DWR)

– http://getahead.ltd.uk/dwr

• Returns pure JavaScript

Page 25: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Course Reserves

• Initial query for course list is handled the same way as equipment and rooms

• SQL + ColdFusion XHTML

• Used to populate select field

Page 26: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

More on Course Reserves

• When a course is selected, a JavaScript function is called

path to listener CFC

scriptName

methodName

argument

call-back function

Page 27: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

The ColdFusion Component (CFC)

• Arguments are passed to the CFCmethodName

Argument (ex. 5309,BIO G 109: Biological Principles,1234)

Page 28: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

The ColdFusion Component (CFC)

• The selectedReserveID is passed to the secondary query

Page 29: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

The ColdFusion Component (CFC)

• The selectedCourseID is used to build the link to the e-reserves listing in the library catalog

finally, the query results are returned to the pagevia a JavaScript structure

Page 30: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

The Call-Back Function

• Resides on the requesting page• Receives the returned results• Incorporates DWR utility functions to alter the

page

Page 31: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

The Call-Back in Action

Determine table heading based on selected course

Clear table body with id=“returnedItems”

Populate table using DWRUtil.addRows and cellFuncs

Page 32: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

The Call-Back in Action

Page 33: Re-using Metadata from the Voyager Library Catalog – CUL Metadata Working Group – Friday October 19, 2007 Nick Cappadona Interface Designer Mann Library.

Handy Tools for Circulation and the Web

– Endeavor Mid-Atlantic Users Group Meeting 2006 –

Hamilton College

Tuesday October 3, 2006Nick CappadonaInterface DesignerMann [email protected]

Tom TruttE-Reserve & Access Services SpecialistMann [email protected]