Wenger sf xin-barton

43
SFX in Barton The project that wouldn't end Beth Brennan, Metadata Systems Librarian Rich Wenger, E-resource Systems Manager

description

 

Transcript of Wenger sf xin-barton

SFX in Barton The project that wouldn't end

Beth Brennan, Metadata Systems Librarian

Rich Wenger, E-resource Systems Manager

Why put SFX buttons in the catalog?

Accessing e-resources via Barton has always been a problem, especially from off campus

Needed a consistent way to send users through the proxy server

Wanted to stop maintaining URLs in Aleph records

Recent explosion of e-book records in the catalog

SFX in Barton | ENUG 2011 Page 2

A collaborative effort Other members of the project team: Systems

Goddess (Christine Moulen),catalogers (Ben Abrahamse, Jennifer Edwards), serials acquisitions (Kim Maxwell), and usability experts (Darcy Duke, Melissa Feiden) Everyone worked on different pieces of the puzzle;

none of us could do this presentation alone Working meetings, where we threw out ideas, made

quick server-side changes, and saw immediate results (to embrace or discard) SFX in Barton | ENUG 2011

Page 3

Why this project took so long

SFX buttons could be integrated into Aleph since version 14. And others have done so. However...

We wanted to put SFX buttons where we wanted them, and when we wanted them

Only show the button if it is very likely to take the user to an e-resource

SFX in Barton | ENUG 2011 Page 4

Why this project took so long

Earlier attempts failed to get the information we needed onto the OPAC pages we needed it to appear on

Poor collaboration between Ex Libris' Aleph and SFX support teams

Other projects took priority while we struggled for solutions

SFX in Barton | ENUG 2011 Page 5

Obstacles Aleph provides a conditional SFX button on the Full

record display only, but patrons often don't look past the Brief results

Aleph puts the button at the top of the page, and we preferred other placement

Conditionality options were not sufficient

Aleph provides an unconditional SFX button on the Brief results, in table view only. Our default is list view

SFX in Barton | ENUG 2011 Page 6

Solution: Aleph fix scripts Finally created a simple fix script that put the system

number into the OPAC record displays

From there, things started to fall into place, and the fix script blossomed into a display tag that helps to determine:

o Conditionality and quantity of SFX buttons, display of URL and HOL public notes, and even whether to display HOL at all

o C:\Users\rwenger\Documents\Aleph\OPAC\Hi-level_animated.pptx

SFX in Barton | ENUG 2011 Page 7

Aleph fix scripts The fix builds this: SFX91 L $$s0-0-0-2-9-3-5-9-2 $$lMIT01$$901$$zbutton~~~$$pAvail$$av.122:no.1

(2000:Feb.)- Which tells the Java Script:

o Aleph system number 000293592 (for SFX Z39.50 lookup) is an MIT01 record (as opposed to MIT30 course record)

o It should display 1 SFX button, with the caption: v.122:no.1 (2000:Feb.)-

o Availability lines should be shown (print HOL)

SFX in Barton | ENUG 2011 Page 8

SFX tag Created from SYS so EVERY record has one

Determines if the record gets a button and how many

Determines if there are print holdings to display as well

Shows summary holdings statement next to button, if Barton has only one, or shows generic message and lets the SFX menu show more complicated details

SFX in Barton | ENUG 2011 Page 9

Subfields: part 1 $$a: Summary holdings statement

$$i: Summary holdings public note

$$l: MIT01 or MIT30 (doc library identifier)

$$p: Avail (only possible value - means there ARE non-internet holdings)

$$q: NoAva (only possible value - means there are NO non-internet holdings)

$$s: SYS padded with hyphens

SFX in Barton | ENUG 2011 Page 10

Subfields: part 2

$$z: Place holder saying if you need a button, and how to count it for stats

$$8: 00 (only possible value - meaning this record has NO URLs)

$$9: Counter, tells you how many URLs are in the record

SFX in Barton | ENUG 2011 Page 11

Temporary subfields

There are two subfields that are temporarily used during the script, but are gone before the final rendering of the page:

