World Workshop2019において、私たちはプラグインの実装のガイドラインについてアイディアを出し合いました。
これはIDempiereコミュニティーへの貢献方法の1つです。
これらのガイドラインにより、プラグインを評価および判断できます。 また、ドキュメントも改善されます。 これらのガイドラインは静的ではなく、時間とともに更新されます。 ご提案がございましたら、フォーラムでお問い合わせください。
最初のステップとして、すべてのコミュニティプラグインには次のものが必要です。:
- ドキュメント
- インストール方法 - 下記のリストを確認して下さい。
- プラグインは何をするためのものか? プラグインの目的は何ですか?
- 可能であれば、スクリーンショットとビデオを含めます。 アイデアは、プラグインをインストールしたときに何が得られるかをコミュニティに示すことです。
- 技術文書-プラグインを拡張または提供しようとするときに考慮すべき特別な側面があります。それらの技術的側面を文書化してください。
- ソースコードへのアクセス(壊れたリンクなし)- '必須' 。 毎年公開されて更新され、頻繁に更新されてコミュニティに表示されないプライベートリポジトリに対して古くなっているリポジトリではなく、実際のオープンソースをサポートしたいことに注意してください。
- ドキュメントのソースコードへのアクセス(PDFだけでなく)。
- プラグインの依存関係のリスト。
- 類似または関連するソリューションのリスト。
- 既存のiDempiereインスタンスに簡単にインストールできる必要があります(インストールするために変更されたコアが必要なプラグインは、実際のプラグインではなく、フォークまたはディストリビューションと見なす必要があります)-追加の手順なしでOSGiまたはFelixコンソールを介してインストールすることをお勧めします。 さらに必要な手順や2パックでは実行できない追加の構成がある場合は、十分に正当化して文書化する必要があります」.
- 2packのファイルを含めて下さい。
- OSGiまたはFelixコンソールにインストールして起動するだけにして下さい。
- バイナリで利用可能な状態にします。
- ワンクリックでスタートします。
- Chuckがプラグインをいくつかのファイルに分割することを好む場合、それが非常によく文書化されていれば、最大4回のクリックインストールを実行できます。
- プラグインのステータス
- プラグインはiDempiereの最新の安定バージョンと互換性がありますか?
- 最後のレビューの日付とバージョン
コミュニティプラグインを開発する際のベストプラクティスについては、こちらのチュートリアル Plug-In Developmentに従ってください。ここでは、コアに影響を与えずにiDempiereを拡張する方法が十分に説明されています。
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 "finally" blocks
- Security peer review - does the plugin open security breaches?
