Difference between revisions of "Metadata Retriever Plugins"

From Creative Commons
Jump to: navigation, search
(First Phase)
(First Phase)
Line 8: Line 8:
  
 
To accomplish this...
 
To accomplish this...
*enable resources to allow dynamic metadata to be attached (by plug-ins)
+
*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
 
*associate each custom metadata field with a URI-namespace to avoid cardinality
 
*Create plug-in; call from aggregate step; use resource's save method;
 
*Create plug-in; call from aggregate step; use resource's save method;

Revision as of 18:23, 15 June 2010

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)