Hilfreiche vufind-Scripte
Im Nachklang zur Verbundkonferenz, wo ich beschrieb, dass es gar nicht so schwer ist, vufind selbst einzusetzen, wollen wir noch versuchen, mit ein paar Tipps zur Installation weiterzuhelfen.
Die Scripte können in einem gesammelten Archiv vufind-tub-scripts heruntergeladen werden.
Wie im Vortrag nachgelesen werden kann, ist es möglich, eigene Daten aus dem CBS per Z39.50 zu extrahieren und im MARC-Format zu speichern. Wir haben dafür ein Script vorbereitet, das dabei helfen kann. Es findet sich in der zip-Datei als z3950fetch.php. Im Quelltext müssen drei Parameter angepasst werden:
$user=“999″; // Ihr Z39.50-Username
$passwd=“abc“; // Ihr Z39.50-Passwort
$host=“z3950.gbv.de:20012/harb_opc“; // host port database
Wichtig: Das Script benötigt PHP mit YAZ-Unterstützung. Diese sollte sich eigentlich mit dem Kommando
# pecl install yaz
installieren lassen.
Bei uns wird dieses Script einmal täglich mit den Parametern vom Vortag ausgeführt. Dazu haben wir ein kleines Bash-Script gebastelt, das einmal täglich per Cron ausgeführt wird (CBS-cron.sh). CBS-cron muss ins gleiche Verzeichnis gelegt werden wie z3950fetch.php. Außerdem wird ein Unterverzeichnis namens archiv benötigt.
Um die BKL in den Index zu integrieren, muss der Index zunächst um drei Felder erweitert werden. Das geht in der solr/biblio/conf/schema.xml:
<field name=“bkl“ type=“string“ indexed=“true“ stored=“true“ multiValued=“true“/>
<field name=“bklnumber“ type=“string“ indexed=“true“ stored=“true“ multiValued=“true“/>
<field name=“bklname“ type=“string“ indexed=“true“ stored=“true“ multiValued=“true“/>
Diese Zeilen können direkt unter der Zeile
<field name=“recordtype“ type=“string“ indexed=“false“ stored=“true“/>
eingefügt werden.
Um die BKL-Klassen aus dem MARC-Input zu extrahieren, benutzen wir ein Mapping-Script (bcl.bsh), das genau das macht, was im Vortrag auf der Folie 11 „Implementierung: Import – Einbindung der BKL“ beschrieben ist. Das Script muss ins Verzeichnis import/index_scripts kopiert werden.
Die Einbindung dieses Mappingscripts erfolgt in der import/marc_local.properties mit folgenden drei Zeilen:
bkl = script(bcl.bsh), getBkl
bklnumber = script(bcl.bsh), getBklNumber
bklname = script(bcl.bsh), getBklName
Das ist auch erstmal alles; demnächst mehr Scripte und Anpassungen.