Skip to content

Comments

[WIP] Enh/update doi minting#3777

Draft
rwblair wants to merge 8 commits intoOpenNeuroOrg:masterfrom
rwblair:enh/update_doi_minting
Draft

[WIP] Enh/update doi minting#3777
rwblair wants to merge 8 commits intoOpenNeuroOrg:masterfrom
rwblair:enh/update_doi_minting

Conversation

@rwblair
Copy link
Collaborator

@rwblair rwblair commented Feb 17, 2026

The newer datacite api uses a package/library called api to generate an sdk. I generated the code in packages/openneuro-server/.api/ with the following command:
npx api install "@datacite/v1.6#dfne24mkb9mow0"

I'm not sure where the best place for the generated api to live is, probably not there.

deepEquals should move or be replaced by an existing implementation.

The minimal working version of the PR would junk everything below updateDois in _index.ts, finish the expansion of what metadata we want added to datacite entries, and hopefully be able to replace the current indext.ts updateDois directly. Beyond that would be Isolating metadata collection/generation from doi api calls. Integrating that isolated collection function with datacite-utils, adding script to check/fix existing doi entries on datacite.

Potential datacite fields we could populate:

  • FundingReference - The state of Funding entries in dataset_descriptions.json is too variable to use this.
  • RelatedIdentifier - This could be used for ReferencesAndLinks, we'd need regex for URLs and for DOIs to determine the relatedIdentifierType. The closest to a one size fits all for relationType would be isReferencedBy. Though sometimes another one might be more appropriate.
  • Size - should be straight forward,. Or not, do you include derivatives or ignored files in this?
  • Version - Use the git tag for this. Not sure how useful this would be.
  • Rights - conditionally pull from either dataset_description.json License, or existing LICENSE file.
  • Description - We could use README files in this field in addition to dataset_description.json we are currently using. descriptionType TechnicalInfor calls out readmes specifically (compare to Abstract type we currently use.

From dataset_description.json I'm not sure HowToAcknowledge and Acknowledgements have good datacite versions, especially given their free form nature.

@rwblair rwblair marked this pull request as draft February 17, 2026 17:03
@codecov
Copy link

codecov bot commented Feb 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 62.71%. Comparing base (0d2351d) to head (fc525d6).
⚠️ Report is 151 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #3777       +/-   ##
===========================================
+ Coverage   42.84%   62.71%   +19.87%     
===========================================
  Files         640       75      -565     
  Lines       34334     3774    -30560     
  Branches     1544       96     -1448     
===========================================
- Hits        14711     2367    -12344     
+ Misses      19484     1405    -18079     
+ Partials      139        2      -137     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant