Browser Extension for ROADS Cataloguing


[This document is a part of DC-ROADS: ROADS as a (Dublin Core) Metadata Management Environment ]


It is likely that a cataloguer will be looking at a resource in a web browser when they wish to enter metadata for that resource into a ROADS database (either creating a new entry or updating existing information).

This document describes how to add a personal toolbar button to a browser (recent versions of Netscape or Internet Explorer have the required functionality) which can be clicked when viewing a resource to open another browser window containing the ROADS template editor open on a record describing the current resource (either a preexisting record or a new record if the resource is not already catalogued).

This approach can be used by external cataloguers describing resources owned by others or internal cataloguers providing metadata for their own resources.


Basic Functionality

Recent versions of Netscape and IE allow users to extend the browser with personal toolbar buttons. It is simple to create a personal toolbar button that will invoke a cgi script, with the current URL as its query string, when pressed.

The following Javascript, when placed in the `Location' attribute of a personal toolbar button, causes a new window to be opened containing a metadata editing/creation tool. This approach leaves open the window containing the resource to be catalogued.

javascript:void('' + escape(window.location)));

(Note that the above url is for demonstration purposes and does not point to a real cgi script.)

Adding a personal toolbar button to a web editor's browser is simple. Just create a web page containing a link to the appropriate Javascript and 'drag' the link to the toolbar.

Access to the ROADS template editor should be password protected so that only authorised user can update the metadata for a site.

Invoking the ROADS template editor

It is not possible to simply point the personal toolbar button at the ROADS editor. The ROADS template editor expects a handle rather than a URL.

We use a script which determines the handle from the URI and then redirects the browser to the ROADS template editor with the appropriate metadata available for editing.

If the web editor chooses to update the ROADS database immediately from the ROADS editor then the changes will be reflected in the machine-readable and human-readable versions of the metadata straight away (after a shift-reload).

If there is no metadata associated with the current resource then no handle will be found and the script will create a new ROADS entry corresponding to the current page (possibly filling in some information automatically) before directing the user to the ROADS template editor.

Getting from URI to handle

If the handle is embedded in each web page then a script can be used to extract it (either by requesting the web page via HTTP and processing the result or by converting the URI to a local filename and processing the file).

If the handle is not embedded but metadata can be retrieved from the ROADS database using the URI then the handle can be retrieved using a WHOIS++ query to the database.

Metadata Creation

In many cases it will be possible to extract some metadata from the current resource automatically and use that to populate a newly created ROADS template.

The DC-dot editor [1] will extract Dublin Core metadata from web pages (and other common formats used on the Web) and allow it to be edited before exporting it in a variety of formats including as a ROADS/IAFA DOCUMENT template. DC-dot could be extended to export metadata using the ROADS DUBLIN CORE template - such a template could then be entered directly into a ROADS database (and indexed). Alternatively the current output format could be converted to the required format.

We chose to write a custom metadata extractor to make use of local conventions (e.g. a web page being in a certain directory gives it certain keywords in the DC subject). The custom converter is based on similar techniques to those used by DC-dot. Once metadata has been extracted in is placed in a Dublin Core template in the ROADS datebase and then the browser is redirected to the ROADS template editor for further editing of the metadata.


The editmeta.cgi script needs a bit of work to make it general and to support both embedded handles and use of WHOIS++ to determine the handle of a resource. I'll put it up here as soon as it's ready.


[1] - DC-dot -

[Next: DC-ROADS as a DC-in-a-Box? ]

Web page authored and maintained by:
Page created on: 10-May-99
Page last revised on: Wednesday, 26-May-1999 08:07:14 UTC

[<A HREF="">Metadata</A>] [<A HREF="">UKOLN</A>]