texでドキュメント

PALポータルの pdf ドキュメントを maven1 で作っていたのだけど、手軽なのだけど、制御しにくく、質を上げるのが難しいので、tex での移行を検討していて、ようやく移行作業も取りかかることにする。私自身も tex を長らく使っていないから、ひとまず、新規に作成するグループウェア系のドキュメントで調整・確認していこうかと。tex も久々に触ったのだけど、久々過ぎて記憶になさすぎ(^^; とりあえず、CentOS 5 では、何とか pdf まで吐くことができた。いまいち、最近は、何がスタンダードなコマンドかもよくわからん・・・(pdvips や pxdvi なんて、昔使った記憶ないな)。まぁ、この調子で進めよう。

ポートレットでのユーザー情報

グループウェア系のポートレットに力を入れて作っているけど、そこで問題になるのがポータルのユーザー情報をどう取るか、かな。JSR 168 だけでやろうとすると、ポータルに登録されているユーザー一覧情報とかを取る術がないから非常に困る(USER_INFO でログインしているユーザーの情報は取れるけど)。かといって、ユーザーID(たとえば、request.getRemoteUser()でとった値とか)ベースに毎回、ユーザーの名前とか、問い合わせていたんじゃ、使えないし・・・。というわけで、パフォーマンス的にも問題がない方法はどうするかと考えると、グループウェア系のポートレットで共有できるテーブルを持って、そこにユーザー情報を置く、ということかな(JSR 168 の枠でやるなら)。ユーザー情報がポータルとそことでダブるけど、こっちで作る方を主にしてもらって、こっちの方からポータル自体のユーザーまでいじれるようなプラグインでも作って、ポータル非依存に対応する感じが現実的かと考えている。というわけで、PAL にそれをするポートレットを作ろうっと。

ポートレットのタイトル

ポートレットのタイトルバー(ページのタイトルでない)を変更するときは、ポートレットAPIのRenderResponseのsetTitleをすれば、変えることができるのだけど、普通に作ると、タイトルを変えた後にポートレットを最小化すると、そのタイトルがデフォルトに戻ってしまう。理由は簡単で setTitle をしなきゃ、デフォルトのタイトルが表示されるし、最小化されているときは、GenericPortlet の doDispatch で処理が飛ばされ、setTitle するタイミングがない。これに対処するなら、GenericPortlet の doDispatch を上書きして、最小化のときに setTitle をするコードを書けばいい。でも、これって、個人的には気持ち悪いと思う。フレームワーク使ったポートレットだと、GenericPortlet 何かいじる機会ないし、最小化したときには一つ前のタイトルをキープするのが自然じゃないのかね(JSR 168 ではこれを言及してないな)。というわけで、PALポータルでは一つ前のタイトルをキープすることにしよ。