Metadata Retriever Plugins

From Creative Commons
Revision as of 18:23, 15 June 2010 by BrendanGuenther (talk | contribs) (First Phase)
Jump to: navigation, search
Contact Contact::
Project ,|project_name|Project Driver::project_name}}
Status Status::In Development

First Phase

Operators may wish to include metadata about Resources from other sources, including web services (ie, Semantic Analysis), databases, or something else. This describes how to implement a plugin to import this information.

A plugin implements IMetadataImporter, which provides a single method, loadMetadata. loadMetadata takes a Resource, and is responsible for adding any fields to it. loadMetadata is not responsible for persisting the Resource.

To accomplish this...

  • enable resources to allow dynamic metadata to be attached (by plug-ins) through a new method on "resource"
    • method that adds an assertion to resource
      • checks to see if the assertion exists, uses if exists, creates if not exist
      • populates assertion with data
    • method that gets all the assertions from resource
  • associate each custom metadata field with a URI-namespace to avoid cardinality
  • Create plug-in; call from aggregate step; use resource's save method;

Deferred until later

Allow configuration of plug-ins

  • enable/disable individual plug-ins
  • add additional or custom plug-ins
  • alter order in which plug-ins run (to determine which are authoritative)