8. Inbedden van databanken in Impala via OpenURL

Auteur Richard Philips
Aanmaak 28 sep 2004 11:38
Aangepast door Tom De Mey
Aangepast op 19 dec 2014 11:27
Oud BVV nr 2092

8.1. Abstract

Dit document beschrijft hoe bibliografische databanken kunnen worden ingebed in Impala.

8.2. Inleiding

De eerste versie van Impala was gebouwd rond de Antilope databank (aangevuld met Zebra en Bronco). Het was mogelijk, per aanvrager, aan te stippen of deze wenste gebruik te maken van externe databanken en catalogi (zoals ERL, VLACC, WINOB). Deze databanken waren pre-gedefinieerd.

Impala 2.0 neemt een radicaal ander uitgangspunt: er zijn geen gepredefinieerde databanken meer. Elke aanvrager kan zelf opgeven welke databanken hij prefereert. De interface van deze databanken moeten wel aan een aantal structuureisen voldoen:

  • Activeerbaar zijn via een URL. De meta informatie van Impala voorziet in extra velden die nog kunnen meegegeven worden (vb. Instellingsnaam, userid, paswoord).
  • Authenticatie code kunnen aanvaarden vanuit Impala.
  • Een (Resolver) URL kunnen aanvaarden die een eventuele request verwerkt.
  • Bij aanvraag tot verwerking van een request, gegevens gestructureerd volgens OpenURL, naar deze Resolver kunnen sturen.

8.3. Impala authenticatie code

De Impala authenticatie code is een ASCII string die bestaat uit diverse velden die van elkaar zijn gescheiden door een ‘:’

  1. Brocade sessienummer (UDses: numeriek)
  2. Brocade randomnummer (numeriek)
  3. Impala werkomgeving (numeriek.alfanumeriek vb. 275.lza)
  4. Compressie factor (lege string of een getal)
  5. Impala acroniem voor de databank

8.4. Impala Resolver

De Impala Resolver (terminologie volgens OpenURL) is de server die de Impala dienstverlening ter beschikking stelt voor Impala gebruikers (bibliotheken die werken met Impala). De URL voor deze Resolver is: http://anet.ua.ac.be/openurl/impala

Meestal zal de Impala Resolver URL meegegeven worden aan de externe applicatie. Het kan ook zijn dat de aanvrager een andere Resolver URL meegeeft. Het is dan de taak van deze Resolver om de - eventueel getransformeerde data - door te sturen naar de Impala Resolver. De Impala Resolver volgt het “San Antonio Community Profiles, Level 1” profiel: hij aanvaardt zowel POST en GET HTTP(S) transporten van Key/Encoded-Value paren.

De code voor de Impala Resolver is gebaseerd op een combinatie van PHP en M en is terug te vinden in /requests/openurl.

8.5. Impala Resolver debug faciliteiten

De Impala Resolver debug faciliteiten werken met het Key/Encoded-Value paar: url_dat en de waarde. De mogelijke waarden zijn:

  • debug1: de Impala resolver kaatst de bestaande Key/Encoded-Value paren gewoon terug.
  • debug2: de Impala resolver probeert de authenticatie uit te voeren en indien succesvol, worden de bestaande Key/Encoded-Value paren gewoon teruggekaatst. Tevens wordt in /tools/temp/$UDses.ourl het input bestand aangemaakt dat wordt gevoed aan %Entry^uwww. Op M niveau worden de gegevens opgeslagen in ^ZOURL(UDses).

8.6. Associëren van databanken aan Impala werkomgevingen

Te raadplegen databanken worden geassocieerd met Impala werkomgevingen. Daartoe dienen 2 delen meta-informatie te worden aangepast:

  • Definitie van de databank
  • Specificatie van de databanken bij de werkomgeving

Definitie van de databank

Dit houdt de specificatie in van de volgende attributen:

Een identifier
(enkel lowercase en cijfers toegelaten)

De verwoordingen van deze databank in diverse talen

Een URL frame

Met behulp van deze string wordt de URL naar de toepassing geconstrueerd. Deze string wordt - vooraleer de URL wordt geopend - verwerkt door de javascript functie encodeURI. Het frame bevat een aantal velden die afhankelijk zijn van de Impala omgeving en op het moment van open van de URL worden ingevuld. Deze velden zijn:

