Create framework to register feed consumption plugins
Create a framework to register new feed consumption plugins. I envision the plugin framework working this way: the framework's main module contains a class or module which will contain the plugins, called plugin_parent. When the app first loads, it imports every module found in the "plugins" directory into plugin_parent. Each plugin contains metadata (name, version, description) in a dictionary named config, and the framework registers the plugin by reading that config dictionary into the plugin_
Then, when the app's internal scheduler says it's time to read in a feed's contents, the app finds the correct plugin and calls its main .read method. The plugins' API is not yet fixed, but it might make sense to make plugins be like model objects in that they primarily move & transform data between sources & destinations, and to use an API like this:
class Plugin:
def read():
'''Get data from external source, store in cache.'''
def cache():
'''Get data from cache of source, versioned in database.'''
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Medium
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Drafting
- Series goal:
- Accepted for couchapp-backbone
- Implementation:
- Unknown
- Milestone target:
- 0.4
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Work Items
Dependency tree
* Blueprints in grey have been implemented.