JPiereプラグインの命名規則

 ここではオープンソースのERP iDempiere(アイデンピエレ)の日本商慣習対応ディストリビューションであるJPiere(ジェイピエール)のプラグインの命名規則について公開しています。

オープンソース(OSS) ERP Solutions

プラグイン・プロジェクトの作成単位と命名規則

 JPiereベースプラグインとJPierプラグインズは、プラグイン・プロジェクトとして開発しています。

JPiereベースプラグイン【JPBP:JPiere Base Plugin】

 JPiereベースプラグインは、1つです。1つのプラグインの中に、色々な機能を実装しています。そうする事で、プラグインの依存関係に悩まされる事を回避しています。また、日本の商慣習に対応するためのプラグインのインストールを1回で済ませる事ができるというメリットがあります。

 JPiereベースプラグインのプロジェクト名は次の通りです。

  • jpiere.base.plugin


JPiereプラグインズ【JPPS:JPiere Plugins】

 JPiereプラグインズでは、1つ1つの機能を独立したプラグインとして開発しています。命名規則は、次の通りです。

  • jpiere.plugin.区分.プラグイン名

 例えば、【JPIERE-0014】1レコード複数行表示のプラグイン・プロジェクト名は、"jpiere.plugin.webui.formwindow"です。

フラグメント・プロジェクトの作成単位と命名規則

 JPiereフラグメンツ【JPFS】とJPiereモデイフィケーションズ【JPMS】はフラグメント・プロジェクトとして開発しています。

 フラグメント・プロジェクトの作成単位と命名規則は次の通りです。

  • フラグメント・プロジェクトの作成単位はホストプラグイン単位とする。
  • フラグメント・プロジェクトの命名規則は"jpiere.fragment.ホストプラグインプロジェクト名"とする。 (例) jpiere.fragment.org.adempiere.base

フラグメントにおけるタスク・タグの利用とコメントの記述方法

 OSGiのフラグメントの機能を使用して既存クラスをコピーして、そのコピーに修正を加える際には、修正した所に"JPIERE"のタスク・タグを必ず付けて下さい。※カスタマイズを開始する前にEclipseのタスク・タグに"JPIERE"を追加して下さい(※参考:JPiere Lab -> JPiereカスタマイズ規約 -> Eclipse設定#タスク・タグ設定)。

 JPIEREのタスク・タグは次のように記載して下さい。

◆メソッドを追加した場合

 メソッドを追加する場合は、メソッドのJavaDoc表記の最下部に次のように記述して下さい。

/**

 * メソッドの説明

 * JPIERE-○○ Add クラス名#メソッド名()

 *

 * @…

 * @author メソッド追加者氏名

 *

 */

  • ○○はカスタマイズ管理番号です。

 

◆メソッド内のロジックを修正した場合(コメントアウト等も含む)

 メソッド内のロジックを修正する場合は、"//"のコメント表記を使用して、修正した個所に次のように記述して下さい。

 int a = 1 + 1 //JPIERE-○○(-△△) Modify クラス名#メソッド名() by 修正者氏名

  • ○○はカスタマイズ管理番号です。
  • △△は同一カスタマイズ管理番号で同一メソッド内での修正個所が複数ある場合に修正個所を識別できるように識別番号を付して下さい。

 メソッド内のロジックを修正する個所が複数行にわたる場合は、修正個所の最終行に次のよう記述して下さい。

 int b = 2 + 2 //JPiere-○○(-△△) Finish

  • "JPiere"と小文字を含むことによりタスク・タグとはEclipseに認識させない事を意図しています。あえてEclipseにタスク・タグと認識させたい場合(修正個所が長い場合など)は"JPIERE"と記載するのも可です。

 

◆プロパティーを追加した場合

 プロパティの追加が必要な場合、クラスのプロパティとして変数を宣言している行に"//"のコメント表記を使用して次のように記述して下さい。

 

private int a = 0 ;  //JPIERE-00 Add Property a to クラス名

 

◆他パッケージのクラスをインポートする場合

 他のパッケージのクラスのインポートが必要な場合、インポートを記述している行に"//"のコメント表記を使用して、次のように記述して下さい。

 

import XXX        //JPIERE-○○ Import XXX to クラス名