CNRI Handle Extension for Firefox

Handles

Handles are unique and persistent identifiers widely used across the
Internet to reliably reference and otherwise manage digital objects,
including publications, data sets, personal identity records, and
other types of digital entities. (See the web site at
http://www.handle.net for details.)

This Firefox extension finds handles used as references in web pages,
in a variety of formats, sends them directly to the Handle System for
resolution, and gets back current information about the identified
entity, e.g., current location. The results of that handle resolution
are used to determine browser behavior, e.g., display the current
version of a document even if it has been moved since the creation of
the reference. The extension software was developed with support from 
the Defense Advanced Research Projects Agency (DARPA) under 
Grant HR0011-05-1-0003.


(1) Handle Extension Features

This extension to Firefox embeds handle client software in the web browser,
eliminating the need to go through an external proxy server or other kind of
middleware to resolve a handle. Handle references can
be in multiple forms. One form is hdl and doi URIs, e.g.,

hdl:4263537/4000

or

doi:10.1000/1

These will both be identified by the extension as handle references. Note
that Digital Object Identifiers (DOI names), here referenced as doi:,
are a branded form of handles. See the web site at http://www.doi.org
for details on DOI names and the organizational federation that stands
behind that effort.

For convenience, spaces immediately following hdl: or doi: will be ignored.
Other spaces, even at the end of the handle, are considered significant.

By default, the extension will find hdl: or doi: URIs in the text of 
webpages and convert them into links.

A commonly used HTML encoding represents a handle as a URL for a
web-to-handle proxy server to resolve, e.g.,


http://hdl.handle.net/4263537/4000

or

http://dx.doi.org/10.1000/1

The extension will recognize these as "handle URLs", extract the
handles, and resolve them directly without first going through a proxy
server. The URL form of handles and DOI names has traditionally been
the most common method of using them in web pages and, to ensure both
backwards compatibility and future compatibility, the extension will
precisely mimic the behavior of the web-to-handle proxy servers.  That
is, there will be no functional difference between clicking on an http:
URI or a hdl: URI link for the same handle, given that the extension is
installed. The extension will, however, make the resolution faster and
more efficient and without it the hdl: URI form of the link will not work.

The user can specify with a preference additional web-to-handle proxies
which should be replaced with native resolution.

The extension will automatically detect if a firewall prevents
direct handle resolution and will fall back to using a web-to-handle
proxy server in that case.

There is a configuration panel at Firefox->Preferences (Linux:
Edit->Preferences; Windows: Tools->Options) for setting options.

    * Authoritative Query. This tells the extension to bypass its
handle resolution cache and query the handle system again for
each resolution.

    * Certify. This asks handle servers to sign their responses;
the extension will verify their integrity.

    * Don't Redirect to URLs. If a handle has a URL as one of its
values, the extension will instruct your browser to display the
location of that URL. If you select "Don't Redirect to URLs", the
extension will simply list the value.

    * Don't Follow Aliases. If you resolve a handle that has a value
of type 'HS_ALIAS' referencing a different handle, the extension will
use the HS_ALIAS value instead.  If you select "Don't Follow Aliases",
the extension will use the original handle.

Other preferences controls whether and for how long Firefox displays
notifications when handles redirect to other URLs, and whether the
address bar displays the redirected URL or the hdl: or doi: URI.


(2) Installation

Requirements

    * Mozilla Firefox browser version 3 or greater; 
    * Java Runtime 5.0 or greater (pre-installed); 
    * Java enabled in the Firefox browser. This is usually done in 
your browser settings; Mac: Firefox->Preferences->Content;
Linux: Edit->Preferences->Content; Windows: Tools->Options->Content.

The extension works on Windows, Linux, or MacOS X operating systems.

Note: Sun's JRE 6 Update 10 and Update 11 for Windows have a known bug 
which prevents the extension from operating correctly.  You can upgrade to 
JRE 6 Update 12 or later at http://java.sun.com/javase/downloads/index.jsp, 
or, as a work-around, you can disable the 'next-generation Java Plug-in' 
in the Java Control Panel under the Advanced tab.

If there is a previous version of the extension installed, uninstall
the previous version before proceeding with the installation. The
UNINSTALL instructions are below.

Steps

    * Use Firefox's File menu to open the handle-extension-*.xpi
file.  
    * Click on the install button after it highlights.
    * Restart Firefox. If 'java' was not enabled in your browser,
a warning will appear, and another browser restart may be necessary.


(3) Uninstalling

In Firefox, click on Tools->Add-Ons (or Tools->Extensions depending on
the platform).  The extensions window will list the Handle
Extension. Click on uninstall.


(4) Source

The source distribution incorporates the compiled Handle System 
Client Library, Java version, the source for which is available 
separately at http://www.handle.net/client_download.html.
