WebVoyáge with a Wrapper Michael Doran, Systems Librarian Ex Libris Users of North America (ELUNA) Meeting Long Beach, CA - Session 48.2.

Slides:



Advertisements
Similar presentations
The New Books List The New Books List Version 7.0 for Tomcat WebVoyáge Michael Doran, Systems Librarian Northwest EndUsers Group November 13, 2008 Highline.
Advertisements

New Books List for your OPAC: Shareware thats worth every penny! Debbie Morrow Automation Librarian Grand Valley State University GLUGM 2002, Fri. October.
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Endnote Tutorial The Version pictured is version 9.0 May 8, 2007.
Hypertext markup language.  Client asks for an html file  Server returns the html file  Client parses and displays it  This display is what most people.
Information & Library Services Australian Education Index, British Education Index and ERIC Sally Giffen August 2006.
River Campus Libraries Creating Usable User Interfaces (with Voyager, Encompass, and SFX) David Lindahl Director of Digital Library Initiatives
River Campus Libraries Creating Usable User Interfaces With Voyager®, ENCompass™ and Open URL Resolvers David Lindahl Director of Digital Library Initiatives.
River Campus Libraries Creating Usable User Interfaces (with Voyager, Encompass, and SFX) David Lindahl, Digital Initiatives Manager
River Campus Libraries Creating Usable User Interfaces (with Voyager, Encompass, and SFX) David Lindahl Director of Digital Library Initiatives
Catalog: Batch delete old Patron Records How to conduct global/batch updates to records – patron Adding Faculty and Patron/Student Records Manually Standardizing.
Using ProQuest Databases Jackson Community College Atkinson Library.
ERIN STALBERG NCSU LIBRARIES SEPTEMBER 16, 2009 Cool Tools – More Connexion.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Voyager Developer Meeting March 9-10, 2011 Chicago, IL Voyager Developer Meeting March 9-10, 2011 Chicago, IL Michael Doran, Systems Librarian University.
The New Books List Michael Doran, Systems Librarian Ex Libris Southwest Users Group February 6, 2008 – Santa Ana College.
Crunching Numbers: OPAC Log Analysis of WebVoyage Bennett Claire Ponsford Digital Services Librarian Texas A&M University Libraries EndUser 2007 Session.
Chapter 9 Using Perl for CGI Programming. Computation is required to support sophisticated web applications Computation can be done by the server or the.
Headings, Paragraphs, Formatting, Links, Head, CSS, Images
Creating a Basic Web Page
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
Advanced Excel for Finance Professionals A self study material from South Asian Management Technologies Foundation.
ShelfLister ShelfLister Real-time Voyager Shelf Lists via Wireless PDA Michael Doran, Systems Librarian Ex Libris Southwest Users Group February 6, 2008.
Using Publishing Profiles to dump data out of Alma needed for resource sharing systems such as HathiTrust Margaret Briand Wolfe Systems Librarian Boston.
Creating an LDAP Patron Authentication Adaptor Michael Doran, Systems Librarian University of Texas at Arlington Endeavor Users Group Meeting, Chicago,
Overview of Voyager External Patron Authentication Michael Doran, Systems Librarian Ex Libris Southwest Users Group February 6, 2008 – Santa Ana College.
Programming the Web Web = Computer Network + Hypertext.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
USING PERL FOR CGI PROGRAMMING
Teacher’s Assessment Assistant Worksheet Builder Starting the Program
XSLT Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
© 2007 CBHL The CBHL Distributed Library The Council on Botanical and Horticultural Libraries A Guide to Content and Search Features.
 2003 Prentice Hall, Inc. All rights reserved. CHAPTER 3 JavaScript 1.
