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: https://anet.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

https://anet.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:

https://anet.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 =

https://anet.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 =

https://anet.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}