MyFaces

<MyFaces>MyFacesでVFSポートレットを作っているが、意味不明な現象に悩まされる。actionを記述してもそこに飛んだり飛ばなかったりと・・・。というわけで、生成されるHTMLを眺めてみる。すると、1つの問題に気づく。form の id が常に_id0から始まっているような・・・。ポートレットだと、1つのページに複数のポートレットが配置されるから、IDが被る・・・。JSFの仕様を確認していないけど、作り的には間違っていると思う。ポートレットの場合は、JavaScriptでは JSR 168 にあるようにポートレットで一意なキーをくっつけておかないとだめだよねぇ~。JSF の仕様を要確認だけど、個人的には、MyFaces の責任の気がする。使えば使うほど、問題に気づくな・・・。でも、一度、JSF の仕様に目を通さないといかんな、そうしないと、バグもあげられん。

<Jetspeed2日本語版>Jetspeed2日本語版をビルドして、公開しました。近頃は、特に日本語に特化した機能を入れていないので、日本語版というのをつけておくのもどうかと思うけど、まぁ、歴史的な話ということで。まぁ、Jetspeed2 M4 のリリースの前にJetspeed2日本語版で問題を見つけてもらえると、Apache Jetspeed2 M4 でも修正できると思うので、ぜひ、ご利用くださいませ。

ポートレット

<ポートレット>commons-vfs を使って、ファイルシステムにアクセスするポートレットを作成中。とりあえず、表示はできるようになったみたい。っで、MyFaces のdataScrollerを使おうと思ったら、エラーが出る。いまいち、正しい使い方がわからない・・・。うーん、ソースコードにあるサンプルを見て使ってみるしかないかな。

<考える>サイボウズがサイボウズラボを作るそうな。内容にざっと目を通すとなかなか面白そうだ。募集条件的にも満たしていると思うので、興味はあるんだけど、今すぐに転職するのは難しいしな・・・。ちょうどいいタイミングというのも難しいのかもしれないけど。そんな感じで、昨日は今後はどうしていくべきかをあれこれと考えてしまった。引き続き検討の必要はありだな。

I18n

<I18n>Jetspeedのドキュメント書き作業をちょっとはじめたところで、Randy から breadcrumb に関して、質問が来た。パスの先頭部分には、”You are here:” を置くけどどう?みたいな感じだった。devのメーリングリストでコメントしたから、また、いろいろとコメントされると面倒だから、直接聞いてきたのかも(^_^;) というわけで、また、いろいろとコメントを返す・・・。別に私も日本語だけのことを考えているわけではないから、各言語で各言語なりの問題があるから、それを英語圏の人に認識してもらうのも大切なことだと思う。”You are here:” も日本語に「あなたはここにいます」などとそのまま訳して、表示するのも不自然だしね。そんな感じでコメントを返していたら、ドキュメントを書く時間がなくなった・・・。

<MyFaces>また、実装に不満があるので、コメント・・・。MyFacesGenericPortlet だけで、これもどうしたものかといった感じだ。DefaultViewSelector でモード変更に対応できると思ったけど、持っているパラメータがなぜか PortletContext・・・。これをつかってどうするのだろうか・・・。PortletContextだと、portlet.xml から初期値がとれなくないかね・・・。web.xml から取ってくるのだと思う。とすると、1つのwarポートレットアプリケーションに1つのポートレットで共有して使うものしか、定義できないんじゃないか?単純なものなら、それでいいのかもしれないけど、普通は違うのではないかね。という感じで、なぜ、PortletConfig を渡さずに PortletContextを渡しているのかがいまいち不明・・・。こういう問題があるので、仕方がなく、このクラスをextendしてやろうかと思ったら、今度は、private でバシバシ制限されていて、拡張できん。というわけで、そのクラスをコピーして、別のクラスパスに新たなMyFacesGenericPortletを作成。DefaultViewSelector には、PortletConfig を渡すようにも変更した。うーん、MyFaces は、一歩先をあまり考えて作られていないような気が・・・。