190 lines
7.9 KiB
HTML
190 lines
7.9 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<meta charset="utf-8">
|
||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||
<meta content="width=device-width, initial-scale=1" name="viewport">
|
||
<link href="../../old/assets/style/styles.css" rel="stylesheet" type="text/css">
|
||
<!--[if lt IE 9]>
|
||
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||
<![endif]-->
|
||
<script>
|
||
(function() {
|
||
var s, scheme, wf;
|
||
|
||
this.WebFontConfig = {
|
||
google: {
|
||
families: ['Amaranth:700,700italic:latin', 'Inconsolata::latin']
|
||
}
|
||
};
|
||
|
||
wf = document.createElement('script');
|
||
|
||
scheme = 'https:' === document.location.protocol ? 'https' : 'http';
|
||
|
||
wf.src = scheme + "://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js";
|
||
|
||
wf.type = 'text/javascript';
|
||
|
||
wf.async = 'true';
|
||
|
||
s = document.getElementsByTagName('script')[0];
|
||
|
||
s.parentNode.insertBefore(wf, s);
|
||
|
||
}).call(this);
|
||
</script>
|
||
|
||
<title>Resolving DOIs with green OA copies | eRambler</title>
|
||
<link href="https://erambler.co.uk/rss.xml" rel="alternate" type="application/rss+xml">
|
||
</head>
|
||
<body class="single-post">
|
||
<div id="container">
|
||
<header class="page-header">
|
||
<hgroup>
|
||
<div class="h1"><a href="../../">eRambler</a></div>
|
||
<div class="lead">Jez Cope's blog on becoming a research technologist</div>
|
||
</hgroup>
|
||
<nav><ul>
|
||
<li><a href="../../">Home</a></li>
|
||
<li><a href="../../about/">About</a></li>
|
||
<li><a href="../../blogroll/">Blogroll</a></li>
|
||
</ul>
|
||
</nav>
|
||
</header>
|
||
<section>
|
||
<div class="row">
|
||
<p class="archive-warning"><strong><em>Please note:</em></strong> this older content has been <strong>archived</strong> and is no longer fully linked into the site. Please go to the <a href="../../">current home page</a> for up-to-date content.</p>
|
||
</div>
|
||
<div id="content">
|
||
<article class="h-entry">
|
||
<div class="row">
|
||
<h1 class="post-title p-name">Resolving DOIs with green OA copies</h1>
|
||
</div>
|
||
<div class="row">
|
||
<div class="post-info">
|
||
<div class="post-date dt-published">
|
||
<a class="u-url" href="http://erambler.co.uk/blog/from-doi-to-open-access/">Thursday 7 March 2013</a>
|
||
</div>
|
||
Tagged with
|
||
<ul class="post-tags">
|
||
<li class="p-category"><span class="tag">DOI</span></li>
|
||
<li class="p-category"><span class="tag">Open access</span></li>
|
||
<li class="p-category"><span class="tag">Open scholarship</span></li>
|
||
<li class="p-category"><span class="tag">OAI-PMH</span></li>
|
||
<li class="p-category"><span class="tag">Programming</span></li>
|
||
<li class="p-category"><span class="tag">Ruby</span></li>
|
||
<li class="p-category"><span class="tag">Sinatra</span></li>
|
||
<li class="p-category"><span class="tag">Things I made</span></li>
|
||
</ul>
|
||
</div>
|
||
<div class="post-body">
|
||
<div class="post-content e-content">
|
||
<p>The other week I was at a <a href="http://orbital.blogs.lincoln.ac.uk/2013/02/27/ckan-for-rdm-workshop/">gathering of developers, librarians and researchers with an interest in institutional data repositories</a>. Amongst other things, we spent some time brainstorming the requirements for such a repository, but there was one minor-sounding one that caught my imagination.</p>
|
||
|
||
<p>It boiled down to this question: given only the <a href="http://en.wikipedia.org/wiki/Digital_object_identifier">DOI</a> for a published article (or other artefact), how do you find an open access copy archived in an institutional repository? Some (rather cursory) Googling didn’t come up with an obvious solution, so I thought “How hard can it be to implement?”.</p>
|
||
|
||
<p>All that’s required is a database mapping DOIs onto URLs, and a spot of glue to make it accessible over the web. The data that you need is freely available in machine-readable format from most repositories via <a href="http://en.wikipedia.org/wiki/Open_Archives_Initiative_Protocol_for_Metadata_Harvesting">OAI-PMH</a>, so you can fill up the database using that as a data source.</p>
|
||
|
||
<p>So, without further ado here it is:</p>
|
||
|
||
<ul>
|
||
<li><a href="http://doi2oa.erambler.co.uk">Open Access DOI resolver</a></li>
|
||
</ul>
|
||
|
||
<p>A few caveats:</p>
|
||
|
||
<ol>
|
||
<li>I don’t get much chance to write code at work at the moment, so this was an opportunity to exercise under-used brain muscles and learn some new stuff. It could probably be done better (and the <a href="http://github.com/jezcope/doi2oa">source code</a> is on github, so feel free to fork it and add improvements). It’s written in <a href="http://ruby-lang.org/">Ruby</a> using the awesome <a href="http://sinatrarb.com/">Sinatra</a> web framework.</li>
|
||
<li>It’s currently hosted on <a href="http://heroku.com/">Heroku</a>’s free starter-level service, so there’s very little capacity. It therefore only includes DOI’s from the University of Bath’s <a href="http://opus.bath.ac.uk">Opus</a> repository, and the database is full.</li>
|
||
</ol>
|
||
|
||
<p>Go try it out and let me know what you think. If it’s useful, I’ll look into how I can make it more robust and resolve more DOIs.</p>
|
||
|
||
</div>
|
||
<div id="disqus_thread"></div>
|
||
<script>
|
||
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
|
||
var disqus_shortname = 'erambler'; // required: replace example with your forum shortname
|
||
var disqus_identifier = 'tag:erambler.co.uk,2013-03-07:/blog/from-doi-to-open-access/';
|
||
var disqus_title = 'Resolving DOIs with green OA copies'
|
||
var disqus_url = 'http://erambler.co.uk/blog/from-doi-to-open-access/';
|
||
var disqus_developer = 0;
|
||
if (window.location.hostname == 'localhost')
|
||
disqus_developer = 1;
|
||
|
||
/* * * DON'T EDIT BELOW THIS LINE * * */
|
||
(function() {
|
||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
|
||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||
})();
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</article>
|
||
</div>
|
||
<div id="sidebar">
|
||
<div class="sidebar-box about-me h-card">
|
||
<p>Hi, I’m <a href="http://erambler.co.uk" class="p-name u-url">Jez Cope</a> and this is my
|
||
blog, where I talk about technology in research and higher
|
||
education, including:</p>
|
||
|
||
<ul>
|
||
<li>Research data management;</li>
|
||
<li>e-Research;</li>
|
||
<li>Learning;</li>
|
||
<li>Teaching;</li>
|
||
<li>Educational technology.</li>
|
||
</ul>
|
||
</div>
|
||
<div class="sidebar-box links">
|
||
<h2>Me elsewhere</h2>
|
||
<ul>
|
||
<li><a href="https://twitter.com/jezcope" rel="me">Twitter</a></li>
|
||
<li><a href="https://github.com/jezcope" rel="me">github</a></li>
|
||
<li><a href="https://linkedin.com/in/jezcope">LinkedIn</a></li>
|
||
<li><a href="http://diigo.com/user/jezcope">Diigo</a></li>
|
||
<li><a href="https://www.zotero.org/jezcope">Zotero</a></li>
|
||
<li><a href="http://gplus.to/jezcope">Google+</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<footer><a class="license" href="http://creativecommons.org/licenses/by-sa/4.0/" rel="license">
|
||
<img alt="Creative Commons License" src="http://i.creativecommons.org/l/by-sa/4.0/88x31.png" style="border-width:0">
|
||
</a>
|
||
<span href="http://purl.org/dc/dcmitype/Text" property="dct:title" rel="dct:type" xmlns:dct="http://purl.org/dc/terms/">
|
||
eRambler
|
||
</span>
|
||
by
|
||
<a href="http://erambler.co.uk/" property="cc:attributionName" rel="cc:attributionURL" xmlns:cc="http://creativecommons.org/ns#">
|
||
Jez Cope
|
||
</a>
|
||
is licensed under a
|
||
<a href="http://creativecommons.org/licenses/by-sa/4.0/" rel="license">
|
||
Creative Commons Attribution-ShareAlike 4.0 International license
|
||
</a>
|
||
</footer>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<script>
|
||
if (!/^http:\/\/localhost/.test(window.location)) {
|
||
var _gaq = _gaq || [];
|
||
_gaq.push(['_setAccount', 'UA-10201101-1']);
|
||
_gaq.push(['_trackPageview']);
|
||
|
||
(function() {
|
||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||
})();
|
||
}
|
||
</script>
|
||
|
||
</body>
|
||
</html>
|