ユーザーの PSML を変更せずにアプリをカスタマイズする方法

スケジュール、ToDo などオープンソースで提供しているアプリをカスタマイズしたものに差し替えたい場合、
別名のポートレットを用意して、そのポートレット名をユーザー毎の PSML で指定しなおす、というのが通常の方法です。


ただし、この方法の場合、運用中の Aipo のすべてのユーザーの PSML を書き換えないといけないため、
バッチ処理が必要だったりと、面倒が発生することが多いです。


以下の方法ですと、ポートレットの名称を変更せずに、アプリを差し替えることができるようになります。
 
まず、Aipo 標準のモジュールパッケージ com.aimluck.eip.modules とは別のパッケージに、
同名の Action を作成します。
ここでは com.sample.modules パッケージとします。


package com.sample.modules.actions.schedule;

public class ScheduleAction extends com.aimluck.eip.modules.actions.schedule.ScheduleAction {

}
次に、JetspeedJResources.properties の modules.package に先ほど作成したパッケージを追加します。

module.packages=com.sample.modules
module.packages=com.aimluck.eip.modules
ここで新しく追加したパッケージを上に書いてください。ポートレット名が同名の場合上のパッケージから検索されます。

これで、ポートレット名同名の別アプリを作成することが可能です。
ただし、別パッケージの同クラス名の運用について基本的には推奨されないため、利用する際は十分気をつけてください。