Plugin zur DOI-Registrierung
Dies ist ein Goobi Step-Plugin, um die Registrierung von digitalen Objekten beim DataCite DOI-Dienst zu ermöglichen.
Last updated
Dies ist ein Goobi Step-Plugin, um die Registrierung von digitalen Objekten beim DataCite DOI-Dienst zu ermöglichen.
Last updated
Name | Wert |
---|---|
Die vorliegende Dokumentation beschreibt die Installation, Konfiguration und den Einsatz eines Plugins zum Registrieren von DOIs über die DataCite API.
ACHTUNG: Zu beachten ist, dass dieses Plugin eine Neuimplementierung des datacite-doi-Plugins ist, die mittels XSLT arbeitet. Diese Implementierung ist bisher darauf beschränkt, dass DOIs für eigenständige Werke (z.B. Monographien und Zeitschriftenbände) registriert werden können. Eine Registrierung von DOIs für Strukturelemente (z.B. für Zeitschriftenartikel) ist mit diesem Plugin bisher nicht möglich.
Das Plugin besteht aus den folgenden Dateien:
Die Datei plugin_intranda_step_doi-base.jar
enthält die Programmlogik. Sie muss unter folgendem Pfad installiert werden:
Bei der Datei doi.xsl
handelt es sich um die Transformationsdatei, die das Grundgerüst der DataCite-Metadaten darstellt, in die das Plugin die individuellen Metdaten des jeweiligen Vorgangs einfügt, um anschließend die DOIs damit zu registrieren. Sie muss unter diesem Pfad installiert werden:
Die Datei plugin_intranda_step_doi.xml
ist die Hauptkonfigurationsdatei für das Plugin. Sie muss unter diesem Pfad installiert werden:
Um das Plugin in Betrieb zu nehmen, muss es für eine oder mehrere gewünschte Aufgaben im Workflow aktiviert werden. Dies geschieht wie im folgenden Screenshot gezeigt durch Auswahl des Plugins intranda_step_doi
aus der Liste der installierten Plugins.
Da dieses Plugin in der Regel automatisch ausgeführt werden soll, sollte der Workflow-Schritt im Workflow als automatisch konfiguriert werden. Da das Plugin den DOI in die Metadatendatei des Vorgangs schreibt, sollte das Kontrollkästchen für Update metadata index when finishing
ebenfalls aktiviert sein.
Dieses Plugin liest zunächst seine Konfigurationsdatei ein und versucht die Field-Variablen mit denjenigen Inhalten der METS-Datei zu füllen, die in der Konfiguration definiert wurden. Die Field-Variablen werden dabei von oben nach unten durchlaufen. Sobald ein Wert in einem definierten Feld ermittelt wurde, wird dieser der Variable zugewiesen. Wurde kein Wert in keine der Felder ermittelt, wird stattdessen der default-Wert verwendet. Ist kein default-Wert definiert für eine Field-Variable, bleibt diese leer.
Nach der Erzeugung der Field-Variablen werden diese als eine xml-Datei der Transformationsdatei übergeben. Diese nutzt die definierten Field-Variablen, um die Inhalte aus der METS-Datei einzufügen. Die somit erzeugte DataCite-xml-Datei wird anschließend für die Registrierung bzw. das Update der DOIs bei DataCite genutzt, wobei die Zugangsdaten und URL-Informationen aus der Konfigurationsdatei zum Einsatz kommen.
Die Konfiguration erfolgt über die Konfigurationsdatei plugin_intranda_step_doi.xml
und kann im laufenden Betrieb angepasst werden. Sie ist wie folgt aufgebaut:
Der Block <config>
kann für verschiedene Projekte oder Workflow-Schritte mehrfach vorkommen, um unterschiedliche Aktionen innerhalb verschiedener Workflows durchführen zu können. Die weiteren Parameter innerhalb dieser Konfigurationsdatei haben die folgende Bedeutung:
Die Transformationsdatei doi.xsl
sieht in etwa so aus:
Innerhalb dieser Transformationsdatei ist das DataCite-XML als Grundgerüst aufgeführt. Inhalte der einzelnen xml-Elemente werden dabei automatisch aus den Field-Variablen eingefügt, die in der Hauptkonfigurationsdatei definiert wurden. Neben diese verwendbaren definierbaren Field-Variablen existieren auch einige zusätzliche Variablen, die verwendet werden können:
Dokumentation von DataCite: https://support.datacite.org/docs/getting-started
Metadatenschema-Übersicht: https://schema.datacite.org/
Metadatenschema für die Version 4.4 mit Beispieldateien: https://schema.datacite.org/meta/kernel-4.4/
Admin-Bereich für DataCite-Kunden: https://doi.datacite.org/
Admin-Bereich im Testsystem für DataCite-Kunden: https://doi.test.datacite.org/
Beispiel für eine DataCite-XML-Datei aus Goobi:
Wert | Beschreibung |
---|---|
Field-Variable | Beschreibung |
---|---|
Identifier
intranda_step_doi
Repository
Lizenz
GPL 2.0 oder neuer
Letzte Änderung
25.07.2024 11:59:52
project
Dieser Parameter legt fest, für welches Projekt der aktuelle Block <config>
gelten soll. Verwendet wird hierbei der Name des Projektes. Dieser Parameter kann mehrfach pro <config>
Block vorkommen.
step
Dieser Parameter steuert, für welche Arbeitsschritte der Block <config>
gelten soll. Verwendet wird hier der Name des Arbeitsschritts. Dieser Parameter kann mehrfach pro <config>
Block vorkommen.
serviceAddress
Dieser Parameter definiert die URL für den DataCite-Dienst. Im obigen Beispiel ist es der Testserver.
debugMode
Mit diesem Parameter kann der Debug-Modus aktiviert werden. Dieser erlaubt, dass die XML-Datei mit den definierten Field-Variablen (doi_in.xml
) sowie die transformierte DataCite-XML-Datei (doi_out.xml
) innerhalb des Verzeichnisses tmp
von Goobi workflow gespeichert werden. Dies erlaubt einen Einblick in die tatsächlich verwendeten oder angepassten Metadaten, die zur DOI-Registrierung verwendet werden.
draft
Mit diesem Parameter kann festgelegt werden, dass die DOIs bisher nur als Draft reserviert werden aber noch nicht offiziell registriert werden. Sie werden somit von DataCite noch nicht öffentlich erreichbar aufgelöst und auch noch nicht in Rechnung gestellt.
base
Dieser Parameter definiert die DOI-Basis für die Einrichtung, die bei DataCite registriert wurde.
viewer
Der Parameter viewer
definiert den Präfix, den jeder DOI-Link erhält. Ein DOI "10.80831/goobi-1" erhält hier z. B. den Hyperlink "https://viewer.goobi.io/idresolver?doi=10.80831/goobi-1"
username
Dies ist der Benutzername, der für die DataCite-Registrierung verwendet wird.
password
Dies ist das Passwort, das für die DataCite-Registrierung verwendet wird.
prefix
Dies ist das Präfix, das dem DOI vor dem Namen und der ID des Dokuments gegeben werden soll.
name
Dies ist der Name, der dem DOI vor der ID des Dokuments gegeben werden soll.
separator
Definieren Sie hier ein Trennzeichen, das zwischen den verschiedenen Teilen des DOI verwendet werden soll.
metadata
Dieser Parameter gibt an, unter welchem Metadatennamen die DOI in der METS-MODS-Datei gespeichert werden soll. Standard ist DOI
.
xslt
Mit diesem Parameter wird die Transformationsdatei festgelegt, die für die DOI-Registrierung verwendet werden soll.
field
- name
Mit dem Parameter name
kann eine Field-Variable benannt werden, die für das Mapping zur Verfügung stehen soll.
field
- default
Mit diesem Parameter kann ein Wert festgelegt werden, den die Field-Variable erhalten soll, wenn keines der aufgeführten Metadaten aus den Elementen data
gefunden werden kann.
field
- repeatable
Hiermit kann gesteuert werden, dass mehrfach vorkommende Werte (abgefragt z.B. durch Verwendung von {metas.SubjectTopic}
anstelle von {meta.SubjectTopic}
) anhand eines Semikolons separiert und als Einzelwerte verwendet werden.
field
- data
- content
Innerhalb dieses Elements können Metadaten oder auch statische Texte festgelegt werden, die als Wert der Field-Variable zugewiesen werden sollen. Hierbei ist die Reihenfolge der aufgeführten data
-Elemente entscheidend. Sobald ein Feld mit dem Inhalt gefunden werden konnte, werden die nachfolgenden data
-Elemente übersprungen. Es handelt sich hier also um eine absteigende Priorität der aufgeführten Elemente.
//GOOBI-ANCHOR-DOCTYPE
Diese Variable enthält den internen Namen des Publikationstyps des übergeordneten Anchor-Elements (z.B. Periodical).
//GOOBI-DOCTYPE
Diese Variable enthält den internen Namen des Publikationstyps des Werks (z.B. Monograph).
//GOOBI-DOI
Diese Variable enthält die zu verwendende DOI.