Soutron Import

OPAC Plugin für die Datenübernahme von Soutron Datensätzen

Übersicht

NameWert

Identifier

intranda_opac_soutron

Repository

Lizenz

GPL 2.0 oder neuer

Letzte Änderung

25.07.2024 12:01:54

Einführung

Die vorliegende Dokumentation beschreibt die Installation, Konfiguration und den Einsatz des Plugins. Mit Hilfe dieses Plugins können Daten aus einem Soutron-System abgefragt und in Goobi übernommen werden. Hierfür muss der Zugriff auf den Soutron-Katalog gewährleistet sein.

Installation

Das Plugin besteht aus zwei Dateien:

plugin_intranda_opac_soutron-base.jar
plugin_intranda_opac_soutron.xml

Die Datei plugin_intranda_opac_soutron-base.jar enthält die Programmlogik und muss für den Nutzer tomcat lesbar an folgendem Pfad installiert werden:

/opt/digiverso/goobi/plugins/opac/plugin_intranda_opac_soutron-base.jar

Die Datei plugin_intranda_opac_soutron.xml muss ebenfalls für den Nutzer tomcat lesbar sein und unter folgendem Pfad liegen:

/opt/digiverso/goobi/config/plugin_intranda_opac_soutron.xml

Überblick und Funktionsweise

Wenn in Goobi nach einem Identifier gesucht wird, wird im Hintergrund eine Anfrage an die konfigurierte URL gestellt:

https://example.com/Library/WebServices/SoutronAPI.svc/GetCatalogue?id=[VALUE]

Sofern hier ein gültiger Datensatz gefunden wird, wird der Datensatz nach dem Feld /soutron/catalogs_view/ct/cat/rt/@name durchsucht. Der Wert wird mit der konfigurierten <docstructs> Liste verglichen. Wenn es eine Entsprechung gibt, wird das gewünschte Strukturelement erzeugt.

Im Anschluß werden die konfigurierten XPath-Ausdrücke ausgewertet, die für <metadata> und <person> konfiguriert wurden.

Die Ausdrücke gelten für das Element /soutron/catalogs_view/ct/. Sofern mit einem Ausdruck Daten gefunden werden, wird das entsprechend angegebene Metadatum erzeugt. Bei Personen wird geprüft, ob der Wert ein Komma enthält. In dem Fall werden Vor- und Nachname am Komma getrennt, ansonsten wird der Wert als Nachname interpretiert.

Konfiguration

Die Konfiguration des Plugins erfolgt in den folgenden Dateien, die sich im Verzeichnis /opt/digiverso/goobi/config/ befinden.

goobi_opac.xml
plugin_intranda_opac_soutron.xml

In der Datei goobi_opac.xml muss die Schnittstelle zum gewünschten Katalogsystem bekannt gemacht werden. Dies geschieht durch einen Eintrag, der wie folgt aussieht:

<catalogue title="Soutron">
    <config description="Soutron Library System"
      address="https://example.com/Library/WebServices/SoutronAPI.svc/GetCatalogue"
      port="443" database="x" iktlist="x" ucnf="x" opacType="plugin_intranda_opac_soutron" />
    <searchFields>
        <searchField label="Identifier" value="12"/>
    </searchFields>
</catalogue>

Das Attribut title enthält den Namen, unter dem der Katalog in der Nutzeroberfläche ausgewählt werden kann, address die URL zum GetCatalogue-Endpoint und opacType das zu nutzende Plugin. In diesem Fall muss der Eintrag plugin_intranda_opac_soutron lauten.

Es ist nur eine Suche nach einem Identifier möglich, daher können die anderen Suchoptionen ausgeblendet werden. Dies geschieht innerhalb des <searchFields> Blocks.

Das Mapping der Inhalte des Soutron Datensatzes zu den Metadaten in Goobi geschieht in der Datei plugin_intranda_opac_soutron.xml:

<config_plugin>
    <docstructs>
        <docstruct soutron="Item" ruleset="Item" />
        <docstruct soutron="File" ruleset="Item" />
        <docstruct soutron="Book" ruleset="Monograph" />
        <docstruct soutron="Photo" ruleset="Picture" />
    </docstructs>

    <metadata>
        <element xpath="./cat/fs/f[@name='Title']/vs/v[@seq='1']/text()" metadata="TitleDocMain" />
        <element xpath="./cat/fs/f[@name='ISBN']/vs/v/text()" metadata="ISBN" />
        <element xpath="./cat/fs/f[@name='Notes']/vs/v/text()" metadata="Note" />
        <element xpath="./cat/fs/f[@name='Publisher']/vs/v/text()" metadata="PublisherName" />
        <element xpath="./cat/fs/f[@name='Language']/vs/v/text()" metadata="DocLanguage" />
        <element xpath="./cat/fs/f[@name='Subjects']/vs/v/text()" metadata="Subject" />
        <element xpath="./cat/fs/f[@name='Abstract']/vs/v/text()" metadata="Abstract" />
        <element xpath="./cat/fs/f[@name='Date of Publication']/vs/v/text()" metadata="PublicationYear" />
        <element xpath="./cat/fs/f[@name='Place of Publication']/vs/v/text()" metadata="PlaceOfPublication" />
    </metadata>

    <person>
        <element xpath="./cat/fs/f[@name='Author']/vs/v/text()" metadata="Author" />
        <element xpath="./cat/fs/f[@name='Photographer']/vs/v/text()" metadata="Photographer" />
        <element xpath="./cat/fs/f[@name='Translator']/vs/v/text()" metadata="Translator" />
    </person>

</config_plugin>

Im Bereich <docstructs> wird das Mapping der einzelnen Dokumententypen festgelegt. Für jeden Wert, der in soutron vorkommen kann, muss ein <docstruct> existieren. Im Attribut soutron wird der Name eingetragen, der im soutron record enthalten ist, in ruleset steht das entsprechende Strukturelement aus dem Regelsatz.

Anschließend wird das Mapping für Personen und Metadaten in <metadata> und <person> konfiguriert. Hier gibt es jeweils eine Liste von <element> mit den beiden Attributen xpath und metadata. In xpath wird ein XPath-Ausdruck konfiguriert, der beschreibt, in welchem Teil des XML-Dokuments der Inhalt erwartet wird, in metadata wird der Name des Metadatums definiert, in das der Inhalt anschließend geschrieben werden soll.

Last updated