Tech Blog

bibliotek.dk as target for SFX with plugin support (using SRU)

  • Description
bibliotek.dk is a free service where you can see what has been published in Denmark and the holdings of Danish libraries.
This small code contribution implements bibliotek.dk as a target with the use of a plugin so the target only displays if holdings for the given ISSN or ISBN number exists.
The plugin uses the SRU web service of bibliotek.dk and can be used as a template for similar services.
  • Author: Kasper Løvschall
  • Institution: Aalborg Universitetsbibliotek
  • Year: 2011
  • License: BSD style
  • Short description: Use, modification and distribution of the code are permitted provided the copyright notice, list of conditions and disclaimer appear in all related material.
  • Skill required for using this code: Intermediate

State

‘In Development’ but running in production at our library. So you can call it: beta!

Programming language

The target parser and plugin is written in Perl.

Software requirements

Tested using SFX v4 but should also work in SFX v3.

Screen captures

No electronic holdings available via SFX but the item was located in bibliotek.dk:

Author(s) homepage

http://www.aub.aau.dk

Download

Target Parser version 1.0

PlugIn version 1.0

Working example

Learning XML ISBN 0-596-00046-4 with holdings in bibliotek.dk

Changes

  • Version 1.0 / First release to the public.

Release notes

Notice: This CodeShare page is a work in progress. Help us to improve the code and documentation by giving us feedback. Thanks!

Installation instructions

On the SFX server

  1. Login as sfxlcl41 (or your preferred instance).
  2. Type “tp” to enter the target parser directory.
  3. Create a new directory called “AUB” and download the target parser with:
mkdir AUB
cd AUB
wget "http://www.exlibrisgroup.org/download/attachments/32932362/bibliotekdk.pm"

4. Or put the file bibliotekdk.pm in here manually
5. Go back two directories and enter the PlugIn directory and download the lookup tool:

cd ../../PlugIn
wget "http://www.exlibrisgroup.org/download/attachments/32932362/bibliotekdkLookup.pm"

6. Or put the file bibliotekdkLookup.pm in here manually.

From the SFX admin page

        1. Open Targets and select the button “Add New Target”.
 

 
        2. Select the name for the target: AUB_BIBLIOTEKDK
        3. Select the Public Name e.g.: bibliotek.dk
        4. Select the service: getHolding
        5. Feel free to enter the general description: bibliotek.dk is a free service where you can see what has been published in Denmark and the holdings of Danish libraries.
        6. Select the character set utf8
        7. Click submit
Now we need to add the getHolding to the newly created AUB_BIBLIOTEKDK_LCL target.
        1. Select (S) for services for the target AUB_BIBLIOTEKDK_LCL
 

 
        2. Edit(E) the automatically created getHolding target service (else create it)
        3. Disable Object Lookup and mark the target as free
        4. Select Parser: AUB::bibliotekdk
        5. Set AutoActive as No
        6. Add the following (global) Threshold: (($obj->need(‘rft.issn’) || $obj->need(‘rft.eissn’) || $obj->need(‘rft.isbn’)) && $obj->plugIn(‘bibliotekdkLookup’))
        7. Click submit

TO DO List

  • The plugin and target parser only supports ISSN, eISSN, ISBN and year and could be expanded by other context objects.
  • A target displayer could be written in order to display the actual holdings in bibliotek.dk within the SFX menu

Known issues

The plugin has a timeout of 5 seconds and bibliotek.dk’s web service can be slower than this in it’s response.

Page attachments

bibliotekdk.pm

bibliotekdkLookup.pm

Leave a Reply