1. Ideas
2. Design
3. UI Design
4. Implementation(code)
5. Testing
6. Publishing
7. Integration/deployment
8. debugging
9. upgrade
10. uninstall
Idea
This Section should explain how the idea of a plugin is born, what is the purpose of this plugin and the who all can use this plugin
Design
The implementation Design of the plugin
UI Design (portal/mobile)
The Proposed UI design has to be published
Implementation (Code)
The framework should provide an SDK which exposes the basic services that will be used by the plugin
UI based plugin(web/mobile)
In a UI based plugin, DOM decoration should be independent of data handling.
For plugins(web/server/mobile)
the external library used should be properly documented and should be able to easily upgrade.
Testing
The framework will provide the basic testing env required by any plugin to test the Integration of the plugin with the framework
unit testing
The plugin developer will list out all the possible use cases and will write unit test cases to fulfill the use cases
Integration Testing
The plugin will list all the touchpoints where the plugin can affect the application and any service it is using from the framework and will write the automated test for each of the use case.
The plugin will use the framework exposed system to do the automated integration testing.
Publishing
A standard process to build and publish the plugin will be exposed by the framework do that all plugin will follow the same process.
Integration/Deployment
The process to integrate plugin with the portal/server/mobile
Debugging
Each plugin has to have an internal debugging system and also the Framework will expose some logging mechanism to the plugin to use.
Upgrade
Each Plugin has to give if any future upgrade can be done and proposed changes.
Uninstall
The framework will expose some hook so that the plugin can uninstall any time by calling the methods.
and each plugin also should give some process to uninstall itself like Unregister from the framework.