Chapter 9: Perl and CGI Programming CGI Programming Acknowledgement: Some materials are taken from Teach Yourself CGI Programming with PERL 5 in a Week.
The Internet 8th Edition Tutorial 4 Searching the Web.
Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist.
HTML Basics BCIS 3680 Enterprise Programming. Web Client/Server Architecture 2  Your browser (the client) requests a Web page from a remote computer.
CSC 2720 Building Web Applications Server-side Scripting with PHP.
WebVoyáge Redesign UT Arlington Library WebVoyáge Advisory Committee Joshua Been Michael Doran Brad Gulliford Helen Hough Heather Scalf Peter Zhang.
Searching Voyager: #2: Finding a Book by Its Title Zale Library at Paul Quinn College David Hamrick, 2012 “Now, voyager, sail thou forth to seek and find…”
Extreme Makeover: Extreme Makeover: Tomcat WebVoyáge Edition Michael Doran, Systems Librarian Ex Libris Southcentral Users Group Wichita Falls, Texas October.
Three Voyager Clients Michael Doran, Systems Librarian Developer Meets Developer Meeting March 25, 2009 Ex Libris Headquarters Des Plaines, Illinois.
UoS Libraries 2011 EndNote X5 - basic graduate session.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 8: Working with Style Sheets.
Copyright © 2003 ProsoftTraining. All rights reserved. Perl Fundamentals.
WebVoyáge with a Wrapper Michael Doran, Systems Librarian Kentucky Voyager Users’ Group Meeting Thomas More College - June 1, 2007.
1. 2 Google Session 1.About MIT’s Google Search Appliance (GSA) 2.Adding Google search to your web site 3.Customizing search results 4.Tips on improving.
IN THE NAME OF GOD. Reference Citing Software.
 2001 Prentice Hall, Inc. All rights reserved. Chapter 7 - Introduction to Common Gateway Interface (CGI) Outline 7.1Introduction 7.2A Simple HTTP Transaction.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
