opensafely-core / opensafely-core/reports

Autogenerated DOIs

Open
#273 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
1
Avg merge
1d 22h
Merged PRs (30d)
5

Description

See #65 for notes on CrossRef DOIs.

Currently there is a DOI field on a report's admin page, and it is up to the researcher to go to CrossRef, generate the DOI for their report by completing the web form, and enter it manually on the admin page (see also docs). The admin page generates a DOI suffix to be used for the report (but doesn't enforce it).

We should be able to autogenerate DOIs using CrossRef's API (see #65 for some initial notes). This should only be possible for a published report (as DOI landing pages must be publicly accessible). We might not ALWAYS want to create a DOI for a report, so it shouldn't be completely automatic on saving the report. Options:

  • Have an interim confirmation page so the researcher can confirm/cancel the DOI submission
  • Make it admin object action, so researchers can click a button/link to do the DOI submission.

Also consider making the DOI generation a separate package that can be used in other projects (e.g. opencodelists)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with issue #65 and the report admin DOI workflow, including the linked DOI documentation, then review how published reports expose their landing pages. Define the CrossRef API flow and choose between a confirmation page and an admin action, with DOI creation restricted to published reports and optional rather than triggered on every save.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.