Velden Value
impalaid bevat de authenticatiegegevens die de Impala Resolver nodig heeft om de request te honoreren
resolver de url van de Resolver
lg de taalcode N | E | F | D waarin de OPAC moet werken
part1 afhankelijk van de werkomgeving
part2 afhankelijk van de werkomgeving
afhankelijk van de werkomgeving
Een M-expressie
die de mogelijkheid biedt om de gegeven catalografische instellingen en plaatskenmerken nog te transformeren voordat ze worden verwerkt.

De impalaid wordt samengesteld door het Impala systeem (zie hoger). Resolver en de parts worden gehaald bij de werkomgeving.

Specificatie van de databanken bij de werkomgeving

Bij de meta-informatie van de Impala werkomgeving kunnen strings worden gespecificeerd die de passende databanken specificeren. Deze strings bevatten door ‘:’ gescheiden velden:

  • het eerste veld is de identifier van de databank
  • het tweede veld is de OpenURL Resolver, indien dit veld leeg is, dan staat hiervoor de Impala Resolver
  • de overige velden zijn dan de diverse ‘parts’.

De volgorde waarin deze velden werden ingevuld, is de volgorde waarin de databanken worden aangeboden in het Impala menu.

8.7. OpenURL

Impala volgt de OpenURL Standaard (ANSI/NISO Z39.88-200X)(zie: The OpenURL Framework for Context-Sensitive Services).

Belangrijk voor implementatie is: KEV Implementation Guidelines.

8.8. Impala ContextObject

In Impala zijn er 3 types aanvraag mogelijk:

  • article
  • monograph
  • object
