Generate ARKs

Goobi Step Plugin for the creation of Archival Resource Keys (ARK) with metadata according to the DataCite schema.


This documentation describes the installation, configuration and use of the Step Plugin for the generation of ARK identifiers in Goobi workflow.

[!WARNING] This update can only be used to a very limited extent from 01.01.2024. ARCs were generated in the plugin via the Rest API of, a service of the Geneva University of Applied Sciences, which will be shut down in the course of 2024. Arketype is a fork of EZID and could theoretically be used with it. However, the operation of a local ARK service using the ARK services of the Lucerne Central Library for ZentralGut is recommended. This Python script generates local identifiers, registers them in the global resolver and enters them into the processes in Goobi Workflow.




Source code


GPL 2.0 or newer


Goobi workflow 2022.03

Documentation date


How the plug-in works

The plugin is usually executed fully automatically within the workflow. It first determines whether an Archival Resource Key (ARK) already exists. If there is no ARK yet, a new ARK is registered. If an ARK already exists in the metadata, it attempts to update the metadata of the ARK.

Operation of the plug-in

This plugin is integrated into the workflow in such a way that it is executed automatically. Manual interaction with the plugin is not necessary. For use within a workflow step, it should be configured as shown in the screenshot below.


The plugin consists of the following file:


This file must be installed in the correct directory so that it is available at the following path after installation:


In addition, there is a configuration file that must be located in the following place:



The configuration of the plugin is done via the configuration file plugin_intranda_step_ark.xml and can be adjusted during operation. The following is an example configuration file:

<?xml version="1.0" encoding="UTF-8"?>
	<!-- order of configuration is:
    1.) project name and step name matches
    2.) step name matches and project is *
    3.) project name matches and step name is *
    4.) project name and step name are *

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

		<!-- URI of the ARK API, must use https -->

		<!-- Name Assigning Number Authority -->

		<!-- name of the API user -->

		<!-- password of the API user -->

		<!-- shoulder on which new ARKs shall be minted -->

		<!-- Datacite Metadata fields -->

		<!-- metadata field datacite.creator -->

		<!-- metadata field datacite.title -->

		<!-- metadata field datacite.publisher -->

		<!-- metadata field datacite.publicationyear -->

		<!-- metadata field datacite.resourcetype can only contain following values:
			Audiovisual, Collection, Dataset, Event, Image ,InteractiveResource, Model,
			PhysicalObject, Service, Software, Sound, Text, Workflow, Other. For more
			information consult the API-documentation -->

		<!--target url ark will forward to -->

		<!--metadatatype in METS-File -->



This parameter determines for which project the current block <config> should apply. The name of the project is used here. This parameter can occur several times per <config> block.


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.


The URL of the API must be stored in this parameter. As a rule, the standard entry can be used.


NAAN is an acronym for Name Assigning Number Authority. It is a unique identifier to which the account is assigned.


Name of the API user


Password of the API user


Name of the sub-namespace in which the new ARKs are to be created.


Corresponds to the datacite.creator field and should name the persons who created the data. Usually the default value {meta.CreatorsAllOrigin} can be kept.


Corresponds to the datacite.title field and should contain the name by which the publication is known. As a rule, the default value {meta.TitleDocMain} can be retained.


Corresponds to the datacite.publisher field. As a rule, the default value {meta.PublisherName} can be retained.


Corresponds to the datacite.publicationyear field. As a rule, the default value {meta.PublicationYear} can be retained.


Corresponds to the datacite.resourcetype field. Only the values Audiovisual, Collection, Dataset, Event, Image, InteractiveResource, Model, PhysicalObject, Service, Software, Sound, Text, Workflow, and Other are allowed. In addition, specific subtypes can be specified. An example would be Image/Photo. The subtype, i.e. the part after the /, is not subject to any restriction.


URL under which the digitised work will be available in the future. As a rule, the publication URL will follow a pattern, e.g.{meta.CatalogIDDigital}. In this case, it is assumed that the works will be published in the future under a URL containing the metadate 'identifier'.


Specifies the metadata type under which the URN is to be recorded. The default should not be changed here.

Last updated