o $$a (used and deleted before the summary holdings are made) holds the marker identifying a Books24x7 or MARCit record

o $$u holds the URL itself (http://.....)

SFX in Barton | ENUG 2011 Page 12

URL counting We needed to know how many URLs are in the

record, and which to turn into buttons

We use two tags to figure this out...

o One ends up feeding the final count and other details to the SFX tag which generates the button (URL tag)

o The other is used to hold data to enable multiple buttons to display (U564 tag)

SFX in Barton | ENUG 2011 Page 13

URL tag We prevent the fix from counting certain kinds of

URLs

o Local 'get' URLs (unless it's the only one)

o Table of Contents

Use col.7 of fix table to add counter

Only the LAST copy of this tag is kept

This tag feeds data to the SFX tag and helps create summary holdings or generic message

SFX in Barton | ENUG 2011 Page 14

Adding summary holdings Split NET from other summary holdings statements

(SMHL tag)

Convoluted way to mark if there's more than one NET summary holding o Mark NOT-FIRST with $$7mlt o Combine $$7 into URL tag o Re-combine $$7 and $$9 of URL tag into SMHL

tag Delete SMHL if $$9 ≠ 0; or if $$7mlt is present

SFX in Barton | ENUG 2011 Page 15

U564 tag

Holds URL data when multiple buttons are displayed

This is where 856 $z and $3 notes are really displayed from

Counter ($$9) says which button the data goes with

All U564 tags are kept, EXCEPT for serials which only ever get one button

SFX in Barton | ENUG 2011 Page 16

Data clean up

Consistency of public notes in URL and HOL tags

o Remove references to on campus vs. off campus access, as the proxy server handles this now

Fix incorrect or obsolete indicators on URL tags

Fix subfielding in URL tags

Clean up URLs that contain proxy string

SFX in Barton | ENUG 2011 Page 17

Client-side Components

Aleph OPAC

SFX

EZproxy

SFX in Barton | ENUG 2011 Page 18

Aleph OPAC

Construct conditional buttons on Brief lists and Full pages, short-b-body-mit01 and full-999-body-mit01 according to information passed to the page(s) from sfx_brief.fix and sfx_full.fix

o Use Aleph-supplied SFX button when possible

o Remove disabled Aleph-supplied button in all cases where it exists

SFX in Barton | ENUG 2011 Page 19

JavaScript JavaScript interprets data string from fix routines

SFX in Barton | ENUG 2011 Page 20

JavaScript (1/3)

0-0-0-2-9-3-5-9-2MIT0101button~~~Avail | v.122:no.1 (2000:Feb.)-

000293592 System number MIT01 Doclib 01 URL count button~~~ 'button~~~', or 'Books24x7', or 'MARCit~~~' Avail 'Avail' or 'NoAva' v.122:no.1 (2000:Feb.)- text string to append after the button

SFX in Barton | ENUG 2011 Page 21

JavaScript (2/3)

o Uses DOM methods throughout • document.getElementsByTagName • document.getElementById • document.createElement • document.createTextNode • parentNode.removeChild • encodeURIComponent • firstChild.nodeValue • setAttribute • appendChild

SFX in Barton | ENUG 2011 Page 22

JavaScript (3/3)

o Function library loaded by header files: • direct-head-mit01 • full-set-head-ill • full-set-head-ill-nobor • short-1-head-mit01 • short-2-head-mit01 • short-4-head-mit01

SFX in Barton | ENUG 2011 Page 23

URL construction (1/5)

Construct 4 different types of URLs depending on the data passed from the fix routines

SFX in Barton | ENUG 2011 Page 24

URL construction (2/5) 1. Books24x7

http://owens.mit.edu/sfx_local? bookid=14841 &rft.genre=book &sid=Barton:Books24x7

2. MARCit http://owens.mit.edu/sfx_local? &rft.object_id=1000000000216454 &rfr_id=info:sid/sfxit.com:MARCit file://C:\Users\rwenger\Documents\Aleph\OPAC\url1.pptx

SFX in Barton | ENUG 2011 Page 25

SFX (1/2)

Using OpenURL version 1.0

Activate 856_url target with proxy flag checked

Enable z39.50 fetch of MARC record from Aleph

o We set up a separate logical base for this, specified in config/source/OpenURL_0_1/aleph.config_ and config/z3950_lookup.config

SFX in Barton | ENUG 2011 Page 29

SFX (2/2)

Display logic rule

o Only display 856_url target if there are no other full text targets eligible

SFX in Barton | ENUG 2011 Page 30

Ezproxy

Include Barton URLs in config.txt

Set up proxy_URL API for catalogers

o Requires "ProxyURLPassword xxxxxxxx" directive in config.txt

o https://walter.mit.edu/shib/proxylookup.cgi

SFX in Barton | ENUG 2011 Page 31

Obstacles (1/8)

Semicolons and ampersands in URLs croak SFX http://library.mit.edu/item/001733820

o Regular encoding doesn't work because JavaScript window.location and window.open automatically decode them

SFX in Barton | ENUG 2011 Page 32

Obstacles (2/8)

o Required double encoding. Semicolon becomes '%253b'. JS will convert '%25' to '&'. SFX will convert '&3b' to semicolon on the redirect URL

o Doesn't work on Books24x7 & MARCit URLs. Only applied to "856_url=" parameters

SFX in Barton | ENUG 2011 Page 33

Obstacles (3/8) SFX source parser errors

o ALEPH.pm chokes on some author names. Early failures were bypassed by switching to ver. 1.0 OpenURLs. Currently this is also failing in a few cases

o Temporarily circumvented it by modifying the parser

o SI 16384-249922 is open and in development

SFX in Barton | ENUG 2011 Page 34

Obstacles (4/8)

Some browsers require structures be closed before invoking JavaScript on them. Good practice.

o Wrong: <td> <script> </script> </td>

o Right: <td> </td> <script> </script>

SFX in Barton | ENUG 2011 Page 35

Obstacles (5/8)

ALEPH.pm does not retrieve URLs in 956 fields

o Constructed a server-side fix routine for z39.50 that moves URLs in local 956 fields into 856 fields. sfx_z39.fix

o Logical base created to invoke this fix and handle record length problem (new z39_server_MIT01SFX.conf)

SFX in Barton | ENUG 2011 Page 36

Obstacles (6/8)

We were seeing duplicate 856_url targets on the SFX menu

o Needed to turn on the 'deduplication' option on the Related Objects Admin page

SFX in Barton | ENUG 2011 Page 37

Obstacles (7/8)

Aleph was constructing mangled OpenURLs

o Fixed in sfx-record-ver-1.0

SFX in Barton | ENUG 2011 Page 38

Obstacles (8/8)

SFX record fetch for MIT30 records failed because of different doc numbers

o /exlibris/sfx_ver/sfx_version_3/sfxlcl3/config/source/source_v1_0.dir modified. Changed "ALEPH.*" to "ALEPH.MIT01". This allows MIT30 URLs with ISBNs and ISSNs to resolve successfully until we decide how to handle MIT30 doc numbers

SFX in Barton | ENUG 2011 Page 39

Demos SFX button supplied by Aleph

o http://walter.mit.edu/item/000336947

856_url

o http://walter.mit.edu/item/001706051

Multiple URLs

o http://walter.mit.edu/item/000922127

SFX in Barton | ENUG 2011 Page 40

Round 2 adjustments Overrides:

o SE were forced to have 1 button, but we found times we needed the multiple button

o Sometimes SFX knew less than Barton, and was interfering by trying a title search (e.g. Annual report)

Display text coming from summary HOL *and* notes with the URL

New index on the 'button~~~' led to improved logical base for electronic resources

SFX in Barton | ENUG 2011 Page 41

Finis

Aleph, SFX, Searching, one for the other,

Together at last.

Beth Brennan, [email protected] Rich Wenger, [email protected]

SFX in Barton | ENUG 2011 Page 42

Addendum

A PDF file containing this presentation, the Aleph fix routines, and the JavaScript files is available for download.

SFX in Barton | ENUG 2011 Page 43