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

DOI for all reports #65

Closed
benbc opened this issue May 18, 2021 · 5 comments
Closed

DOI for all reports #65

benbc opened this issue May 18, 2021 · 5 comments
Assignees

Comments

@benbc
Copy link
Contributor

benbc commented May 18, 2021

Jess is contact for this.

probably via Crossref. Peter is doing some work to do this for code lists in opencodelinsts

@rebkwok rebkwok self-assigned this May 28, 2021
@rebkwok
Copy link
Contributor

rebkwok commented Jun 2, 2021

Adding some notes as I investigate CrossRef:

CrossRef setup

  • Jess has contacted finance for required details/billing info for CrossRef registration (19th May, follow up by me on 1st June). We can't get much further until we manage to get a response from them.
  • Once registered, we will have a CrossRef prefix assigned

Adding DOIs to Reports

  • Collect report metadata when setting up a report
    • can we assume "contributors" for the report metadata is always the same as report "authors", and report title is always the title required for the DOI?)
    • Related 1:1 model or additional fields on the Report?
  • Identify relevant types of deposits (possibly just report-paper) and metadata that we need to collect - see https://data.crossref.org/reports/help/schema_doc/4.4.2/index.html
  • Landing page urls for metadata - use the report url without a cache token (will always redirect to the latest); assumes for now that all reports are publicly available, so the report url will contain the full text of the report. If/when we have published reports that are only available behind a login, we'll need a separate publicly available landing page
  • Report metadata shouldn't be required for draft reports
  • When making a report non-draft, report metadata should be required, so every published report has a DOI
  • Saving a report should generate and validate XML against CrossRef schema and submit the metadata deposit (via http post)
    • Generating XML via jinja2 seems the simplest way (and is quite nice because we can set up a template that is easy to check visually against the CrossRef schema) ; could look at lxml or etree if we want to generate it in python code rather than templating it
  • Interim confirmation page so that admins need to review and confirm the metadata before it's submitted to CrossRef? Or at least just confirm that they're aware they're generating the DOI?
  • Need a system for generating DOI suffixes that meets CrossRef suggestions
    • opaque
    • concise
    • consistent (i.e. understandable and not randomly generated)
    • extensible
    • case insensititve and approved characters only (“a-z”, “0-9” and “-._;()/”)
  • Background task that polls CrossRef until DOI is available so the DOI is only displayed when it's ready? We generate the DOI url ourselves, so we could just display it immediately, but then we'll have broken links for a while until CrossRef process the deposit)
  • Updating metadata for a report re-submits the DOI deposit (updates are made by re-posting the full xml again)

Additional required data on report page (landing page)

https://www.crossref.org/documentation/member-setup/creating-a-landing-page/

  • DOI
  • Full bibliographic citation (report front matter may be enough?)

@rebkwok
Copy link
Contributor

rebkwok commented Jun 2, 2021

report-paper metadata

Fields that are available for report-paper metadata, which seems the most likely candidate for a Report DOI, plus comments/questions

head

  • doi_batch_id (autogenerated, uuid)
  • timestamp (autogenerated, datetime of deposit)
  • depositor (name and email; can we use "OpenSAFELY" and "[email protected]" for all?)
  • registrant (organisation that owns the info being registered - OpenSafely? BennetInstitute? Uni of Oxford?)

body

  • contributors
    • one or more; populate from comma separated list of authors?
    • Possibly split out authors field on report into separate model with FK to report?
    • Can be organization or person name - do we need to allow for organizations as contributors?
    • For people, attributes/fields:
      • role (author/editor), sequence (first/additional), given_name (initials or surname), first_name, suffix (name suffix only, not degree), affiliation (can be multiple), ORCID (do we need/want this?)
  • titles (the field allows multiple, assuming we only need one per report)
  • edition number (always 0, given it's online, and the schema docs state publishers expect to continually update only versions without changing edition number?)
  • publication date (media_type attribute="online")
  • approval date (omit this?)
  • institution (an organization that sponsored or hosted the research or development of the published material but was not actually the publisher of the information; in report-paper this replaces "publisher" for books; can be multiple)
  • publisher_item: item number (internal ref) and/or identifier (public standard). Possibly not required
  • contract_number: the contract number under which the report was written (is this funding refs?)
  • doi_data:
    • doi (autogenerated?, doi prefix/suffix)
    • resource (autogenerated, report base url on reports.opensafely.org)
  • citation_list: a list of articles etc cited by the Report. If they already have a DOI, citations can be included using the DOI only. Otherwise, they can be either marked up (in which case we need a form to supply the various elements and construct the xml) or unstructured (submitted as a simple string)

@rebkwok
Copy link
Contributor

rebkwok commented Jun 2, 2021

Of course, the other option is that researchers go to CrossRef and generate their DOI by filling in CrossRef's web form, and just add it to a DOI field on the Report

@rebkwok
Copy link
Contributor

rebkwok commented Jun 7, 2021

Still chasing finance (PHC post award)
We should probably do ⬆️ as MVP and investigate whether it's worth the effort of setting up auto-generated DOIs

@rebkwok
Copy link
Contributor

rebkwok commented Mar 11, 2022

Of course, the other option is that researchers go to CrossRef and generate their DOI by filling in CrossRef's web form, and just add it to a DOI field on the Report

This was the final solution for intial report DOIs. Autogenerated reports may still be required in future, but that's now moved to a new issue - see #273

@rebkwok rebkwok closed this as completed Mar 11, 2022
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

No branches or pull requests

2 participants