6.8.2 Current Linking strategy at the Open University
The approach taken to linking varies depending on the type of resource being linked to. Links are provided to ‘full-text’ resources only – that is, links to the full content of the resource, not to surrogates (e.g. a record for the resource in a library system) or summaries (e.g. abstracts, tables of contents)
The descriptions below all assume the OU have access to the required resource. If this was not the case, this would be fed back to the course team, either to identify alternative access options (e.g. licence the content for use and digitize) or identify alternative resources.
6.8.2.1 A Note on Browser redirection
It is sometimes desirable to allow a URL displayed to a user to actually return the content located at an alternate URL. The example given above using a ROUTES URL to provide a persistent link to a resource works in this way.
A course wishes students to access the BBC home page at http://www.bbc.co.uk, but the Open University library recommends the use of the ROUTES URL http://routes.open.ac.uk/ixbin/hixclient.exe?_IXDB_=routes&_IXSPFX_=g&submit-button=summary&%24+with+res_id+is+res9377
When the student clicks on the ROUTES URL, they are immediately ‘redirected’ to the BBC homepage. The student may well not be aware any redirection has taken place.
There are different methods of achieving a redirect, the main ones being:
- Use of HTTP redirects by returning a 301, 302 or 307 HTTP Status Response code with the URL target of the redirect
- Use of the ‘Refresh’ meta-tag within an HTML document stored at the requested URL
- Use of a script stored at the requested URL (typically JavaScript called from within an HTML document)
The W3C recommend the use of HTTP redirects. The use of HTTP redirects has a number of benefits:
- It does not require a document to be loaded or script to be run in the User Agent (browser) making the request
- It allows richer information about the nature of the redirect (see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html for further information on HTTP Status Response codes, and for redirects see specifically information on HTTP Status Response Codes 301, 302, 303, 304, 305 and 307)
- HTTP redirects do not break the ‘back’ button function in browsers, which other methods of redirect do on occasion
Redirection in the OU VLE
When links to resources are included in either Structured Content, or in a course Resources area, some further adjustments are sometimes made automatically by the VLE.
The scripts applied to links in Structured Content and Resources are the same, but there is an important difference between the two scenarios. For links in Structured Content, these changes are made as the content is published into the VLE, and so the links stored in the content are those adjusted by the VLE. For links in Resources, these changes are made as the page is loaded in the browser (i.e. the original link is still stored in the Moodle database tables).
The reason for making changes to the links is to preserve the function of the ‘back’ button in the browser. Specifically in IE6, IE7and IE8.
There are two forms of link that are targeted:
- Links directed via ROUTES
- Links directed via EZProxy
ROUTES URLs
ROUTES URLs are identified by the existence of the following string at the start of the URL:
http://routes.open.ac.uk/ixbin/hixclient.exe?
URLs containing this pattern are modified as follows:
- Remove the string http://routes.open.ac.uk/ixbin/hixclient.exe? from the start of the URL
- URL encode the remaining part of the ROUTES URL
- Prepend http://learn.open.ac.uk/local/routeslink.php?q= to the URL encoded string
For example, the URL
becomes
The script requests the relevant ROUTES page from the specified URL, finds the redirection information which is stored in a HTML Meta tag as a Refresh value, and then redirects the user to this destination URL (using a 302 HTTP Status Response Code) to preserve the functioning of the browser ‘back’ button in IE6, IE7 and IE8)
EZProxy URLs
EZProxy URLs are identified by the existence of the following string at the start of the URL:
http://libezproxy.open.ac.uk/login?url=
URLs containing this pattern are modified as follows:
- Remove the string http://libezproxy.open.ac.uk/login?url= from the start of the URL
- URL encode the remaining part of the EZProxy URL
- Prepend http://learn.open.ac.uk/local/libezproxylink.php?url= to the URL encoded string
For example the URL
http://libezproxy.open.ac.uk/login?url=http://dx.doi.org/10.1109/MS.2004.1259221
becomes
This script is slightly more complex than the routeslinks.php script. The script recursively follows redirects and also collects any cookies that would be set in the user’s browser during the redirects. Once the script has followed all the relevant redirects (there are a number of possible conditions for termination of the recursion), it will redirect the user’s browser to the ultimate target of the redirects, while at the same time writing all the relevant cookies to the browser.
Testing has shown that the EZProxy software itself handles redirects with HTTP Status Response Codes (302s). In reality the problem this script deals with is that there maybe other systems (outside the control of the OU) that use other forms of redirection. An example is the SwetsWise ejournal service, which uses a HTML Meta tag with a Refresh value to redirect the user to journal articles in PDF format.
Because this script is applied to all links directed via http://libezproxy.open.ac.uk/login, in many cases this script maybe redundant. However, using this script means that any situations where redirects are achieved by means other than a HTTP Status Response Code do not break the ‘back’ function in the browser.
It might be advisable to identify the specific services which the script needs to be applied to, however this could take significant initial and ongoing resource to keep a list of affected services and to keep the script up to date.
6.8.2.2 Freely available web resources (available via a dedicated URL)
- Check if the URL is in ROUTES, if so, add details of the new course context (course, module, block or other granular unit of a course) in which it is being used.
- If URL not currently in ROUTES, add to ROUTES, with appropriate metadata, including the course context.
- In either case, if an appropriate course context does not exist in ROUTES, create it.
- Supply links back to course, either individually, or as a feed for the course
6.8.2.3 Subscribed resources – Databases
Look up the database in the A-Z list on the library web pages (http://library.open.ac.uk/find/databases/index.cfm), copy and paste URL and supply to course team, or add to the RSS Feed Tool for the course/block/module.
N.B. The URLs from the A-Z list are generated from the library catalogue, and use the library catalogue ‘bibId’ as an ‘id’. The URLs in the library catalogue will direct via an authentication mechanism where appropriate – i.e. EZProxy[2] or OpenAthens LA 2.0. For example:
- A-Z List URL: http://library.open.ac.uk/find/databases/linking.cfm?id=208370
- URL in Library Catalogue record: http://msds.open.ac.uk/sams/athensda/athensda01.asp?service=ATHENSDA58
- Actual URL: http://www.sciencedirect.com
- A-Z List URL: http://library.open.ac.uk/find/databases/linking.cfm?id=257166
- URL in Library Catalogue record: http://libezproxy.open.ac.uk/login?url=http://isiknowledge.com/wos/
- Actual URL: http://isiknowledge.com/wos/
6.8.2.4 Subscribed resources – Electronic Journals
Look up the journal in the library catalogue (http://voyager.open.ac.uk/)
Copy and paste URL and supply to course team, or add to RSS Tool feed for the course/block/module.
The URLs in the library catalogue will direct via an authentication mechanism where appropriate – i.e. EZProxy or OpenAthens LA 2.0
6.8.2.5 Subscribed resources – Electronic Books
Look up the book in the library catalogue (http://voyager.open.ac.uk/)
Copy and paste URL and supply to course team, or add to RSS Tool feed for the course/block/module.
The URLs in the library catalogue will direct via an authentication mechanism where appropriate – i.e. EZProxy or OpenAthens LA 2.0
6.8.2.6 Subscribed resources – Journal Articles
Journal articles are probably the most complex set of resources to link to, and it seems likely that links to journal articles also make up the largest set of links to resources across the OU course material.
The full recommendations are documented internally at http://intranet4.open.ac.uk/wikis/LibraryWiki/Linking_to_resources#Article_linking (not available outside the OU).
The workflow includes the following steps, although the order may not be as described here:
- Check if we have access to the article, and note what routes of access are available
- If the only route of access is via EBSCO, get a persistent link from EBSCO. This is available via EBSCO, and will be of the form http://libezproxy.open.ac.uk/login?url=http://search.ebscohost.com.libezproxy.open.ac.uk/login.aspx?direct=true&db=bth&AN=35713595&site=ehost-live&scope=site
- Identify a DOI if possible (and not already supplied). Provide a link of the form http://libezproxy.open.ac.uk/login?url=http://dx.doi.org/1038/35057062
- If a DOI is not available, or for some reason is not appropriate, obtain a persistent link from the appropriate supplier
- An alternative to all of the above is to provide an OpenURL (i.e. SFX link), but this tends to be non-preferred because:
- Complexity of OpenURLs
- Article level linking is not guaranteed
- Seemingly inconsistent behaviour from SFX
No Comment