Nachnutzung von QR-Codes in vufind
Wie berichtet haben wir QR-Codes in TUBfind integriert. Wie funktioniert das? Wir benutzen eine OpenSource-verfügbare Implementierung eines QR-Codegenerators (QR-Klasse von Y. Swetake) in PHP im Hintergrund. Diese kann in den Vufind-Applikationsbaum auf dem Server kopiert werden – bei uns hab ich die Quellen so aufgeteilt:
qr_img.php -> ins Verzeichnis web
data -> ins Verzeichnis sys
image -> ins Verzeichnis images
Die folgende Methode muss in die RecordDrivers/IndexRecord.php eingefügt werden:
public function getQRString() {
global $configArray;
global $interface;
$dates = $this->getPublicationDates();
$qrstring = rawurlencode($this->getPrimaryAuthor().“: „.$this->getShortTitle().“ / „.$dates[0].“ – „.$configArray[‚Site‘][‚url‘].$configArray[‚Site‘][‚path‘].“/Record/“.$this->getUniqueID());
return $qrstring;
}
Die folgende Zeile wird in services/Record/Record.php eingefügt (z.B. in der Zeile hinter $interface->assign(‚openURL‘, $this->recordDriver->getOpenURL());):
$interface->assign(‚qr‘, $this->recordDriver->getQRString());
Im Theme (web/interface/themes/~theme~/RecordDrivers/Index/core.tpl) wird der folgende Quelltext benötigt:
<tr valign=“top“>
<th>{translate text=’QR-Code‘}: </th>
<td>
<span class=“showqr“>
<a href=“#“ onClick=’document.getElementById(„qrcode“).style.display = „block“; document.getElementById(„showqr“).style.display = „none“; document.getElementById(„hideqr“).style.display = „block“;‘ id=“showqr“>{translate text=“Show QR-Code“}</a>
<a href=“#“ onClick=’document.getElementById(„qrcode“).style.display = „none“; document.getElementById(„hideqr“).style.display = „none“; document.getElementById(„showqr“).style.display = „block“;‘ style=“display:none;“ id=“hideqr“>{translate text=“Hide QR-Code“}</a>
</span>
<div id=“qrcode“ style=“display:none“>
<img alt=“QR-Image of this book“ src=“{$path}/qr_img.php?d={$qr}“>
</div>
</td>
</tr>
In der lang/de.ini sollten nun noch die Übersetzungen für die neuen Strings eingetragen werden:
QR-Code = „QR-Code“
Show QR-Code = „QR-Code zeigen“
Hide QR-Code = „QR-Code verbergen“
Finito!
Achtung: Beim Kopieren der Codeausschnitte werden möglicherweise die Anführungszeichen (doppelte und einfache) durch nicht-konforme Zeichen ersetzt. Der Code muss also beim Einfügen in Vufind manuell nachkorrigiert werden! Es gibt auch eine Patchdatei für Vufind 1.0.1: QR-Code-Patch Vufind 1.0.1. Speichern Sie die Datei im Vufind-Hauptverzeichnis und führen Sie den Patch mit dem Kommando patch -p0 < vufind-1.0.1_qrcode.txt aus (ohne Gewähr!).
Using QR-Code integration also in your vufind
As we reported we have integrated QR-Codes in TUBfind. How does that work? We are using a PHP implementation of a QR-Code-generator, which is available as OpenSource (QR-Class by Y. Swetake). This can be copied to the vufind application on the webserver – on our machine I have copied the sources into these directories:
qr_img.php -> to driectory web
data -> to directory sys
image -> to directory images
The following method must be inserted into RecordDrivers/IndexRecord.php:
public function getQRString() {
global $configArray;
global $interface;
$dates = $this->getPublicationDates();
$qrstring = rawurlencode($this->getPrimaryAuthor().“: „.$this->getShortTitle().“ / „.$dates[0].“ – „.$configArray[‚Site‘][‚url‘].$configArray[‚Site‘][‚path‘].“/Record/“.$this->getUniqueID());
return $qrstring;
}
The following line has to be pasted into services/Record/Record.php (e.g. behind the line $interface->assign(‚openURL‘, $this->recordDriver->getOpenURL());):
$interface->assign(‚qr‘, $this->recordDriver->getQRString());
In your theme template (web/interface/themes/~theme~/RecordDrivers/Index/core.tpl) you need the following sourcecode:
<tr valign=“top“>
<th>{translate text=’QR-Code‘}: </th>
<td>
<span class=“showqr“>
<a href=“#“ onClick=’document.getElementById(„qrcode“).style.display = „block“; document.getElementById(„showqr“).style.display = „none“; document.getElementById(„hideqr“).style.display = „block“;‘ id=“showqr“>{translate text=“Show QR-Code“}</a>
<a href=“#“ onClick=’document.getElementById(„qrcode“).style.display = „none“; document.getElementById(„hideqr“).style.display = „none“; document.getElementById(„showqr“).style.display = „block“;‘ style=“display:none;“ id=“hideqr“>{translate text=“Hide QR-Code“}</a>
</span>
<div id=“qrcode“ style=“display:none“>
<img alt=“QR-Image of this book“ src=“{$path}/qr_img.php?d={$qr}“>
</div>
</td>
</tr>
If you are using a special language, you should put the following lines into your language file (e.g. lang/de.ini for german language):
QR-Code = „QR-Code“
Show QR-Code = „QR-Code zeigen“
Hide QR-Code = „QR-Code verbergen“
Finito!
Warning: If you copy and paste the code above, the quotation marks (double and single ones) might be exchanged with non-conform characters. the code has to be corrected manually when you paste it to the vufind sources! Or you can use a patchfile for Vufind 1.0.1: QR-Code-Patch Vufind 1.0.1. Save this file to the vufind main directory and execute the following command patch -p0 < vufind-1.0.1_qrcode.txt (without warranty!).
SFX und TUBfind
Findet man elektronische Zeitschriften in TUBfind, so ist es manchmal unübersichtlich, wo die Volltexte zugänglich sind. In diesem Zusammenhang hilft SFX. Das URL-Resolver-System, das wir von der Firma ExLibris eingekauft haben, zeigt Zugriffsmöglichkeiten für elektronische Zeitschriften an und berücksichtigt dabei auch die Berechtigungen, auf den Volltext zuzugreifen. Bei Treffern, die über SFX zugeordnet werden können, erscheint im TUBfind-Suchergebnis ein solches Icon:
. Klickt man auf das Icon, so erhält man in einem Extrafenster die Information, wo und wie der Volltext zugänglich ist. Dabei werden sowohl elektronische Zugriffsmöglichkeiten angezeigt als auch Standorte des gedruckten Volltextes.
Die Einbindung von SFX in Vufind ist bereits in der Standard-Distribution vorhanden und lässt sich durch Konfiguration in der config.ini aktivieren.
QR-Codes in TUBfind
Wir haben unserem TUBfind-Katalog QR-Codes beigebracht. Zu jedem Titel kann ab sofort ein QR-Code aufgeblättert werden, der die wesentlichen Titeldaten (Titel, Autor, Erscheinungsjahr) und einen Link auf den Datensatz im Katalog enthält.
QR-Codes (Quick-Response-Codes) sind codierte Informationen in Form von Piktogrammen, ähnlich den Strichcodes (Barcodes) auf den Produkten in Supermarktregalen oder unseren Büchern. Sie können z.B. mit Smartphones abfotografiert un d ausgewertet werden. Die TUHH-Bibliothek hat auch bereits seit längerer Zeit QR-Codes im Einsatz, zum Beispiel auf unseren Rückgabe-Merkzetteln.


