18.2. DOI Management

Author
Benjamin Leinfelder
Date
  • 20130307 [BRL] Initial draft of DOI documentation
Goal
Register DOI-identified objects with the EZID service on insert/update
Summary
Metacat supports generating identifiers using UUID and DOI schemes via the DataONE Member Node API. After client has generated a DOI using this method, Metacat must ensure that the DOI registration with EZID/DataCite is created and kept up-to-date.

18.2.1. DOI Generation

Metacat will generate, or “mint” a DOI using the EZID service and return that identifier to the client. This identifier is guaranteed by EZID to be unique for the shoulder configured for this Metacat instance. The Metacat instance must have a valid EZID account in order to utilze the EZID service.

There will be no attempt to “reserve” the DOI with the CN because Metacat will be configured with a unique shoulder and a specific EZID account that allows minting under that shoulder.

DOIs will only be minted if the following metacat.properties are set.

Metadata Field Source or value of metadata
guid.ezid.enabled true (default, false)
guid.ezid.username <EZID account> (default, “apitest”)
guid.ezid.password <EZID password> (default, “apitest”)
guid.ezid.doishoulder.1 <EZID shoulder for home server> (default, “doi:10.5072/FK2”)

18.2.2. DOI Registration

When an object identified with a DOI is inserted or updated in Metacat using the DataONE API, Metacat will supply EZID with the appropriate metadata for that DOI based on the information available for the object.

The following metadata will be submitted for objects that specify an AccessPolicy containing a public read rule. The same metadata will be updated when the Member Node is alerted to a SystemMetadata change on the CN. When a newer object is added (MN.update()) metadata for the obsolete object is updated as the metadata for the new object is added - both via EZID API.

Metadata Field Source or value of metadata
dc_identifier the DOI value
datacite_url the MN /object URL
dc_title collect from EML; or default to “[Meta]Data object” depending on type
dc_creator collect from EML; default to SM.rightsHolder
dc_publisher Member Node nodeId or nodeName
datacite_publicationyear collect from EML; default to SM.dateUploaded
datacite_resourcetypegeneral “Dataset”
datacite_resourcetype one of “metadata” or “data”
datacite_format SM.formatId
datacite_relatedidentifier_ispreviousversionof SM.obsoletedBy
datacite_relatedidentifier_ispreviousversionoftype “DOI”, if above exists
datacite_relatedidentifier_isnewversionof SM.obsoletes
datacite_relatedidentifier_isnewversionoftype “DOI”, if above exists
datacite_relatedidentifier_ispartof ORE DOI or MN /object URL
datacite_relatedidentifier_ispartoftype “DOI” or “URL”, if above exists

18.2.3. DOI Registration for deprecated Metacat API

For objects that are inserted or updated using the original Metacat API using identifiers in the form

scope.docid.rev

(e.g., “smith.1.1”) will have DOIs generated in the form

<configured doi shoulder>/scope.docid.rev

(e.g., “doi:10.5072/FK2/smith.1.1”) and registered with the same metadata as objects submitted via the DataONE API.