Skip to content

Setup DOI Minting via DataCite’s API #1223

@aaronskiba

Description

@aaronskiba

Summary

Implement integration with the DataCite REST API to mint DOIs for DMP versions (plan_snapshots) when they are published.

Details

.published_visibility

  • A DOI is minted only when plan_snapshot.published_visibility == 'public'

API Integration

  • Likely use HTTP POST for all minting actions
    • Each published version receives a new DOI.
    • DOIs are never updated (no PUT/PATCH).

Versioning & DOI Relationships

  • Link versioned DOIs to each other and to the canonical DOI via DataCite’s versioning guide.

  • Canonical DOI (plan_snapshot.plan)

    • Minted when the first public snapshot is published.
    • Associated with the underlying plan.
    • Tracks all version DOIs via hasVersion.
  • Version DOI (plan_snapshot)

    • Minted for each public plan_snapshot.
    • References the canonical DOI via isVersionOf.
    • References the previous version via isNewVersionOf if one exists.
  • Sequential linking

    • Use isNewVersionOf / isPreviousVersionOf to connect consecutive snapshots.
    • Only the previous version DOI needs updating; new version sets its link at creation.
  • Updating Metadata When Minting New Versions

    • Update canonical DOI hasVersion list to include the new version DOI.
    • If a previous version DOI exists, update that DOI by adding isPreviousVersionOf pointing to the new version DOI.
  • Initial Version Publication

    • When publishing the first public snapshot of a plan:
      1. Mint the canonical DOI for the underlying plan.
      2. Mint the version DOI for the snapshot, referencing the canonical via isVersionOf.
      3. Update the canonical DOI’s hasVersion list to include this first version DOI.

Implementation Notes

API Integration

  • Reference existing DMPTool integration code for guidance:

Metadata Schema

Lifecycle

  • Canonical DOI (if implemented) may be minted when the first version is published and linked to subsequent versions.
  • Atomicity: Consider wrapping snapshot creation and DOI minting in a single transaction:
    • If DOI minting fails, rollback the snapshot save.
    • If snapshot save fails, DOI is never attempted.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions