Peter Binkley
Digital Initiatives Technology Librarian
University of Alberta Libraries

Google Scholar OpenURLs - Firefox Extension

Current version: 0.1 (30 Nov. 2004)
New bookmarklet: 2 Dec. 2004

This extension adds OpenURL 0.1 buttons to the results of a search in Google Scholar. The result looks like this:

Screen shot

The purpose is to enable users at an institution that has an OpenURL link-resolver to use that resolver to locate the full text of articles found in Google Scholar, instead of relying on the links to publishers' websites provided by Google. This is important because it solves the "appropriate copy problem": the link to a publisher's site is useless if you don't have a subscription that lets you into that site, and your library may provide access to the same article in an aggregator's package or elsewhere. In the example in the screenshot, for example, our link-resolver will give the same link into Blackwell-Synergy but also a link to the same article in Academic Search Premier. If we didn't subscribe to Blackwell-Synergy, the OpenURL link is the user's only lifeline to full text.

The best division of labour, therefore, is to let Google Scholar help you find a citation, and let your local link-resolver get you from there to the full text.

This extension builds an OpenURL using the metadata that it parses out of Google Scholar's citation. This metadata is limited to the article title, author, journal title, and year of publication. This means you'll get a journal-level link, filtered by date of publication, rather than an article-level link. It is not always possible to distinguish articles from books in Google Scholar, so some of the OpenURL links will be invalid (e.g. treating the publication information for a book as the title of a journal). No doubt further tweaking could improve this.

But the ultimate solution is to have Google build the OpenURLs. If Google knows the volume and issue numbers and the starting page number, then a proper article-level link could be built. It would also help to have the ISSN. But whatever the metadata, all that is required is for Google to let me register the base url of my institution's link resolver and some associated info (see below). Google Scholar would then build appropriate OpenURL links to my resolver for all my search results.

Paul Pival has blogged about similar desirable functionality to make Google Scholar work with every user's EZProxy server. Ideally Google Scholar would implement both ideas, so that Google Scholar would be fully integrated into the local access systems of every institution. I haven't built any EZProxy functionality into this extension, but it could easily be added.


Download the current extension package, and open it in Firefox (version 1.0 or later) to install it. Close Firefox and restart it to complete the installation. When you visit Google Scholar, you'll see University of Alberta OpenURL links under any hit whose title is a link. Feel free to try this out, but please don't hammer our link-resolver! (It's only a hit on our server if you click on the button).


No doubt you would rather have it point to your own link-resolver. To do this, you'll have to edit a file within the extension. (This is my first attempt at a Firefox extension and I haven't learned how to make it more easily configurable.) The easiest way to do this is to download the source files, make the changes, and rebuild the extension package. It's not at all difficult to do.

Unzip the source package, being sure to include paths. You'll end up with a directory "googlescholaropenurl" which contains a couple of files and another directory "chrome". Navigate down to "chrome\content\googlescholaropenurl" and find the file "browserOverlay.js". Open it in your favorite text editor and edit the four variables at the top of the file:

var baseurl = "";
var button = "";
var sid = "ualberta:googlescholaropenurl";
var alttext = "Get It!";

Insert the appropriate values for your link-resolver. Save the file and rebuld the package, according to the instructions at All you need to do is create the file "build.bat" in the top directory "googlescholaropenurls" by cutting and pasting, install 7-Zip (so that it is on your path), and run "build.bat". A new .xpi file will be created. Uninstall the old extension (if you've installed it), and install the new one.

If you prefer, you can edit the package directly. You can do this before or after installation:

Whichever way you do it, you'll end up with "browserOverlay.js". Open it in your favorite text editor and edit the four variables, as described above. Save the file, reinsert it into "googlescholaropenurl.jar" (be sure to get the path right: it must be "content\googlescholaropenurl\browserOverlay.js"), and (if you're doing this before installation) reinsert the jar file into the xpi file. Restart Firefox and you should be good to go.

Note: if you have set Firefox to load images only from the originating website, you won't see the button graphics. Go to Tools, Options, Web Features, and uncheck "...for the originating website only", or make an Exception. (Thanks for Randy Reichardt for pointing this out).


(Added 2 Dec. 2004). Here's a bookmarklet that implements the same functionality as the Firefox extension and more. It is based on Art Rhyno's proxy bookmarklet and provides both the proxied links and the OpenURL buttons.

I've tested it in Firefox 1.0 and Internet Explorer 6.0. My part of the code is still not production-ready (try clicking the bookmarklet twice to see one reason why), but it's interesting.


Drag the following link to the links toolbar of your browser: GS Local. This bookmarklet includes a link to the script that will provide the University of Alberta localizations. Search Google Scholar and click the bookmarklet. Note: you should uninstall the Firefox extension, or you'll get two OpenURL buttons.


To localize the bookmarklet for your institution, download the source code and modify the variables at the top of the file as described above. Make it available on a local server, and modify the javascript in the bookmarklet to point to your version instead of mine.


Comments and suggestions are welcome: send them to I don't plan on putting more development work into this extension but if anyone else wants to, I'd be happy to post the results.


In writing this extension I learned a lot from Edward Ackroyd's GooglePreview extension and from roachfiend's Creating Firefox extensions.

Last update: 2004-11-30