Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow users to reserve a DOI #2578

Open
robyngit opened this issue Dec 5, 2024 · 1 comment
Open

Allow users to reserve a DOI #2578

robyngit opened this issue Dec 5, 2024 · 1 comment
Labels
editor enhancement Requested by: Hosted repo Features requested by a DataONE hosted repository Smithsonian Issues related to the Smithsonian Research Data Repository

Comments

@robyngit
Copy link
Member

robyngit commented Dec 5, 2024

Currently, users must rely on R or Python to reserve a DOI, but there’s been a request to add this capability directly in the UI. ESS-Dive already offers this feature so we should look into how they implemented it. This feature would be valuable for the Smithsonian community.

Considerations

  • Include a repository-level setting to control who can reserve DOIs.
  • Design how reserved DOIs can be applied to published datasets.
@robyngit robyngit added enhancement editor Requested by: Hosted repo Features requested by a DataONE hosted repository Smithsonian Issues related to the Smithsonian Research Data Repository labels Dec 5, 2024
@mbjones
Copy link
Member

mbjones commented Dec 6, 2024

I think this is an excellent feature, and one useful to many repositories. The key infrastructure is already in place, and the main things we'd need to do is to:

  1. determine where to store the reserved identifier for later use
  • I note that the CN.reserveIdentifier() and CN.hasReservation() methods are likely already implementing this kind of functionality on the CN side, which could be ported into the MN implementation in Metacat.
  1. determine who is able to use that identifier in a create() or update() call to Metacat. Here are some possible pathways:
  • user reserves doi:10.0000/yyyy for dataset with PID-1; same user comes back later and clicks 'publish` and the reserved DOI is used in an update() on the most recent PID in that version chain
    • user reserves doi:10.0000/yyyy for dataset with PID-1; same user comes back later and clicks **'request publish** which sends a message to the curation team; the curation team then can click 'publish with the reserved DOI which is used in an update() on the most recent PID in that version chain

Who can do what should probably be configurable on a per-repository basis.

This is all related to the lifecycle workflow we discussed in #2205 -- here's a modified version of that workflow that might include some of these options:

From #2205 (comment)

stateDiagram-v2
    [*] --> Draft: New
    Draft --> DOIReserved: reserveIdentifier
    DOIReserved --> Draft
    Draft --> Draft: Save
    Draft --> [*]: Delete
    review : In review
    rev_request: Review requested
    Draft --> rev_request: Review
    rev_request --> review: StartReview
    review --> Draft: RequestRevision
    review --> Approved: Approve
    Approved --> Published: Publish
    Published --> Draft: Edit
    Published --> [*]
Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
editor enhancement Requested by: Hosted repo Features requested by a DataONE hosted repository Smithsonian Issues related to the Smithsonian Research Data Repository
Projects
None yet
Development

No branches or pull requests

2 participants