opensafely-core / opensafely-core/reports
Autogenerated DOIs
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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