ePIC PID Registration (Handle & DOI)
This step plugin allows the registration of handle and DOI as persistent identifiers via the ePIC service of the GWDG.

Introduction

The plugin allows digital copies to be registered with the ePIC Service of the GWDG. Both the generation of Handle IDs and the registration of DOIs are possible. The Handles can be generated for each logical and physical element of a METS file and stored as metadata in each case.

Overview

Details
Identifier
intranda_step_epic_pid
Licence
GPL 2.0 oder neuer
Compatibility
Goobi workflow 2020.11
Documentation date
13.12.2020

Installation

To install the plugin, the following file must be installed:
1
/opt/digiverso/goobi/plugins/step/plugin_intranda_step_epic_pid.jar
Copied!
In order to configure how the plugin should behave, the following two configuration files must also be installed:
1
/opt/digiverso/goobi/config/plugin_intranda_step_epic_pid.xml
2
/opt/digiverso/goobi/config/plugin_intranda_step_epic_pid_mapping.xml
Copied!

Configuration of the plug-in

Main configuration

The configuration of the file plugin_intranda_step_epic_pid.xml is structured as follows:
1
<config_plugin>
2
3
<config>
4
<!-- which projects to use for (can be more then one, otherwise use *) -->
5
<project>*</project>
6
<step>*</step>
7
8
<!-- authentication and main information -->
9
<certificate>/opt/digiverso/goobi/config/certificate.pem</certificate>
10
<user>USER</user>
11
<base>BASE</base>
12
<url>https://viewer.goobi.io/idresolver?handle=</url>
13
14
<!-- configuration for Handles -->
15
<prefix>go</prefix>
16
<name>goobi</name>
17
<separator>-</separator>
18
19
<!-- configuration for DOIs -->
20
<doiGenerate>true</doiGenerate>
21
<doiMapping>/opt/digiverso/goobi/config/plugin_intranda_step_epic_pid_mapping.xml</doiMapping>
22
</config>
23
24
</config_plugin>
Copied!
The block <config> can occur repeatedly for different projects or workflow steps in order to be able to perform different actions within different workflows. The other parameters within this configuration file have the following meanings:
Value
Description
project
This parameter determines for which project the current block <config> is to apply. The name of the project is used here. This parameter can occur several times per <config> block.
step
This parameter controls for which workflow steps the block <config> should apply. The name of the workflow step is used here. This parameter can occur several times per <config> block.
certificate
The certificate element defines the path to the private key used for authentication.
user
This parameter sets the user name for authentication.
base
This sets the base name for the generation of the handles.
url
This parameter defines the final URL for the handle resolver. The beginning of the URL is defined at this point. The subsequently formed handle ID is placed at the end, so that the final URL will be structured as follows: url + handle ID
prefix
The actual handle is composed of several parts and usually has this structure: prefix + separator + name + separator + objectId. The parameter prefix defines the prefix with which the handle should begin. This parameter is optional.
name
The parameter name defines the content of the handle to which the object IDs are subsequently appended. This parameter is optional.
separator
This parameter defines the separator to be used between the individual elements of the generated handle.
doiGenerate
This parameter determines whether a DOI identifier should also be generated in addition to the handle.
doiMapping
At this point a mapping file is named where the mappings of the metadata from the METS file to the DOI metadata are defined.

Configuration for the use of DOI

The configuration of the file plugin_intranda_step_epic_pid_mapping.xml is structured as follows:
1
<?xml version="1.0" encoding="UTF-8"?>
2
<Mapping>
3
<map>
4
<field>title</field>
5
<metadata>TitleDocMain</metadata>
6
<altMetadata>Title</altMetadata>
7
<default>Fragment</default>
8
</map>
9
10
<map>
11
<field>author</field>
12
<metadata>Author</metadata>
13
<default>intranda</default>
14
</map>
15
16
<map>
17
<field>publisher</field>
18
<metadata>Publisher</metadata>
19
<altMetadata>Source</altMetadata>
20
<default>intranda</default>
21
</map>
22
23
<map>
24
<field>pubdate</field>
25
<metadata>PublicationYear</metadata>
26
<altMetadata>PublicationYearSort</altMetadata>
27
<altMetadata>PublicationRun</altMetadata>
28
<default>intranda</default>
29
</map>
30
31
<map>
32
<field>inst</field>
33
<default>intranda</default>
34
</map>
35
</Mapping>
Copied!
This configuration file defines how the available metadata from the METS file are to be used for registering the DOI. At least one metadata is defined for each field of the DOI that is to be used.
Value
Description
field
This parameter defines the DOI metadatum to be generated.
metadata
This parameter names the metadatum to be read from the METS file in order to use its value for the creation of the defined DOI field.
altMetadata
If the metadata defined with the metadata parameter is not available, an alternative metadata can be defined here to be used instead. This parameter is optional and repeatable.
default
If the metadata defined by metadata and altMetadata cannot be found, a default value can be set here.

Integration of the plugin into the workflow

To put the plugin into operation, it must be activated for one or more desired tasks in the workflow. This is done as shown in the following screenshot by selecting the plugin intranda_step_epic_pid from the list of installed plugins.
Assigning the plugin to a specific task
Since this plugin is usually to be executed automatically, the work step should be configured as automatic in the workflow.

How the plugin works

After the plugin has been fully installed and set up, it is usually executed automatically within the workflow, so there is no manual interaction with the user. Instead, the plugin is called by the workflow in the background and starts generating an identifier depending on the selected configuration. The plugin proceeds as follows:
The way the plugin works within the correctly configured workflow is as follows:
  • First, the plugin opens the METS file of the operation.
  • For each logical and physical element of this METS file, a handle in the form PREFIX-CLIENT-OBJECTID is created. If the planned OBJECTID is already assigned as a handle, an incrementing suffix (e.g.: -1, -2, etc.) is added at the end.
  • Finally, the generated handle is stored within the METS file as a metadatum for the respective logical or physical structural element. The metadata type _urn is usually used for this purpose.
  • If the registration of DOIs has been activated, a new DOI identifier is generated for each logical top-level element in addition to the handle generation and stored within the METS file.

Example of a result

If a handle is registered, the following contents result from the communication with the ePIC service:
1
Handle Values for: BASE/go-goobi-1296243265-17
2
Index Type Timestamp Data
3
1 URL 2020-04-21 12:02:30Z https://viewer.goobi.io/idresolver?handle=
4
2 TITLE 2020-04-21 12:02:30Z [Stammbuch Daniel Schelling]
5
3 AUTHORS 2020-04-21 12:02:30Z Daniel Schelling
6
4 PUBLISHER 2020-04-21 12:02:30Z Stadtarchiv Duderstadt
7
5 PUBDATE 2020-04-21 12:02:30Z 1617
8
6 INST 2020-04-21 12:02:30Z intranda
9
100 HS_ADMIN 2020-04-21 12:02:30Z handle=USER; index=300; [create hdl,delete hdl,read val,modify val,del val,add val,modify admin,del admin,add admin,list]
Copied!
This information is then used by the GWDG's ePIC service to automatically generate a DOI identifier with the same ID: BASE/go-goobi-1296243265-17.
Last modified 1yr ago