Difference between revisions of "Metadata Retriever Plugins"
(→First Phase) |
(→First Phase) |
||
Line 6: | Line 6: | ||
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. | 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. | ||
+ | |||
+ | The initial prototype will log URLs as it goes. | ||
+ | |||
+ | The first working plug-in could exercise the del.icio.us API to retrieve tags that delicious users have placed on a URI. Example: <code>api.del.icio.us</code> <code>/v1/posts/suggest?url=http://ocw.nd.edu/computer-applications/applied-multimedia-technology</code> | ||
To accomplish this... | To accomplish this... |
Revision as of 19:04, 16 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.
The initial prototype will log URLs as it goes.
The first working plug-in could exercise the del.icio.us API to retrieve tags that delicious users have placed on a URI. Example: api.del.icio.us
/v1/posts/suggest?url=http://ocw.nd.edu/computer-applications/applied-multimedia-technology
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 adds an assertion to resource
-
- 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)