Thanks. That's what I thought (though I was somewhat confused by the
different behaviors of winbuilder on the current and development
versions). I think the original DESCRIPTION file (from 2017?) just had
the URL. Some time after that, CRAN asked for the inclusion of the DOI,
but they didn't say to get rid of the URL. The code itself hasn't been
touched since at least 2019 (since it still works exactly the way it is
supposed to.)
And, becauseI have been both finding and losing things on the Internet
for several decades, I am not particularly confident that the DOI is
going to have a significantly longer stable lifetime than the NCBI URL.
So, for now at least, I think I will leave them both.
Best,
Kevin
On 4/7/2025 11:35 AM, Ivan Krylov wrote:
В Mon, 7 Apr 2025 11:10:21 -0400
"Kevin R. Coombes" <kevin.r.coom...@gmail.com> пишет:
But version R 4.5.0 RC comes back with;
(possibly) invalid URL. Status: 403 Message: Forbidden
I copied the URL as reported in the error message, pasted it into my
browser, and it worked just fine.
Can I assume that this is just something weird about the
corresponding winbuilder server at the moment, and go ahead and
submit the package?
This is a false positive. R CMD check sends automated requests to all
URLs it finds in the package. PubMed "protects" itself from automated
requests and returns an error code:
$ curl -I https://pmc.ncbi.nlm.nih.gov/articles/PMC2730180/
HTTP/2 403
content-length: 134
content-type: text/html; charset=UTF-8
date: Mon, 07 Apr 2025 15:14:59 GMT
alt-svc: clear
Using a browser instead results in subtly different behaviour visible
to the server, so the page loads successfully when clicking a link.
I see you're already linking to the article's DOI, 10.4137/cin.s2846,
and the article is not paywalled. Is it an option to remove the PubMed
link? There is code that is intended to recommend to only use the DOI,
but currently doesn't include a pattern for the new PubMed URLs:
if(length(y) &&
any(ind <-
(grepl(re_or(c("^https://pubmed.ncbi.nlm.nih.gov/[0-9]+",
"^https://www.ncbi.nlm.nih.gov/pmc/articles/PMC[0-9]+/$",
"^https://academic.oup.com/.*(/[0-9]*){4}$",
"^https://www.sciencedirect.com/science/article")),
y$URL)))) {
## <FIXME>
## Ideally we would complain about such URLs in general
## and not only when the URL checks were not OK.
paste(c("Please use DOIs for the following publisher URLs:",
paste0(" ", y$URL[ind])),
collapse = "\n")
## </FIXME>
}
If you don't want to remove the PubMed link, you can explain the
"possibly invalid URL" as a false positive in the submission comment.
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel