URNs generieren
Goobi Step Plugin für die Erstellung von Uniform Resource Names (URN).

Einführung

Die vorliegende Dokumentation beschreibt die Installation, die Konfiguration und den Einsatz des Step Plugins für die Generierung von Uniform Resource Names in Goobi workflow.
Details
Text
Identifier
intranda_step_urn
Lizenz
GPL 2.0 oder neuer
Kompatibilität
Goobi workflow 2022.03
Dokumentationsdatum
06.05.2022

Arbeitsweise des Plugins

Das Plugin wird üblicherweise vollautomatisch innerhalb des Workflows ausgeführt. Es ermittelt zunächst, ob bereits ein Uniform Resource Name (URN) vorhanden ist. Sollte noch kein URN vorhanden sein, wird ein neuer URN registriert. Falls schon ein URN in den Metadaten vorhanden ist, wird versucht die Metadaten des URNs zu aktualisieren.

Bedienung des Plugins

Dieses Plugin wird in den Workflow so integriert, dass es automatisch ausgeführt wird. Eine manuelle Interaktion mit dem Plugin ist nicht notwendig. Zur Verwendung innerhalb eines Arbeitsschrittes des Workflows sollte es wie im nachfolgenden Screenshot konfiguriert werden.
Integration des Plugins in den Workflow

Installation

Das Plugin besteht aus der folgenden Datei:
1
plugin_intranda_step_urn.jar
Copied!
Diese Datei muss in dem richtigen Verzeichnis installiert werden, so dass diese nach der Installation an folgendem Pfad vorliegt:
1
/opt/digiverso/goobi/plugins/step/plugin_intranda_step_urn.jar
Copied!
Daneben gibt es eine Konfigurationsdatei, die an folgender Stelle liegen muss:
1
/opt/digiverso/goobi/config/plugin_intranda_step_urn.xml
Copied!

Konfiguration

Die Konfiguration des Plugins erfolgt über die Konfigurationsdatei plugin_intranda_step_urn.xml und kann im laufenden Betrieb angepasst werden. Im folgenden ist eine beispielhafte Konfigurationsdatei aufgeführt:
1
<?xml version="1.0" encoding="UTF-8"?>
2
<config_plugin>
3
<!-- order of configuration is:
4
1.) project name and step name matches
5
2.) step name matches and project is *
6
3.) project name matches and step name is *
7
4.) project name and step name are *
8
-->
9
10
<config>
11
<!-- which projects to use for (can be more then one, otherwise use *) -->
12
<project>*</project>
13
<step>*</step>
14
15
<!-- name of the API user -->
16
<apiUser>user</apiUser>
17
18
<!-- password of the API user -->
19
<apiPassword>password</apiPassword>
20
21
<!-- URI of the URN API, must use httos -->
22
<apiUri>https://api.nbn-resolving.org/v2/</apiUri>
23
24
<!-- namespace in which new URNs shall be created -->
25
<!-- example urn:nbn:de:gbv:{SIGIL} -->
26
<namespace>urn:nbn:de:{SIGIL}</namespace>
27
28
<!-- infix that you want to use (optional) -->
29
<infix>-goobi-</infix>
30
31
<!-- example URN urn:nbn:de:gbv:48-goobi-20220404122233 -->
32
33
<!--target url the newly generated urn will forward to. {pi.urn} will be
34
replaced with the newly minted urn -->
35
<publicationUrl>https://viewer.example.org/viewer/resolver?urn={pi.urn}
36
</publicationUrl>
37
38
<!--Generate URN for the work (e.g. for Monograph, Manuscript, Volume, etc.) -->
39
<work>true</work>
40
41
<!--Generate URN for the anchor Element -->
42
<anchor>false</anchor>
43
44
<!--Elements listed here will receive a URN. If work is set to true the
45
work element will receive a URN, even if it is not listed here -->
46
<!--
47
<allowed>
48
<type>Monograph</type>
49
</allowed>
50
-->
51
52
<!-- metadata name for urns in METS-bloc "_urn" -->
53
<typeNameMets>_urn</typeNameMets>
54
55
<!--metadata name for URNs in MODS-bloc. -->
56
<typeNameMods>URN</typeNameMods>
57
58
<!--Shall the plugin create URNs in the MODS-bloc. The rule set entries
59
of certain elements may have to be altered, if you wish to use this -->
60
<createModsUrns>false</createModsUrns>
61
</config>
62
</config_plugin>
Copied!
Parameter
Erläuterung
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.
apiUser
Der Name des API-Nutzers.
apiPassword
Das Passwort des API-Nutzers.
apiUri
In diesem Parameter muss die URL der API hinterlegt werden. In der Regel kann der Standardeintrag https://api.nbn-resolving.org/v2/ übernommen werden.
namespace
Der Namensraum in dem der neue URNs angelegt werden.
infix
Infix, der in die generierten URNs nach dem Namensraum eingefügt wird. Eine neue URN hätte die Form {namespace}{infix}{generatedValue}.
publicationUrl
Die URL unter der das digitalisierte Werk in Zukunft zur Verfügung steht. In der Regel wird die Veröffentlichungs-URL einem Muster folgen, z.B. https://viewer.example.org/viewer/resolver?urn={pi.urn}. Der Platzhalter {pi.urn} wird vom Plugin, durch den neuen URN ersetzt.
work
Schalter, der das Setzen von Werks-URNs aktiviert (Monographie, Manuscript, Volume, usw.).
anchor
Schalter, der das Setzen von URNs für das Ankerelement aktiviert.
allowed -> type
Hier können Sie Elemente aufzählen, für die ein URN generiert werden soll. Für jedes Element muss ein <type>ElementName</type> Eintrag im <allowed> Element angelegt werden. Hinweis: Wenn Sie anchor oder work auf true setzen, erhalten das Ankerelement und das Werkelement eine URN, auch wenn ihre Typnamen nicht in der Liste aufgeführt werden.
typeNameMets
Gibt den Metadatentyp an, unter dem METS-URNs erfasst werden sollen. Hier sollte die Vorgabe nicht verändert werden.
typeNameMods
Gibt den Metadatentyp an, unter dem MODS-URNs erfasst werden sollen. Hier sollte die Vorgabe nicht verändert werden.
createModsUrns
Wenn Sie URNs im MODS-Block schreiben wollen, setzen Sie diesen Schalter auf true. Bedenken Sie jedoch, dass es eventuell notwendig ist die Regelsätze einzelner Strukturelemente anzupassen.