Plugin zur Registrierung von DOIs via DataCite API
Dies ist ein Goobi Step-Plugin, um die Registrierung von digitalen Objekten beim DataCite DOI-Dienst zu ermöglichen.
Übersicht
Einführung
Diese Dokumentation beschreibt die Installation, Konfiguration und Verwendung des Plugins zur Registrierung von DOIs.
ACHTUNG: Für diese Funktionalität existiert noch ein neueres Plugin, das mittels XSL-Transformation einen höheren Freiheitsgrad der DOI-Registrierung erlaubt. Eine Dokumentation des neuen Plugins findet sich hier: https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_doi
Installation
Das Plugin besteht aus den folgenden Dateien:
Die Datei plugin_intranda_step_datacite_doi-base.jar
enthält die Programmlogik. Sie muss unter folgendem Pfad installiert werden:
Bei der Datei plugin_intranda_step_datacite_mapping.xml
handelt es sich um die Mapping-Datei, die definiert, wie lokale Metadaten in die für die DOI-Registrierung erforderliche Form übersetzt werden sollen. Sie muss unter diesem Pfad installiert werden:
Die Datei plugin_intranda_step_datacite_doi.xml
ist die Hauptkonfigurationsdatei für das Plugin. Sie muss unter diesem Pfad installiert werden:
Überblick und Funktionsweise
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_datacite_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.
Das Programm untersucht die Metadatenfelder der METS/MODS-Datei aus dem Goobi-Vorgang. Wenn ein <typeForDOI>
angegeben ist, dann geht es jedes Strukturlement dieses Typs in der Datei durch. Wenn nicht, dann nimmt es das oberste Strukturlement. Daraus erstellt es die Daten für ein DOI, wobei es die Mapping-Datei zum Übersetzen verwendet. Dann wird der DOI über die MDS-API von DataCite registriert, wobei der DOI durch die <base>
zusammen mit einem beliebigen <prefix>
und <name>
und der ID des Dokuments (seine CatalogIDDigital
) plus einem inkrementierten Zähler angegeben wird, falls mehr als ein DOI für das gegebene Dokument erzeugt wurde. Der Datensatz erhält eine registrierte URL, die durch <url>
definiert ist, gefolgt von der DOI. Der generierte DOI wird in die METS/MODS-Datei unter den in <doiMetadata>
angegebenem Metadatum gespeichert. Wenn der Wert für <typeForDOI>
zum Beispiel Article
lautet, dann erhält jeder Artikel in der METS/MODS-Datei einen DOI, der in den Metadaten unter <doiMetadata>
für jeden Artikel gespeichert wird.
Konfiguration
Hauptkonfiguration
Die Konfiguration erfolgt über die Konfigurationsdatei plugin_intranda_step_datacite_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:
Konfiguration innerhalb der Mapping-Datei
Die Mapping-Konfigurationsdatei sieht in etwa so aus:
Für jede <map>
gibt das <field>
den Namen des DOI-Elements an, und die Einträge <metadata>
und <altMetadata>
geben an, aus welchen Metadaten der Strukturelemente der Reihe nach der Wert genommen werden soll. Wenn es keinen solchen Eintrag in den Strukturelementen gibt, dann wird der <default>
-Wert genommen. Der Wert "unkn"
für "unbekannt" wird von Datacite für fehlende Daten empfohlen.
Die Elemente <listMap>
erlauben Listenelemente anzulegen innerhalb der genererirten Datacite-Struktur, so dass sich wiederholende Werte definiert werden können. Dabei können auch Attribute angegeben werden, die für das zu erzeugende Listenelement so itentisch mit Name und Wert übernommen werden (z.B. alternateIdentifierType="Goobi identifier"
);
Für die Pflichtfelder muss ein <default>
angegeben werden; für optionale Felder ist dies nicht notwendig, kann aber auf Wunsch erfolgen.
Der Standardeintrag #CurrentYear
ist ein Sonderfall: er wird während der DOI-Generierng durch das aktuelle Jahr ersetzt.
Soll für ausgewählte Strukturelemente eine Referenzierung des Werkes erfolgen, in dem dieses Element erschienen ist, so können mehrere Elemente als publicationTypeWithRelatedItem
aufgeführt werden. Für diese wird kann ebenfalls der Block der Elemente <publicationData>
ausgewertet. Dies könnte beispielsweise für wissenschaftliche Artikel Verwendung finden.
Nützliche Zusatzinformationen
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
Beispiel für eine Datacite-XML-Datei aus Goobi:
Last updated