zotero / translators

Zotero Translators
http://www.zotero.org/support/dev/translators
1.24k stars 747 forks source link

Pubmed translators should use eutils service for translation-server (v flag) requests. #3118

Open mvolz opened 1 year ago

mvolz commented 1 year ago

PubMed has blocked us :( probably because we should be using their eutils service for translation-server requests per their TOS page: https://www.ncbi.nlm.nih.gov/home/about/policies/

To solve the general case for other people using translation-server, I'm thinking there should be a separate translator just for translation server that just has the (v) flag, and then the v can be removed from the other translators (PubMed/PubMed Central)?

https://www.ncbi.nlm.nih.gov/pmc/tools/get-metadata/

Could use either the json or the xml...

dstillman commented 1 year ago

Not sure what you mean here. The PubMed translator already uses eutils, and I think always has. Possible there's something to update for a higher rate limit, though — the current params are likely many years old. (We should probably also set it up so that third-party projects don't pass "Zotero".)

adam3smith commented 1 year ago

The web translator does load item pages, though, and we're using those (https://github.com/zotero/translators/blob/master/PubMed.js#L65 ). Could we set up translator server to parse the PMID and use the search translator instead?

Edit: I think that's what we do for DOI URLs already?

mvolz commented 1 year ago

The web translator does load item pages, though, and we're using those (https://github.com/zotero/translators/blob/master/PubMed.js#L65 ). Could we set up translator server to parse the PMID and use the search translator instead?

Edit: I think that's what we do for DOI URLs already?

That was my first thought, but then I wondered if there was a way to do that with translators without carving out an exception. If it's done with dois already, though, that might be the way forward (in which case... wrong repo for this, whoops.)

(We should probably also set it up so that third-party projects don't pass "Zotero".)

Yeah, similar to how the crossRef config is done where you can use your own credentials.

dstillman commented 1 year ago

So the concern is when people paste in a PubMed URL rather than a PMID?

We'd happily take a patch to do this like cleanDOIFromURL.

mvolz commented 1 year ago

Here is a pr just for pmid urls -

https://github.com/zotero/translation-server/pull/161

I don't see a super clean way to do this with books/pmcid urls other than use the pubmd id converter here as well... would that be something we could do? https://www.ncbi.nlm.nih.gov/pmc/tools/id-converter-api/