The simplest use of the Router is simply making openurl.ac.uk the base URL for an OpenURL request (see example below).
The IP address of the request or UK federation scope is used to identify the user's institution, and the user's browser is redirected to their resolver.
If you use UK federation authentication, we advise that you add the UK federation scope for the user's organisation to the request (see identifier options (http://openurl.ac.uk/doc/implement.html#idval)); this ensures fast and transparent links to the users' resolvers.
Example link using the OpenURL Router:
http://openurl.ac.uk/?genre=article&issn=0001-5903&volume=37&issue=3&spage=193&date=2000
The OpenURL Router is intended to let you provide OpenURL links to the appropriate resolver for any user in the UK HE and FE community, without requiring you to implement or maintain lookup tables to hold any of this information. The Router is funded on behalf of the user community by the JISC (http://www.jisc.ac.uk) and is free of charge to all service providers.
The Router provides a registry of UK HE and FE resolvers, populated and maintained by the resolver administrators. Because the information is held in one location, this reduces the effort required to your customers to establish OpenURL links from your service, and gives them the helpdesk service provided by EDINA (http://edina.ac.uk). The helpdesk service is of course also available to service providers who employ the Router for their OpenURL linking.
The quickest and easiest implementation is to simply use the Router as the base URL for all OpenURL requests, and rely on it to redirect each user to the appropriate resolver. Alternatively you can look up the resolver details held in the Router registry, and use these to create OpenURL links direct from your service to the appropriate resolver.
The generic form of requests to the Router is
http://openurl.ac.uk/[action/[identifier:value/]+][?openurl_query]
where action defined the function the Router should perform, and one or more identifier:value pairs identify the user's institution. These parameters are included within the Router path (i.e. to the left of the ?) so they are part of the base URL, and are clearly separated from the OpenURL query string. This means that OpenURL queries can be generated by existing code in the form that they should be delivered to the end user's resolver: the Router does not require any special values to be added to the query, and the Router will not process or alter the queries you generate.
openurl_query is the normal OpenURL query string. Whatever query is provided here will be sent without alteration to the end user's resolver.
This defines the action that the Router should perform. This is optional and defaults to redirect, but a value should always be specified unless using the simplest form of request, e.g. http://openurl.ac.uk/?genre=journal&issn=0001-5903
These help to identify the user's institution. In particular a UK federation scope will avoid the need for an IP address check, ensuring access to users' resolvers when working away from their institution, and avoiding the risk of slow or unsuccessful reverse DNS lookups.
We will consider adding other identifier schemes that are useful to the community.
Simple form of request that can be used for an OpenURL link in a web page. The Router responds with a redirect to the end user's OpenURL resolver, found from the IP address of the request or via the value set by the user in the WAYF.
http://openurl.ac.uk/?genre=journal&issn=0001-5903
http://openurl.ac.uk/redirect/?genre=journal&issn=0001-5903
A request that provides a button image for a link:
http://openurl.ac.uk/button/
A request suitable for an OpenURL link (above) and a button image (below), which specify the UK federation scope:
http://openurl.ac.uk/redirect/ukfed:ed.ac.uk/?genre=journal&issn=0001-5903
http://openurl.ac.uk/button/ukfed:ed.ac.uk/
Sample HTML for a link:
<a href="http://openurl.ac.uk/redirect/ukfed%3Aed.ac.uk/?genre=journal&issn=0001-5903">
<img src="http://openurl.ac.uk/button/ukfed%3Aed.ac.uk/" alt="find full text"></a>
A registry lookup enables you to retrieve details of the end user's OpenURL resolver base URL, plus the preferred button image and "alt" text. This can be performed as often as required to construct OpenURL links, but to reduce your server load it probably makes sense to perform it when initialing a user session, and possibly linked to login procedures that handle UK federation authentication and/or IP address information.
A registry lookup would probably require more work to implement and simply using the OpenURL Router to redirect end users to their resolvers, but it does provide flexibility. In particular, the Router only redirects GET requests; if you wish to use POST requests to resolvers then a registry lookup would provide you with the correct URL for each resolver. You might also wish to consider caching lookup results, so OpenURL links can be provided in the event of the Router being temporarily unreachable.
Lookup requests take this form:
http://openurl.ac.uk/lookup/ukfed:ed.ac.uk/ip:111.112.113.114/dns:eg.ac.uk/
with ukfed, ip and dns values identifying the user's institution (see above). We recommend that you provide as many identifiers as possible.
The response is XML:
<?xml version="1.0"?>
<or:lookup xmlns:or="http://openurl.ac.uk/xmlns/">
<or:success>true|false</or:success>
<or:name>institution_name</or:name>
<or:resolver>resolver_url</or:resolver>
<or:button>button_url</or:button>
<or:alt>button_alt</or:alt>
</or:lookup>
If a user's institution cannot be identified from IP address or via supplied parameters such as UK federation scope, the Router will display a list of know institutions from which they the user can select. If the institution does not appear in the list, then that institution does not have a registered resolver.
When an institution does not have a resolver registered at openurl.ac.uk, then the Router will give the end user a choice of open access resolvers. These currently include GetCopy at EDINA (http://edina.ac.uk/getcopy).
If you use registry lookups, flexible options are available for unrecognised users. You can choose to provide links to a default resolver of your choice, or to provide no links at all. If you were not able to provide a UK federation scope in your lookup request, you could offer the user an OpenURL link to openurl.ac.uk: the Router may be able to find the resolver via cookies previously set by that user, and if not it will offer them a choice of free access resolvers.