Scenario for a community metadata editor
This is a scenario for a generic metadata edit tool, intended for brainstorming development of a community component that is transportable and reusable. Use of a standardized tool for editing metadata will reduce the cost of entry into the metadata game by reducing training and increasing productivity, and should help improve the quality and consistency of metadata. The attached word document has the same text. Please add any other features or requirements that would be useful.
Here is a run down of some functionality.
Start: User opens the editor application.
- User login. In long run, this will determine access control, permissions for what can be edited, and also provide information used to autopopulate metadata lineage information documenting changes to record. Should determine options for what is done with edited record when user commits changes
- Open file to edit. Simple case—users specifies metadata standard and profile; user friendly case—identifies metadata standard and profile. Also have option to edit raw file (e.g. the XML, JSON or whatever). Other options to start with a blank record from a template or to clone an existing record. From simple to harder:
2.1. Select file from local file system.
2.2. Open file from web, provide URL in simple case. Get search dialog to identify record and client composes URL in user friendly scenario
2.3. Load records (a query result set or contents of a local or external web- or ftp- accessible directory) into an internal metadata collection accessible in tool as a list of ‘my metadata records’ that can be edited, organized into collections, etc.
3. Edit record. The tool needs a mechanism to adapt the UI for editing to variations in metadata encoding (different XML schema, JSON, who knows what next…), mapping (in the XML case) xpath from the metadata to a form control with constraints on element content for that control (pick lists, number, date, e-mail address, telephone number…). Many (all?) existing metadata edit tools include a configurable form system that maps from arbitrary xml to a form interface. This is necessary to allow accommodation for all the various metadata encoding schemes. Wouldn’t it be useful if these metadata XML-to-form presentation configurations were transportable between platforms and reusable; maybe an XForm (http://www.w3.org/TR/xforms/) representation? Anyway, (dreaming aside) useful features in the edit environment include:
3.2. ability to assign controlled vocabs to elements, presented as pick lists. Gravy would be ability to get explanation of what individual terms mean (e.g. right click, context menu includes ‘define’).
3.3. import of ‘components’ from a registry, e.g. a person, organization, or other reusable chunk of metadata that will populate several metadata elements in the edit document
3.4. bulk update of elements in a selected set of records. (change all contact telephone numbers = x to y)
3.5. ability to lock an element in the form configuration so that imported content cannot be changed without higher-authority permission.
4.1. Xml schema validation
4.2. Schematron or other rule-based validation
4.3. Generation of ‘completeness report’ against one or more rubrics (http://en.wikipedia.org/wiki/Rubric_%28academic%29).
5. Commit record. On commit, the update date for edit session and information about the editor should be automatically added to record. Edit form should also ask (or require, depending on policies) editor to put in notes on what was changed that get appended to a metadata lineage report. Possible consequences are a function of the user login permissions. Might present user with one or more options. Possibilities include:
5.1. insert transaction to catalog (not necessarily same place the record came from),
5.2. write to WAF, e-mail somewhere,
5.3. post for review and acceptance in workflow scheme
5.4. save record in local cache for continued editing at a later time.
Projects that implement various parts of such an interface:
Micka (Czech MD editor developed for inspire) http://www.envirogrids.cz/simplecms/?menuID=8&articleID=14&action=article&presenter=ArticleDetail
Greek Inspire md editor http://sourceforge.net/projects/gimed/
EuroGEOSS metadata editor http://www.eurogeoss.eu/ressources/Pages/EUOSME_announce.aspx (This implements a lot of the desired functionality!)