E N D
1. WebVoyáge with a Wrapper Michael Doran, Systems Librarian
doran@uta.edu
2. Michael Doran, Systems Librarian Once upon a time…
3. 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
4. Michael Doran, Systems Librarian Simple searches
5. Michael Doran, Systems Librarian WebVoyáge simple search
6. Michael Doran, Systems Librarian WebVoyáge simple search?
7. Michael Doran, Systems Librarian It was soooo simple…
8. Michael Doran, Systems Librarian WebVoyáge simple search (after)
9. Michael Doran, Systems Librarian Code
10. Michael Doran, Systems Librarian WebVoyáge server-side back end
11. Michael Doran, Systems Librarian WebVoyáge is a “black box” “A black box is any device, sometimes highly important, whose workings are not understood by or accessible to its user.”“A black box is any device, sometimes highly important, whose workings are not understood by or accessible to its user.”
12. Michael Doran, Systems Librarian They call it a wrapper
13. Michael Doran, Systems Librarian They call it a wrapper
14. Michael Doran, Systems Librarian Basic wrapper script
15. 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
16. Michael Doran, Systems Librarian Example – adding text Voyager’s “header.htm” file
is inserted after the <body> tag
okay for display tags, but not for others
Wrapper script can insert elements within the <head> tag
metadata
JavaScript
CSS
17. Michael Doran, Systems Librarian Example – adding text
18. Michael Doran, Systems Librarian Example – removing text
19. Michael Doran, Systems Librarian Example – rearranging text
20. Michael Doran, Systems Librarian Show and go keyword anywhere search
words within quotes are treated as a phrase
other words are automatically Boolean ANDed*
relevancy ranked results*
21. Michael Doran, Systems Librarian No 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
22. Michael Doran, Systems Librarian Wrapper script redux Read and parse form input
QUERY_STRING (get method)
STDIN (post method)
23. Michael Doran, Systems Librarian Truncation adaptation
24. Michael Doran, Systems Librarian Incoming data
25. Michael Doran, Systems Librarian Incoming data
26. Michael Doran, Systems Librarian Example – truncation adaptation
27. Michael Doran, Systems Librarian Example – truncation adaptation
28. 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
29. 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
30. Michael Doran, Systems Librarian Getting started wrappers are 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
31. Michael Doran, Systems Librarian Resources Michael Doran, University of Texas at Arlington
Presentation: “WebVoyáge with a Wrapper” Source code: http://rocky.uta.edu/doran/wrapper/
Ere Maijala, National Library of Finland
EEndUser 2006 presentation*:
“Enhancement scripts for WebVoyáge OPAC”
* password required – see European EndUser on SupportWeb
Source code: http://www.lib.helsinki.fi/english/libraries/linnea/resources/pwebrecon2.htm
32. 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
33. Michael Doran, Systems Librarian Q & A