Page 1. LexisNexis Confidential LexisNexis NZ Upgrade July 2006 Preview 1. Introduction 2. Upgraded Source Directory 3. PDF Delivery of Documents.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Instructions for Endnote Mary Biathrow, Academic Coordinator Tuck School of Business.
WISER Social Sciences: Finding books and journals Judy Reading.
What’s Hot in Finland Ere Maijala IT Research Specialist The National Library of Finland Hint: It’s not the weather.
Positioning Objects with CSS and Tables
DbWiz Federated Search Tool Demo to Staff Carol MacDonald April 4, 2007.
Creating Web Pages with Links, Images, and Embedded Style Sheets
Web Design Terminology Unit 2 STEM. 1. Accessibility – a web page or site that address the users limitations or disabilities 2. Active server page (ASP)
Academic Computing Services 2007 Microsoft Word 2010 Publishing Long Documents This Guide will teach you how to work with long documents such as dissertations.
COMP 143 Web Development with Adobe Dreamweaver CC.
Lesson 11. CGI CGI is the interface between a Web page or browser and a Web server that is running a certain program/script. The CGI (Common Gateway Interface)
Chapter 7 - Introduction to Common Gateway Interface (CGI)
z/Ware 2.0 Technical Overview
Please log on a computer Open the web and then Open four tabs…
5.00 Apply procedures to organize content by using Dreamweaver. (22%)
This presentation document has been prepared by Vault Intelligence Limited (“Vault") and is intended for off line demonstration, presentation and educational.
Presentation transcript:

WebVoyáge with a Wrapper Michael Doran, Systems Librarian Ex Libris Users of North America (ELUNA) Meeting Long Beach, CA - Session July 31, 2008

Michael Doran, Systems Librarian Once upon a time… “If you will just configure me right, I will turn into a handsome OPAC.” “Hi, my name is Lloyd”

Michael Doran, Systems Librarian What is a handsome OPAC? Aesthetically handsome Functionally handsome An OPAC is “handsome” if it  is simple to use  is intuitive to use  makes it easy to find stuff “Only librarians like to search, everybody else likes to find.” – Roy Tennant

Michael Doran, Systems Librarian Simple searches

Michael Doran, Systems Librarian WebVoyáge simple search

Michael Doran, Systems Librarian The secret handshakes last name, first name for author searches no initial articles for title searches Library of Congress subject headings Boolean operators what an index browse is

Michael Doran, Systems Librarian It was soooo simple…

Michael Doran, Systems Librarian WebVoyáge simple search (after) keyword anywhere search words within quotes are treated as a phrase other words are automatically Boolean ANDed* relevancy ranked results* Hmmm… that’s -like in functionality

Michael Doran, Systems Librarian Code WebVoyáge Yada, yada, yada... More yada, yada, yada...

Michael Doran, Systems Librarian WebVoyáge server-side back end Voyager OPAC opacsvr Pwebrecon.cgi opac.ini Oracle httpd webrecon.exe keysvr indexes header webvoyage.cgi

Michael Doran, Systems Librarian WebVoyáge is a “black box” Voyager OPAC opacsvr Pwebrecon.cgi opac.ini Oracle httpd webrecon.exe keysvr indexes header webvoyage.cgi “Black Box”

Michael Doran, Systems Librarian They call it a wrapper Voyager OPAC opacsvr Pwebrecon.cgi opac.ini Oracle httpd webrecon.exe keysvr indexes header webvoyage.cgi “Black Box” “wrapper script”

Michael Doran, Systems Librarian They call it a wrapper Voyager OPAC opacsvr Pwebrecon.cgi opac.ini Oracle httpd webrecon.exe keysvr indexes header webvoyage.cgi “Black Box” Pwebrecon-orig.cgi “wrapper script”Pwebrecon.cgi

Michael Doran, Systems Librarian Basic wrapper script #!/usr/bin/perl $data_stream = `./Pwebrecon-orig.cgi`; print $data_stream; exit; opacsvr Pwebrecon.cgi Oracle httpd webrecon.exe keysvr webvoyage.cgi “Black Box” Pwebrecon-orig.cgi “wrapper script”Pwebrecon.cgi WebVoyáge Yada, yada, yada... More yada, yada, yada...

Michael Doran, Systems Librarian Do your thing to that datastream aka “screen scraping” “A technique in which a computer program extracts data from the display output of another program. The key element that distinguishes screen scraping from regular parsing is that the output being scraped was intended for final display to a human user, rather than as input to another program, and is therefore usually neither documented nor structured for convenient parsing.” [from Wikipedia] text wrangling  add text  delete text  rearrange text

Michael Doran, Systems Librarian Example – adding text Voyager’s “header.htm” file  is inserted after the tag  okay for display tags, but not for others Wrapper script can insert elements within the tag  metadata  JavaScript  CSS

Michael Doran, Systems Librarian Example – adding text #!/usr/bin/perl $data_stream = `./Pwebrecon-orig.cgi`; $meta_code = qw( ); $data_stream =~ s# #$meta_code #i; print $data_stream; exit; Library Catalog - University of Texas at Arlington <BODY onLoad="document.querybox.Search_Arg.focus()“… Library Catalog - University of Texas at Arlington <BODY onLoad="document.querybox.Search_Arg.focus()“…

Michael Doran, Systems Librarian Example – removing text #!/usr/bin/perl $data_stream = `./Pwebrecon-orig.cgi`; $data_stream =~ s#.*? University of Texas at Arlington Library ##i; print $data_stream; exit;

Michael Doran, Systems Librarian Example – rearranging text #!/usr/bin/perl $data_stream = `./Pwebrecon-orig.cgi`; $data_stream =~ s#Search request: (.*).*Results: (.*) entries.# $2 entries for $1 #s; print $data_stream; exit;

Michael Doran, Systems Librarian Wrapper script redux #!/usr/bin/perl $data_stream = `./Pwebrecon-orig.cgi`; print $data_stream; exit; opacsvr Pwebrecon.cgi Oracle httpd webrecon.exe keysvr webvoyage.cgi “Black Box” Pwebrecon-orig.cgi “wrapper script”Pwebrecon.cgi Read and parse form input  QUERY_STRING (get method)  STDIN (post method)

Michael Doran, Systems Librarian Truncation adaptation samuel clem*

Michael Doran, Systems Librarian Incoming data #!/usr/bin/perl $data_stream = `./Pwebrecon-orig.cgi`; print $data_stream; exit; QUERY STRING Search_Arg=samuel+clem*&Search_Code=GKEY%5E*& PID=D3hcrVVigATy0bZXCTmXMK61orl& SEQ= &CNT=50&HIST=1

Michael Doran, Systems Librarian #!/usr/bin/perl ReadParse(); $data_stream = GetOrigDataStream(); sub GetOrigDataStream { $data_stream = `./Pwebrecon-orig.cgi`; return $data_stream; } print $data_stream; exit; Incoming data

Michael Doran, Systems Librarian #!/usr/bin/perl ReadParse(); $data_stream = GetOrigDataStream(); sub GetOrigDataStream { $search_arg = $formdata{'Search_Arg'}; $search_arg =~ s/\*/?/g; if ($ENV{'QUERY_STRING'}) { $ENV{'QUERY_STRING'} =~ s/Arg=.*?&Search/Arg=$search_arg&Search/; } $data_stream = `./Pwebrecon-orig.cgi`; return $data_stream; } print $data_stream; exit; Example – truncation adaptation

Michael Doran, Systems Librarian Example – truncation adaptation

Michael Doran, Systems Librarian Other input data munging fix Voyager 6.x GKEY/TKEY/SKEY keyword “multiple spaces" no hits bug (Support Web incident #131344) $search_arg =~ s/ / /g; deal with “right single quotation mark” vs. “apostrophe” in search input issue allow for ISBNs with dashes* * (combined output/input) data munging

Michael Doran, Systems Librarian Is a wrapper right for you? requires some programming expertise requires lots (and lots) of testing  test platform ideally a Voyager test server separate WebVoyáge instance (a la preview server)  law of unintended consequences extra layer makes WebVoyáge more brittle  more dependencies, e.g. with opac.ini upgrades more complicated

Michael Doran, Systems Librarian Getting started wrappers are programming-language- neutral, however… Perl is good  designed for text processing  robust regular expressions  is already on your system  example wrappers available it’s fine to think big… … but start small

Michael Doran, Systems Librarian Resources Michael Doran, University of Texas at Arlington Presentation: “WebVoyáge with a Wrapper” Source code : Ere Maijala, National Library of Finland European EndUser 2006 presentation*: “Enhancement scripts for WebVoyáge OPAC” (no longer on the web – Contact Ere Maijala) Source code: econ2.html econ2.html

Michael Doran, Systems Librarian A small start copy original Pwebrecon.cgi cp –p Pwebrecon.cgi Pwebrecon-orig.cgi create Pwebrecon.cgi wrapper template add desired feature test #!/usr/bin/perl $data_stream = `./Pwebrecon-orig.cgi`; print $data_stream; exit;

Michael Doran, Systems Librarian Will wrappers work with Tomcat? Is it possible to apply a wrapper to the Voyager 7 Tomcat WebVoyáge? Is it desirable to apply a wrapper to the Voyager 7 Tomcat WebVoyáge?  V7 Tomcat XML files  V7 Cascading Style Sheets opacsvr Pwebrecon.cgi Oracle httpd webrecon.exe keysvr webvoyage.cgi “Black Box” Pwebrecon.cgi “wrapper script”wrapper

Michael Doran, Systems Librarian wrapper Will wrappers work with Tomcat? Is it possible to apply a wrapper to the Voyager 7 Tomcat WebVoyáge?  No “Pwebrecon.cgi” under Tomcat WebVoyáge (in fact no CGI period)  No one single controlling executable to wrap opacsvr Pwebrecon.cgi Oracle httpd webrecon.exe keysvr webvoyage.cgi “Black Box”

Michael Doran, Systems Librarian Will wrappers work with Tomcat? Is it possible to apply a wrapper to the Voyager 7 Tomcat WebVoyáge?  No “Pwebrecon.cgi” under Tomcat WebVoyáge (in fact no CGI period)  No one single controlling executable to wrap opacsvr Oracle httpd webrecon.exe keysvr webvoyage.cgi “Black Box” /vwebv/searchBasic /vwebv/searchAdvanced /vwebv/searchSubject /vwebv/searchAuthor /vwebv/search /vwebv/holdingsInfo /vwebv/etc.

Michael Doran, Systems Librarian Q & A