|
This page describes a Schema-driven Metadata Editor (MDE)
developed by the eResearch (MAENAD) group to support the
editing metadata used in eResearch systems. The software
was originally developed as part of the
Archer project.
Metadata for eResearch information artifacts (e.g. datasets)
differs from classical Dublin Core in some important
respects:
- The metadata is largely numeric, and tends to have many
more element types. This means that element descriptions,
handling of measurement units and precision, and support
for consistency rules expressed as constraints are all
much more important.
- At least in the current generation, the metadata schemas
are not based on existing schemas, but are being created
and are evolving to meet the needs of specific research
teams. Supporting schema change is an important part of
the metadata problem space.
In this context, the old approach of implementing metadata
software to support a small number of fixed schemas does not
scale from a software engineering standpoint.
The key innovation of MDE is that it is a schema-driven editor.
When the editor loads an XML metadata record to be editted, it
uses the records XML namespace and schemaLocation to identify
the record's schema. Assuming that the schema is available in
an it appropriate form, MDE then uses it to build a Web 2.0
form layout for the metadata. The layout includes the following:
- Form elements for displaying the existing metadata elements,
with type-specific input controls for entering the values.
These include such things as number and date validation,
and pull-downs for controlled lists.
- Element descriptions available as hover-text.
- Controls for creating and deleting elements based on what
the schema allows and requires.
When the user decides to save the metadata record, it undergoes
complete validation against the schema. The validation process
checks that:
- the elements in the record are all defined in the schema
and present in the correct number,
- the values of the elements satisfy any type restrictions
defined by the schemas; e.g. elements defined as integers
should consist of digits with an optional leading sign,
- schema-specific constraints on the record and individual
elements are all satisfied.
The schemas used by MDE allow the schema designer to express
constraints on metadata that are beyond what XML Schema (XSD)
supports. For example, a schema might specify that between
1 and 5 instances of a given element are required, that one
element must be present if another is, or that the values of
a given collection of elements must add up to 100%.
Implementation Technology
MDE is implemented using Web 2.0 technology. The user
interface is web-browser based, and is implemented using
Javascript (via the EXT-JS AJAX libraries) and JSP. This
is supported by Java servlets that run under Apache Tomcat.
The server side needs to be integrated with a metadata record
persistence mechanism, and a metadata schema repository that
provides the appropriate kind of metadata schema. The former
needs to be implemented as part of the process of integrating
MDE into a larger eResearch system. The function latter can
be implemented by a separate schema repository or using a
light-weight static (read-only) repository deployed as part
of MDE itself.
Related work
There are two separate software components that relate to MDE:
- The Metadata Schema Repository
(MDSR) is a Fedora-based
schema repository that is designed to fill MDE's immediate
requirements. It provides REST-based APIs for storing and
retrieving schemas, and a simple web-based user interface
for browsing schemas and basic administration.
- The Metadata Schema Facility (MSF)
consists of a GUI-based
schema editor for creating schemas in the MSS format used by
MDE, and generators for converting these schemas to
equivalent XSDs.
Downloads and Demonstrations
MDE and the related MSF and MDSR software is released under
a GPL 3 license.
The latest release (1.2) of MDE and MSF+MDRS can downloaded from
the
SourceForge metadata.net project. The development codebase
is also on Sourceforge.
Earlier releases of MDE and MSF+MDSR are available for
download here.
This page includes an online demonstration of MDE 1.2
together with a link to information for MDE integrators.
Contact
For more information about this software, please contact
scrawley at itee.uq.edu.au or
chernich at itee.uq.edu.au.
|