N2 Portal も問い合わせをいただいたり、大きな案件の話が進んでいたりと、この状況に大変感謝しております~。そんでもって、昨日もプリセールス的な活動したりと(前の会社では、プリセールスするようなところにいなかったから、ある意味新鮮)。現在、説明するのに使っている資料は以下のような感じ。基本的にポータルなので、ウェブアプリ作るのに、ユーザー管理・ログインまわりとか作るの面倒だな~、とか感じている方は利用すれば、楽をできるかと。興味がありましたら、Jetspeed2/PALポータルなどなど含めて、ご利用ください~。
カテゴリー: Jetspeed
オープンソース点から見るN2広場
オープンソースという観点からN2広場を考えます。N2広場ではどんどんオープンソースプロダクトを採用していきたいと考えています。っで、まずは、主に、
- Jetspeed2/PALポータルって、使われているの(使えるの)?
- Teeda(Seasar2)って、本当にポートレットで使えるの?
というのに、答えていければと考えてます。
まず、Jetspeed2/PALポータルですが、N2広場はそれらベースになっています。素のJetspeed2からこういうポータルを作るということも考えられますが、j2-adminでは管理できるユーザー数に限界があるので、PALポータルにある pal-admin でないと厳しいかと。基本的に、N2広場で利用しているソースコードは、Jetspeed2/PALポータルにコミットしてオープンになっているので、N2広場のようなパブリックなポータルを作ろうと思えば、PALポータルをベースに作成可能です。
次に、Teeda(Seasar2)に関してですが、現在、動かしている 3 つのサービス(グッジョブ、DesIT、Outatime)は、Teedaベース作りました(そんなに複雑なアプリではないですけど)。普通に JSR 168 のポートレットとして、Jetspeed2/PALポータル上で動いてます。Teeda で作成できるおかけで、さっくり作ることができました 🙂 さすがに、素のポートレット API で作ると、大変ですし・・・。そんな感じで、ポートレットとして、Teedaアプリも作れるわけなのです(ただ、JavaScriptを使うようなコンポーネントについては、id問題があるので検討が必要)。
以上のような感じで、N2広場を通しても、オープンソースの開発に貢献していければ、と思います。
ポートレットフィルタの依存jar
Maven2 でポートレットフィルタを pom.xml に書いておくと、いらんものがいろいろとついてくる。というわけで、以下のようにするのが良い。あとで、Apache の方のやつは直しておこう。
<dependency> <groupId>org.apache.portals.bridges</groupId> <artifactId>portals-bridges-portletfilter</artifactId> <version>1.0.3</version> <exclusions> <exclusion> <groupId>logkit</groupId> <artifactId>logkit</artifactId> </exclusion> <exclusion> <groupId>avalon-framework</groupId> <artifactId>avalon-framework</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>
Maven2だと、欲しくないjarまでどれかで依存していて、次々ひっぱてっくる。使いたいライブラリの pom.xml がきちんと書いてあればいいけど、それを期待するのは無理っぽい。まぁ、それ以外のもライブラリ的には依存しているけど、こっちはその機能を使わないときなども、こっちとしてはいらんものが入ることになるし。そんな感じで、いらんものを見つけたときには、–debug をつけて、ビルドして、誰がそのjarを含めているかチェックすれば良いのかね(もっと良い方法がある気もするけど、知りません・・・)。