OpenURL entity Key Value Opmerkingen
Referent rft_val_fmt   Veld is niet verplicht
Referent rft_id record in de databank identifier Veld is niet verplicht, maar is wel een aanrader. Structuur is vrij. In Brocade is dit moto:c-loi
Referent rft.genre article ! monograph ! object Veld is verplicht. De afkortingen ‘A’, ‘M’, ‘O’ zijn eveneens toegelaten.
Referent rft.aulast Familienaam van de eerste auteur (article, monograph of object) Verdubbel de informatie niet in de andere rft.au* velden: vb. vermeld de initialen niet me ze al werden opgenomen in rft.aulast of rft.aufirst
Referent rft.aufirst Voornaam van de eerste auteur (article, monograph, object) Veld is verplicht. De afkortingen ‘A’, ‘M’, ‘O’ zijn eveneens toegelaten.
Referent rft.auinit Initialen voornaam en tweede naam van de eerste auteur (article, monograph of object)  
Referent rft.auinit1 Initialen voornaam eerste auteur (article, monograph of object)  
Referent rft.auinitm Initialen tweede naam van de eerste auteur (article, monograph of object)  
Referent rft.aufirst Voornaam van de eerste auteur (article, monograph, object)  
Referent rft.issn ISSN van het tijdschrift  
Referent rft.isbn ISBN van monograph/object  
Referent rft.coden CODEN van het tijdschrift  
Referent rft.eissn Elektronisch ISSN van het tijdschrift  
Referent rft.sici SICI nummer van een artikel, volume, nummer  
Referent rft.bici BICI nummer van een deel van een boek  
Referent rft.title Titel van het verzamelwerk Voor een monografie of object, kunnen er 2 extra velden worden opgenomen: titel^reekstitel^volume
Referent rft.stitle Afgekorte titel van het verzamelwerk  
Referent rft.atitle Titel van het individuele item  
Referent rft.volume Volume aanduiding  
Referent rft.part Deel aanduiding  
Referent rft.issue Nummer  
Referent rft.spage Beginpagina  
Referent rft.epage Eindpagina  
Referent rft.pages spage-epage  
Referent rft.artnum Nummer van het artikel  
Referent rft.date Publicatie datum (YYYY[[-MM[-DD]]) Publicatiedatum van de beschrijving. In Impala is ook extra uitgever informatie toegelaten. vb: jaar^uitgever
Referent rft.ssn winter ! spring ! summer ! fall (seizoen)  
Referent rft.quarter 1 ! 2 ! 3 ! 4 (kwartaal)  
Referent rft_dat carrier^subject^(un)sorted^catalografischeinstelling_ plaatskenmerk^...  
ReferingEntity rfe_id URL van de pagina waarop deze record wordt gevonden optioneel maar nuttig
Requester req_dat Impala authenticatiecode (meegegeven bij het opstarten van de applicatie) verplicht veld !
Service type svc_val_fmt info:ofi/fmt:kev:mtx:sch_svc veld is niet verplicht
Service type svc.ill yes veld is niet verplicht
Resolver res_id Resolver identification (impala) veld is niet verplicht
Resolver res_dat Resolving URL veld is niet verplicht
Context Object ctx_ver Z39.88-2004 veld is niet verplicht
Context Object ctx_enc info:ofi/enc:ISO-8859-1 veld is niet verplicht
Context Object ctx_id identifier veld is niet verplicht
Context Object ctx_tim YYYY-MM-DDThh:mm:ss - YYYY-MM-DD veld is niet verplicht
OpenURL url_ver Z39.88-2004 veld is niet verplicht
OpenURL url_tim YYYY-MM-DDThh:mm:ss - YYYY-MM-DD veld is niet verplicht
OpenURL url_ctx_fmt info:ofi/fmt:kev:mtx:ctx veld is niet verplicht

8.9. Representatie van bibliografische informatie in Impala

Impala gebruikt intern 2 Dublin Core records om de gegevens te representeren: een record voor het gevraagde werk en een record voor het verzamelwerk. De veldnamen zijn:

Veld Verzamelwerk Deelwerk
creator rft.aulast + rft.aufirst + rft.auinit1 + rft.auinitm (!= article) rft.aulast + rft.aufirst + rft.auinit1 + rft.auinitm (=article)
title rft.title (eerste deel) + rft.stitle rft.atitle bij article
subject tweede deelveld van rft_dat  
description    
publisher tweede deelveld van rft.date  
contributor    
date eerste deelveld van rft.date  
type rft.genre  
format    
identifier rft.isbn + rft.issn + rft.bici + rft.coden + rft.sici  
source rft_id  
language    
relation rft.title (tweede deel + derde deel) rft.issue + rft.volume + rft.date + rft.artnum + rft.pages + rft.spage + rft.epage
coverage eerste deelveld van rft_dat (print | cd | cdrom | dvd | video)  
rights    

8.10. Brocade Databanken

Meta-informatie

Ter hoogte van het regelwerk kunnen volgende gegevens ingevuld worden:

  • Path naar verzamelwerk via relaties: een opsomming van relatietypes die, in volgorde, kunnen gevolgd worden om een ‘omvattende’ beschrijving te vinden.

  • Beslissingsregels ibl genre: een reeks van omschrijvingen waaruit kan opgemaakt worden welk genre moet toegekend worden. Zo’n beslissingsregel bestaat uit 3 delen, gescheiden door ‘:’

    • Eerste deel: lm of re of dr of ow.
    • Tweede deel: journal of article of monograph of object.
    • Derde deel: te checken waarde. Plaats een ‘*’ in het derde deel om het default genre aan te duiden, bvb. lm:article:*

    journal wordt voor beslissingsregels binnen de macro m4_getIblMatrix``_ gebruikt, maar wordt ingevuld als genre ``article.

  • Verkorte titels ibl: een opsomming van titeltypes die, indien aanwezig in een beschrijving, een verkorte titel kunnen opleveren.

  • Ibl knop in OPAC: een M-expressie die deel uitmaakt van de beslissingsregel of de ibl-knop in de OPAC moet getoond worden bij een bepaalde beschrijving.

Ter hoogte van de relatietypes kan een M-expressie ingevuld worden die volume en/of part en/of issue extraheert uit de sorteercode van de relatie.

Tonen van de IBL knop in de OPAC

De beslissing voor het al of niet tonen in een OPAC van een link naar de IBL Resolver, berust op volgende regels:

  • De OPAC moet opgestart zijn met de Impala authenticatie en Resolver gegevens.
  • Het getoonde scherm moet de gegevens van een volledige beschrijving bevatten.
  • De beschrijving in kwestie moet een c-loi zijn.
  • Bij het regelwerk van die beschrijving moet een M-expressie ingevuld zijn die gevoed wordt met de loi en terugkeert met 1 (tonen) of 0 (niet tonen).

Opbouw van het Impala ContextObject

Er bestaat een macro m4_getIblMatrix die de waarden voor de keys van het Impala ContextObject oplevert voor een bepaalde beschrijving. Uitzonderingen zijn de keys res_dat, req_dat, rfe_id die door de aansprekende applicatie zelf moeten ingevuld worden.

Volgende regels worden door deze macro gevolgd:

  • Keys waarvoor geen waarde beschikbaar is, worden niet opgeleverd.
  • Het genre, d.i. key rft.genre (article, monograph, object) wordt berekend via beslissingsregels die in de meta-informatie van het regelwerk dienen ingevuld.
  • Afhankelijk van de betekenis van de key, wordt de waarde opgehaald bij de opgegeven beschrijving zelf of bij het verzamelwerk. Dit verzamelwerk wordt gevonden door het volgen van een relatiepath, dat wordt vastgelegd in de meta-informatie van het regelwerk.
    • rft.isbn, rft.issn, rft.bici, .. worden opgezocht in de beschrijving zelf. Indien niet gevonden wordt het relatiepath gevolgd.
    • Bij genre article wordt rft.atitle ingevuld met de titel van het artikel, rft.title is de titel van het verzamelwerk, gevonden via het relatiepath. Bij de andere genres wordt de titel van de beschrijving zelf in rft.title gezet, met eventueel als tweede deel een titel gevonden door het volgen van het relatiepath.
    • rft.volume, rft.part, rft.issue worden, voor artikels, gezocht in de eigen collatie. Indien daar niets gevonden wordt, wordt gekeken naar de opeenvolgende relaties in het relatiepath. In de meta-informatie van het relatietype kan een M-expressie ingevuld worden die volume, deel en nummer uit de sorteercode tracht te extraheren. Voor monograph en object wordt enkel gewerkt met de extractie uit de relatie(s)-sorteercode. Een eventueel resultaat wordt als tweede deel toegevoegd aan rft.title.
    • rft.date (jaar van uitgave) wordt opgezocht in het impressumveld. Voor niet-artikels kan dit nog aangevuld worden met uitgever en plaats van uitgave.
    • rft.dat wordt ingevuld met de plaatskenmerken van de beschrijving zelf, of van omvattende werken, gevonden via het relatiepath.

8.11. Externe bibliografische databanken

De OpenUrl naar Impala kan ook worden toegepast voor IBL-bestellingen door eindgebruikers vanuit externe databanken zoals ERL, EBSCO en CSA. Link van ERL naar IL/BL

URL frame is

http://anet.ua.ac.be/openurl/erl.phtml?req\_dat=::ua.lvd.862.cde::@DBID
&issn=$ISSN
&volume=$VOL
&date=$YEAR
&pages=$PAGS
&issue=$ISSU
&title=$JOUR
&aulast=$AUPL
&atitle=$TITL

De Brocade variabelen in attribuut req_dat=::ua.lvd.862.cde:: zijn

ua
identifier van de desktop
lvd
regelwerk. Dit wordt gebruikt om ob basis van ISSN de journal holdings op te laden
862.cde
Impala identifier. Die wordt gebruikt om de journal holdings te sorteren op basis van voorkeurinstellingen.

Wat tussen <spdata> en </spdata> staat zijn SP variabelen. De ERL server past dit frame toe op records. Voorbeeld:

http://anet.ua.ac.be/openurl/erl.phtml?req\_dat=::ua.lvd.862.cde::MEDS&issn=0028-4793&volume=5&date=2004&pages=706-12&issue=5&title=Chemphyschem-
a-European-journal-of-chemical-physics-and-physical-chemistry&aulast=Raytchev&atitle=Ultrafast%20proton-coupled%20electron-transfer%20dynamics%20
in%20pyrene-modified%20pyrimidine%20nucleosides%3a%20model%20studies%20towards%20an%20understanding%20of%20reductive%20electron%20transport%20in%20DNA.

Link van EBSCO naar ILL

Base URL =

http://anet.ua.ac.be/openurl/erl.phtml?req\_dat=::ua.lvd.862.cde::{dbName}

Query string =

&issn={ISSN1}
&volume={Volume}
&date={Date}
&pages={StrtPage}
&issue={Issue}
&title={Journal}
&aulast={Author}
&atitle={Title}

Link van CSA naar ILL

Base URL =

http://anet.ua.ac.be/openurl/csa.phtml?req\_dat=::ua.lvd.862.cde::{databaseid}

Querie string =

&issn={issn}
&volume={volume}
&date={date}
&pages={pages}
&issue={issue}
&title={title}
&aulast={aulast}
&atitle={atitle}