Project

General

Profile

Bug #5513

add support for DOI identifiers from EZID

Added by Matt Jones almost 8 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
Immediate
Category:
metacat
Target version:
Start date:
10/26/2011
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:
5513

Description

DOI identifiers can be created through the EZID service run by the California Digital Library. See:

http://n2t.net/ezid/doc/apidoc.html
https://confluence.ucop.edu/display/Curation/Identifier+Conventions

We should support the assignment of DOI identifiers for objects stored in Metacat. The current changes supporting arbitrary identifier formats in Metacat for the DataONE release should be sufficient for actually tracking the identifiers. But we also need to be able to register the identifiers with a DOI service when they are created locally. To do this, we need to decide on the appropriate model for how Metacat interacts with this service -- e.g., should we support automatic creation of DOIs for all objects as they are created? Or should we force people to use 'reserveIdentifier() with a DOI to create a DOI that they can then use to create their object. Another issue is whether we should create DOIs for all existing objects in the KNB or not.


Related issues

Blocked by Morpho - Bug #5799: publish using DOI featureNew01/22/2013

History

#1 Updated by Matt Jones almost 8 years ago

I've managed to get UCSB to agree to pay for an EZID account from CDL that we'll be able to use to programatically assign DOIs in DataCite. I'll be getting account details soon.

#2 Updated by Matt Jones almost 8 years ago

I created a new library called 'ezid' in its own project that can be used to access the EZID REST services from within Java client applications. This allows for simple method calls such as login(), createIdentifier(), mintIdentifier(), and setMetadata() to be used in applications. This is working with the EZID "apitest" testing account. We need to wait for our account to be created to make further progress on this task. Next steps are to include the built jar library in Metacat, and then use it within Metacat to create identifiers at the appropriate places.

The SVN URL for the new library is:

https://code.ecoinformatics.org/code/ezid/trunk/

#3 Updated by Matt Jones almost 8 years ago

Decisions from our (M Jones, Leinfleder, C Jones) recent discussion about incorporation of DOI identifier services into Metacat for the 2.0.0 release.

-- For content present on upgrade to 2.0.0
-- Content originating on replicating nodes: do nothing, those nodes set GUIDs & LocalId
-- Content originating on this Metacat
-- if (EZID is configured)
-- assign new DOI & register it, associate with LocalID
-- update all sytem metadata and access tables
-- otherwise, GUID = LocalId

-- For new content after upgrade
-- From DataONE service API (create, update)
-- Do nothing except generate shadow LocalID (DataONE uses GUIDs, clients should provide the right one, including DOIs)
-- From Metacat servlet API
-- if (EZID is configured)
-- reserve GUID, assign GUID on insert() & update() & upload() (but not replicate), register it with EZID
-- otherwise, GUID = LocalId

#4 Updated by ben leinfelder over 6 years ago

We still haven't done everything in that "decision" list -- should also revisit it.

#5 Updated by ben leinfelder over 6 years ago

Current status (3/13/2013):
-DOIs are minted using configured account/shoulder using MN.generateIdentifier(). EZID has these marked as "reserved"
-DOI registration is updated when object is inserted or updated, e.g., MN.create()/MN.update()

No DOIs are generated when legacy Metacat API is used for insert/update.

TODO: determine rules for including Title and Creator and where to get those values from:
-creator as SystemMetadata.rightsHolder?
-harvest Title from EML when available?

#6 Updated by ben leinfelder over 6 years ago

Now using Title from EML (dataset/title element) for those objects.
Looking up full name from CN using the SM.rightsHolder subject as the Creator.

#7 Updated by Redmine Admin over 6 years ago

Original Bugzilla ID was 5513

Also available in: Atom PDF