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
Display DOIs according to the CrossRef guidelines #421
Comments
|
Thanks for getting this started! |
|
I think this is something that should be done, although it's notable that EPrints uses the id_number field rather than a dedicated DOI field to record these. The script that renders the DOI is: https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Extras.pm#L301 This is already just using doi.org, so it's only updating to https that's required I think. |
|
Yes, looking at that code (which looks good FWIW), it should be a single character fix! |
|
Not quite - the regexp that picks up whether or not it is a DOI also needs to recognise DOIs input using the current guidelines. But it's nothing more than that. |
|
Yes, I missed that. |
|
Moreover, we should render the doi as a link (see point 1). I guess with something like my $url = "http://doi.org/$value";
my $link = $session->render_link( $url, "_blank" );
- $link->appendChild( $session->make_text( $value ) );
+ $link->appendChild( $session->make_text( $url) ); |
|
Yes, good point. |
|
Do you want to do the pull request @zuphilip or shall I? |
|
It would be great, when you can do these changes. (I am watching and learning then:-) |
|
Should not all plugins that handle DOI be adapted accordingly, e.g. the perl_lib/EPrints/Plugin/Import/DOI.pm plugin ? It is not only about rendering, but if the CrossRef guideline explained in http://blog.crossref.org/2016/09/new-crossref-doi-display-guidelines.html begins to take effect, people will paste the full DOI URL into the form (which is intended by the guideline). |
|
Agreed @mpbraendle, everywhere a DOI is expected a DOI should work, and DOIs are URLs (as per guidelines going back at least 5 years, that's the earliest archived version I could find). (EDIT: Although annoyingly they can, and are, be expressed in different ways, like |
|
OK, there are 15 files in eprints that match a search for "doi" No changes needed:
Changes needed:
Edit 17/11/16: The Import from DOI doesn't work for me - I think it requires CrossRef registration, and as a data repository, that's not something I'd ever use. Changes would improve these:
Unknown:
|
|
should we create a function accepting the input listed by @afandian and rendering correctly also, we should consider upgrading the version of URI.pm or simply remove it from our code and include as a dependency. I'm running all my repos with URI 1.71 since a while now without problems. see #416 |
|
I think if there's uncertainty around whether we're keeping URI or using a dependency, it's probably best to fix the code as it is right now, and worry about DRYing it out later. |
|
It's worth pointing out that we consistently gloss the fact that URIs and DOIs have different character repertoires [link]. I'm +1 for patching the problems now, and designing a good DRY solution for the future. |
Handles parsing and displaying of DOIs in a single authoritative way. Inspired by eprints#421
* add EPrints::DOI library Handles parsing and displaying of DOIs in a single authoritative way. Inspired by #421 * change core to use EPrints::DOI where sensible
Crossref has just announce to change the guidelines to display dois: http://blog.crossref.org/2016/09/new-crossref-doi-display-guidelines.html . This includes the following suggestions
DOI:or pseudo-protocoldoi:. Actually this is already part of the 2011 guidelines and there the background is also explained: "Previously, Crossref recommended that DOIs be displayed in the format doi:10.NNNN/doisuffix At the time that the DOI system was first envisioned, it was thought that doi: would become native to browsers and automatically resolve DOIs. It appears unlikely that that will happen."dxin the url. I guess this is already achieved with the commit dcbaa0f by @jesusbagpusshttpsoverhttpas @afandian also explained in the csl-styles discussion.Thus, the best practice according to the CrossRef, which is a common view with DataCite, is
The text was updated successfully, but these errors were encountered: