Teeda for Portlet

とりあえず、Tomahawk のスタイルシートとかをポータルサーバーに渡す部分の実装をした。inputHtml コンポーネントのJavaScriptやCSSがJetspeed2に渡せることを確認したので、ExtensionsFilter の1つの作業が完了。あとは、アップロードができることを確認できれば、作業は完了だと思われるけど、Tomahawk は MyFaces に依存している問題があると教えていただいたので、その辺も考えながらどうするか考えよ。ExtensionsFilter も多少ましにはなったけど、このサーブレットへの依存は何とかならんものなのかね・・・。ID問題についてもencodeNamespaceを入れたので、確認して、コミットしておこうかな・・・。今日は眠いから寝よう・・・。

S2Portlet

個人的に MyFaces+Tomahawk という構成を利用して作っているものが多いので、Teeda+Tomahawk という環境に移行するためには、Tomahawk の ExtensionFilter を実装するのが必須と考えている。まぁ、現状では、MyFaces 自身が MYFACES-434 にあるようにポートレット上で、うまいこと Tomahawk を使えてないんだけど、この問題は Stan がやらなければ解決しないので、何か言われるまで放置しておこう・・・(個人的には十分、交渉とかもしたと思うし・・・。結局は、Stan が忙しくて放置しているのが現状だな・・・)。というわけで、Teeda の環境ではなんとかするべく、S2Portlet の s2-portlet-extension にそれを入れるため、コードをとりあえず、書いた。というわけで、現在テスト中・・・。っで、動かしたら、CastException みたいのを食らう。ちらっと見た感じでは、Teeda の方を直す必要ありそうだから、あとで直しておこう(見た感じではサーブレットでも起こりそうな気もするな)。まだ、動作確認を始めたばかりだから、あと数日はExtensionFilter で悩まされそうだな・・・(Teeda の ID 問題はこのあとやろう)。

Teeda for Portlet

MyFaces にもあったのだが、タグにつく id がポートレット環境で問題があることに気づく。サーブレット環境なら、id は一意になっていると思うのだが、ポートレット環境では現在、一意にならない場合が発生する。ポートレット環境では同じものを同じページに表示することができるため。MyFacesのときは、UIViewRootの方をなおしたのだが、そのバグレポートをみたら、UIComponentBase でやるべきなんじゃないの?というコメントがされていた。というわけで、Teeda ではその方法で直すことを考えよっと。MyFaces にも結構、ポートレット周りで放置気味のバグがいろいろとあるけど、他人のふり見て我がふり直せ、みたいな感じで、Teeda も確認してみようかね。

・・・とりあえず、UIComponentBase の getClientId を直してみたけど、commandLink の onclick とかで使われているdocument.forms[‘_id0’]という感じで、そこには反映されてない・・・。うむむ、もしかして根が深い??