Nathan,
It's totally do-able. We have a similar system in place for our
subject portal (http://trilogy.brynmawr.edu/guides ). We're using the YAZ
toolkit with PHP (as opposed to rails). But in the admin module, library
staff search and WSYWIG edit the catalog for records to import, and they're
updated daily). One thing you may need to do, however, is to have III
modify your z39.50 profile to include the bibid (935) it'll make a big
difference.
- adam
_____________________________________
Tri-Colleges Systems Coordinator
Bryn Mawr | Haverford | Swarthmore
610.526.5294
-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of
Walker, David
Sent: Wednesday, May 02, 2007 11:32 AM
To: [log in to unmask]
Subject: Re: [CODE4LIB] Z39.50 for III Database?
Here is the class code for my screen scraper. Rather simple, but can be
useful in certain cases.
http://xerxes.calstate.edu/source/iii/InnopacWeb.zip
--Dave
-------------------
David Walker
Library Web Services Manager
California State University
http://xerxes.calstate.edu
________________________________
From: Code for Libraries on behalf of Godmar Back
Sent: Tue 5/1/2007 3:32 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] Z39.50 for III Database?
If I may follow up on an earlier discussion [ relevant parts are
included below ] regarding how to extract holdings information from
III or other catalogs.
I have one thing to offer and 1 thing to request. I'll start with the
offering: MAJAX. MAJAX is a JavaScript library that screenscrapes III
catalogs and can include the results so obtained into any document
served from the same domain. URL of the current code is
http://libx.org/majax/majax.html ; a demo is at
http://libx.org/majax/majaxtest4.html )
After an initial, somewhat clumsy approach, we've now adopted an
approach that's similar to COinS. For instance, to include holdings
information for a book into a website, all you have to do is include a
<span class="majax-showholdings" title="iXXXXXXXXX"></span> in your
HTML, and include MAJAX via a single <script> element, which will
result in that SPAN being replaced with the holdings of the book with
ISBN XXXXXXX. Also support bibrecord number and title.
It's so easy a cave librarian could do it. It can be done directly
from the WebBridge management panel for those of you have are damned
to use WebBridge. Of course, the underlying JavaScript API is still
available for more advanced users. MAJAX has been released under the
LGPL.
Now for the thing to request. Are there any reusable, open source
scripts out there that implements a REST interface that screenscrapes
or otherwise efficiently accesses a III catalog? David and James have
provided links, but no code. I would be grateful for anything I could
reuse and don't have to reimplement.
Here's what I envision:
Interface: REST
Input: search terms/type - maybe OpenURL v0.1-syntax, or another
adopted standard, or something custom, but ideally simple.
Output: XML - maybe Marc XML with 852 (or whatever the number is)
holdings records - similar to what David's screen scrape test
provides. Ideally XML that comes with a schema and validates against
it. Maybe JSON like James's scripts (?)
Implementation: Something that a cave librarian could deploy - good
candidates are PhP and possibly Perl-based cgi, but one could conceive
of others. Nothing that requires elaborate server setups or installing
custom frameworks.
Thank you for any pointers/suggestions you may have.
- Godmar
On 3/4/07, Birkin James Diana <[log in to unmask]> wrote:
> On Mar 1, 2007, at 5:23 PM, Walker, David wrote:
>
> > http://walkertr.csusm.edu/scrape/test.htm
>
> Very cool; works on our III catalog!
>
> Nathan Mealy -- I also used the screenscrape method to get info we
> needed for a couple of ISBN-based projects, not knowing at the time
> about the yaz-z39.50-OPAC option.
>
> By implementing this in the form of a web-service, I can switch the
> work-horse code without affecting other apps, and minimize session
> concerns.
>
> <http://dl.lib.brown.edu/soa_services/josiah_status/examples.php>
> <http://dl.lib.brown.edu/soa_services/josiah_status/tests/
> InfoHolderTest.php>
>
> (The returned json info is more comprehensible via view-source.)
>
> ---
> Birkin James Diana
> Programmer, Web Services
> Brown University Library
> [log in to unmask]
>
|