Plugin Guidelines
From iDempiere en
Revision as of 19:06, 17 December 2019 by Diego.ruiz (talk | contribs)
In the IDempiere_workshop_2019 we had the idea to implement guidelines for plugins.
These guidelines allow us to evaluate and judge plugins. It will also improve documentation. These guidelines are not static and will be updated with time. If you have any suggestions please contact us in the forums.
As a first step, every community plugin should have the following:
- Documentation
- How to Install - check the list below.
- What does it do? What is the purpose of the plugin?
- Include screenshots and videos - if possible. The idea is to show the community what they will get when installing the plugin.
- Technical Documentation - It there are special aspects to consider when trying to extend or contribute to the plugin, please document those technical aspects.
- Access to the source code (no broken links) - mandatory
- Access to the source code of the documentation (e.g. not only a pdf).
- List of plugin dependencies.
- List of similar or related solutions.
- It must be easy to install - via the OSGi console with no extra steps is preferred. If there are more steps needed or additional configurations that cannot be done through 2packs, they should be well justified and documented.
- Includes 2pack
- Just install in the Felix console and start it.
- The Binaries are available
- One-click start
- If Chuck prefers to separate the plugin into several files we allow him to do up to four-click-installation if it is very well documented.
- Plugin status
- Is the plugin compatible with the latest stable version of iDempiere?
- Date and version of the last review.
Additionally, the community could asses the plugin quality with the following information:
- Is there someone who tested it other than the developer/sponsor?
- Who uses it and how?
- Code quality peer review / make sure that the plugin follows best practices (f.e. closing prepare statements to avoid memory leaks).
- Someone (not the developer) has to review the code
- Don't use hardcoded IDs
- Close cursors in "finallly" blocks
- Security peer review - does the plugin open security breaches?
