ropensci-review-tools / pkgcheck

Check whether a package is ready for submission to rOpenSci's peer-review system
https://docs.ropensci.org/pkgcheck/
18 stars 6 forks source link

Check for valid ORCID #200

Open karthik opened 6 years ago

karthik commented 6 years ago

At rOpenSci we encourage onboarding authors to add their ORCIDs to the description files. We have also been tagging reviewers (where appropriate) with their researcher IDs as well. Right now the only thing CRAN does is regex for these IDs (it does not ensure a valid id or that the id belongs to an author) and then link out to the appropriate profile via an icon on the cran package page. In the future it's conceivable that CRAN updates may result in automatic updates on author records (we are far from it, but adding ORCIDs is the first step)

These also become part of the codemeta manifest which is parsed by the codemetar package.

Proposal: Goodpractice could check that the ORCID is valid and also belongs to the author (to catch issues like multiple copy paste errors) and report out if there is a mismatch. This can be done using the orcid API, and possibly made optional. I'm happy to contribute this as a PR if you think this would be a good fit for goodpractice.

maelle commented 6 years ago

Cf https://github.com/ropensci/rorcid

karthik commented 6 years ago

The orcid api does not work without authentication, even to just check the validity of an id. One way would just be to scape the name off a page and see if it matches the desc::desc_get_author() name.

library(rvest)
urrl <- "https://orcid.org/0000-0002-0233-1757"
name <- read_html(urrl) %>% 
  html_nodes(".full-name") %>% 
  html_text()  %>% 
  gsub("[\r\n]", "", .)
mpadge commented 5 months ago

rOpenSci has now taken over maintenance of this package, as part of which we're cleaning out old issues. {goodpractice} will remain focussed on package-internal issues, so this one will be moved to our more general {pkgcheck} package.

assignUser commented 5 months ago

rOpenSci has now taken over maintenance of this package

:tada: