ProjektVariablen

Aus Goobi

Wechseln zu: Navigation, Suche
Status dieses Artikels
Erstellt für Goobi Version: 1.5.1
Überprüft für Goobi Version: 1.5.1
Anmerkungen: Dokument aktuell

Allgemeines

Für den Mets-Export war erforderlich, das pro Projekt mehrere Werte konfiguriert werden können, die über die ugh-Api explizit gesetzt werden müssen. Dazu gehören pro Projekt folgende Felder:

  • METS Rechteinhaber
  • METS Rechteinhaber Logo
  • METS Rechteinhaber URL
  • METS Digiprov Referenz
  • METS Digiprov Präsentation
  • METS Dateigruppen

Diese Werte können je Projekt unterschiedlich festgelegt werden. Bis auf die Dateigruppen können die Inhalte dieser Felder darüber hinaus durch Inhalte aus den Metadaten angereichert werden. Dafür wurde eine einfache Syntax eingeführt.

Soll zum Beispiel eine allgemeine URL für den Rechteinhaber eingetragen werden (METS Rechteinhaber URL), genügt folgendes:

http://gdz.sub.uni-goettingen.de

Für die Referenz soll hingegen beispielsweise die PPN innerhalb der URL ergänzt werden. Da der interne Name für die PPN durch den Regelsatz gesteuert wird, wird dessen Name eingesetzt, um eine URL wie folgt zu erhalten http://gdz.sub.uni-goettingen.de?PPN=123456789&zoom=100

http://gdz.sub.uni-goettingen.de?PPN=$(meta.CatalogIDDigital)&zoom=100

Es wird dzf. an die gewünschte Stelle die Variable eingeführt mit der Syntax $(meta.bezeichnungAusRegelsatz)

Es existieren drei Namensräume innerhalb dieser Variablen. Weitere werden in Zukunft folgen:


$(meta.bezeichnungAusRegelsatz)
Das gesuchte Metadatum wird zuerst versucht, beim ersten Unterstrukturelement (First Child) zu finden (z.B. Zeitschriftenband). Sollte es dort nicht gefunden werden, wird es beim obersten Strukturelement (Topstruct) gesucht.
Wird das Metadatum an keiner der beiden Stellen gefunden, wird ein leerer String zurückgegeben und eine Fehlermeldung in der Oberfläche angezeigt.


$(meta.topstruct.bezeichnungAusRegelsatz)
Das gesuchte Metadatum wird ausschliesslich beim obersten Strukturelement gesucht.
Wird das Metadatum nicht gefunden, wird ein leerer String zurückgegeben und eine Fehlermeldung in der Oberfläche angezeigt.


$(meta.firstchild.bezeichnungAusRegelsatz)
Das gesuchte Metadatum wird ausschließlich beim ersten Unterelement gesucht.
Wird das Metadatum nicht gefunden, wird ein leerer String zurückgegeben und eine Fehlermeldung in der Oberfläche angezeigt.


Vor dem Hintergrund dieser Namensräume bietet also z.B. die Verwendung einer PPN (CatalogIDDigital) als Variable je nach Namensraum andere Rückgabewerte. Für eine METS Digiprov Referenz könnte z.B. die PPN der Zeitschrift verwendet werden, während hingegen für die URL der Präsentation die PPN des Bandes verwendet werden soll, obwohl in beiden Strukturelementen das Metadatum PPN gleich heißt (CatalogIDDigital).

Für die PPN einer Zeitschrift (z.B. PPN123456789) würde somit folgende Syntax eingesetzt werden:

$(meta.topstruct.CatalogIDDigital)

Für die PPN eines bestimmten Bandes hingegen (z.B. PPN123456789_0012), wo die Jahrgangsnummer enthalten sein könnte, müsste die Syntax so aussehen:

$(meta.firstchild.CatalogIDDigital)

Würde man hingegen keinen genauen Namensraum für das Strukturelement angeben, wie die folgende, erhält man unterschiedliche Ergebnisse, je nach Publikationstyp.

$(meta.CatalogIDDigital)

Mit dieser Syntax erhält man bei einem Zeitschriftenband die PPN des Bandes (d.h. vom FirstChild z.B. PPN123456789_0012). Bei Monographien hingegen ist die PPN nur auf oberster Ebene (Topstruct) vorhanden und würde also diese zurückgeben, da das erste Unterelement (z.B. ein Inhaltsverzeichnis) im Allgemeinen keine PPN vorweist (also z.B. PPN987654321).

Technischer Hintergrund

Die Verwaltung der Variablenersetzung erfolgt nun an zentraler Stelle und soll langfristig von allen Bereichen innerhalb des Goobi-Workflow-Tools genutzt werden können. Daher wurde eine generische Lösung für die Variablenersetzungen in Strings angestrebt, die zu einem späteren Zeitpunkt noch durch Reflection und Zugriff auf die Datenbankinhalte erweitert werden soll. Derzeitig findet der Zugriff auf die Variablenersetzung (de.sub.goobi.helper.VariableReplacer) ausschliesslich aus dem METS-Export statt (de.sub.goobi.Export.download.ExportMets).

Persönliche Werkzeuge