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.

Overview

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.

Installation

To install the plugin, the following file must be installed:

/opt/digiverso/goobi/plugins/step/plugin_intranda_step_epic_pid-base.jar

In order to configure how the plugin should behave, the following two configuration files must also be installed:

/opt/digiverso/goobi/config/plugin_intranda_step_epic_pid.xml
/opt/digiverso/goobi/config/plugin_intranda_step_epic_pid_mapping.xml

Overview and functionality

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.

Since this plugin is usually to be executed automatically, the work step should be configured as automatic in the workflow.

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.

Configuration

Main configuration

The configuration of the file plugin_intranda_step_epic_pid.xml is structured as follows:

<config_plugin>

    <config>
        <!-- which projects to use for (can be more then one, otherwise use *) -->
        <project>*</project>
        <step>*</step>

        <!-- authentication and main information -->
        <certificate>/opt/digiverso/goobi/config/certificate.pem</certificate>
        <user>USER</user>
        <base>BASE</base>
        <url>https://viewer.example.org/resolver?field=MD_PI_HANLDE&identifier=</url>

        <!-- configuration for Handles -->
        <prefix>go</prefix>
        <name>goobi</name>
        <separator>-</separator>

        <!-- configuration for DOIs -->
        <doiGenerate>true</doiGenerate>
        <doiMapping>/opt/digiverso/goobi/config/plugin_intranda_step_epic_pid_mapping.xml</doiMapping>
    </config>

</config_plugin>

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:

Configuration for the use of DOI

The configuration of the file plugin_intranda_step_epic_pid_mapping.xml is structured as follows:

<?xml version="1.0" encoding="UTF-8"?>
<Mapping>
    <map>
        <field>title</field>
        <metadata>TitleDocMain</metadata>
        <altMetadata>Title</altMetadata>
        <default>Fragment</default>
    </map>

    <map>
        <field>author</field>
        <metadata>Author</metadata>
        <default>intranda</default>
    </map>

    <map>
        <field>publisher</field>
        <metadata>Publisher</metadata>
        <altMetadata>Source</altMetadata>
        <default>intranda</default>
    </map>

    <map>
        <field>pubdate</field>
        <metadata>PublicationYear</metadata>
        <altMetadata>PublicationYearSort</altMetadata>
        <altMetadata>PublicationRun</altMetadata>
        <default>intranda</default>
    </map>

    <map>
        <field>inst</field>
        <default>intranda</default>
    </map>
</Mapping>

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.

Example of a result

If a handle is registered, the following contents result from the communication with the ePIC service:

Handle Values for: BASE/go-goobi-1296243265-17
Index    Type    Timestamp    Data
1    URL    2020-04-21 12:02:30Z     https://viewer.goobi.io/idresolver?handle=
2    TITLE    2020-04-21 12:02:30Z     [Stammbuch Daniel Schelling]
3    AUTHORS    2020-04-21 12:02:30Z     Daniel Schelling
4    PUBLISHER    2020-04-21 12:02:30Z     Stadtarchiv Duderstadt
5    PUBDATE    2020-04-21 12:02:30Z     1617
6    INST    2020-04-21 12:02:30Z     intranda
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]

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 updated