Difference between revisions of "Projects/Plugin support improvements"
From K5Wiki
< Projects
(→Motivations & Requirements) |
(→Motivations, Priorities & Requirements) |
||
Line 2: | Line 2: | ||
==Motivations, Priorities & Requirements == |
==Motivations, Priorities & Requirements == |
||
− | Motivations: there are a number of motivations behind the creation of the plugin architecture framework. |
+ | """Motivations""": there are a number of motivations behind the creation of the plugin architecture framework. |
Some of these include the following: |
Some of these include the following: |
||
Line 12: | Line 12: | ||
* Allows one plugin implementation to use services provided by the other plugin implementations. |
* Allows one plugin implementation to use services provided by the other plugin implementations. |
||
− | Requirements: from these items we have developed a more formal set of requirements |
+ | """Requirements""": from these items we have developed a more formal set of requirements |
covering the design and the implementation of the framework to |
covering the design and the implementation of the framework to |
||
support the plugins. These are as follows: |
support the plugins. These are as follows: |
Revision as of 09:14, 21 July 2010
Motivations, Priorities & Requirements
"""Motivations""": there are a number of motivations behind the creation of the plugin architecture framework. Some of these include the following:
- Separates plugin interface from its implementation;
- Provides simple and clear mechanism that facilitates additions of new plugin interfaces and their implementations(modules);
- Handles both built-in and dynamic plugin modules;
- Allows multiple implementation of the same plugin interface;
- Provides uniform way to supply parameters for plugin configuration;
- Allows one plugin implementation to use services provided by the other plugin implementations.
"""Requirements""": from these items we have developed a more formal set of requirements covering the design and the implementation of the framework to support the plugins. These are as follows:
- Allow third parties to implement multiple plugin modules for each pluggable interface.
- Allow a plugin module to build as dynamic or built-in from the same source code.
- Allow third parties to more easily create new plugin modules.
- Provide a uniform method for configuring discovery of plugin modules.
- Improve readability of code that calls pluggable interfaces.
- Allow easier creation of new pluggable interfaces.
- Allow incremental transition of existing pluggable interfaces to the new framework.