8. Inbedden van databanken in Impala via OpenURL
Auteur |
|
Aanmaak |
28 sep 2004 11:38 |
Aangepast door |
|
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 ‘:’
Brocade sessienummer (
UDses
: numeriek)Brocade randomnummer (numeriek)
Impala werkomgeving (numeriek.alfanumeriek vb. 275.lza)
Compressie factor (lege string of een getal)
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
. OpM
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 |
|
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 |
|
veld is niet verplicht |
Context Object |
ctx_id |
identifier |
veld is niet verplicht |
Context Object |
ctx_tim |
|
veld is niet verplicht |
OpenURL |
url_ver |
Z39.88-2004 |
veld is niet verplicht |
OpenURL |
url_tim |
|
veld is niet verplicht |
OpenURL |
url_ctx_fmt |
|
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
ofre
ofdr
ofow
.Tweede deel:
journal
ofarticle
ofmonograph
ofobject
.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 macrom4_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
wordtrft.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 inrft.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. Voormonograph
enobject
wordt enkel gewerkt met de extractie uit de relatie(s)-sorteercode. Een eventueel resultaat wordt als tweede deel toegevoegd aanrft.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}