Does any body know about a method to check journal’s DOIs?
DOI plugin (at least in 2.4.5 version) reports that something is submitted, but don’t say nothing about if goes well or not.
Furthermore, urls can change in time (making DOI fail).
As a fast solution, I’m thinking in a bash script taking all the DOIs from and curl-ing against “https://dx.doi.org” to see if response is from doi.org domain (fail) or something else (succeed)… but I’m pretty sure somebody else had this need before, isn’t it?
Your DOI registration authority (CrossRef, EZID?) is probably providing (or able to provide) error reports which describe broken DOIs. For example, CrossRef sends a “Resolution Report for prefix” email which describes successful and failed resolution attempts, and their service agreement requires maintaining a low failure rate.
If you have a journal which changes the URL syntax, a best practice is to re-register all DOIs for that journal to ensure the URLs are up-to-date with the registration authority.
We are also working with CrossRef and we get their reports, but…
a) They only list the number of visits of each DOI and the DOIs reported as failure by our visitors. Wrong DOIs (not reported by visitors or enabled at OJS but not submited) are not listed.
b) I don’t want to wait till CR send the monthly report.
I think I will go with the script… With minor changes, this will do the job:
Create a file with a list of the DOIs you like to check (just DOIs, not the full url). Pe:
10.5565/rev/athenea.397
10.5565/rev/anError
10.5565/rev/athenea.682
10.5565/rev/
Note: You can get a full list of your journal’s DOIs checking the “article_settings” table in you DB.
Run the script… and you will get the list with the returned code as a prefix, like this:
Hi @ctgraham… I was happy to help you this time when you are usually the live saver, but about the script, I think it could have side effects.
If I understand well how CrossRef (CR) is working, each time “doi.org” get an error, is reported to CR, so running this script could increase your monthly report of fails, isn’t it?
It’s not a drama, but taking in consideration how fussy is CR with the “low failure rate” I’m looking for a different approach. Does any body know if there a tool somewhere (doi.org, CR…) to make those tests without adding noise the reports?
If we find it, a “check my dois” would be a nice addition to the DOIs plugins. @bozana, what do you think?
A lot of CR improvements (also status check) will come with this issue: Improve Crossref statuses · Issue #1498 · pkp/pkp-lib · GitHub. It is actually finished, it just has to be tested once again.
This however considers only CR API i.e. if an URL (or any other metadata) changes, the user is responsible for a new DOI registration i.e. update. If updated, the current status of that last registration attempt will be checked.
There is a slight time difference after the deposit processing completed successfully and DOI being active. If somethings goes wrong in this slot of time, the CR API would show that the DOI is active (the old one, with the old URL), although the second one, with the new URL is still not active. Thus, for this kind of situations (or maybe also to remind the user that an update is needed) it would maybe be good to have an extra check e.g. to check the dx.doi.org resolving.
Once we merge the current changes I could take a look at this too…