デザインの概要

ポートレット API (JSR 168) は、ポートレットプログラミングの Java 標準インターフェースを定義しています。 ポートレット API 仕様により、ポートレットとポータルの間の相互の接続が可能になります。 しかし、Java ポートレット API は、ポータルのデザインについての標準は定義していません。 本章では、デザインに関する事項について説明します。

デザインテンプレート

ポートレットページ内の 1 つ以上のポートレットを描画するということは、描画するためのテンプレートをを用意して、それらのポートレットを動的なコンテンツとして集約する処理を行うことになります。 PALポータルは、ページの描画を Apache Velocity テンプレートを使って生成します。 PALポータルの構造は、Velocity 以外に JSP をテンプレートとして使うことが可能な構造をしていますが、Velocity の利用をサポートしています。

PALポータルには、レイアウトテンプレートと 2 種類のデコレータが存在しています。 レイアウトテンプレートは、ポートレットの表示列数などページの基本構成を描画する処理をします。 デコレータは、レイアウトデコレータとポートレットデコレータがあり、前者はページ全体のデザインを構成し、後者は表示するポートレットのデザインを構成します。

レイアウトテンプレート

レイアウトテンプレートは、ポートレットの表示列数を表現するなどの、ポータルページの集約処理を制御します。 レイアウトテンプレートの機能的な部分は、PALポータル用の配備可能なレイアウトポートレットアプリケーションとしてまとめられています。 レイアウトテンプレートは、コンテンツ集約のためのコンポーネントモデルを提供し、ポートレットが生成したコンテンツを統合してポータルページを生成します。 PALポータルは一列、または二列、または三列のレイアウトを含むいくつかのレイアウトコンポーネントを同梱しています。 必要に応じて、新規のレイアウトを定義することも可能です。

デコレータ

デコレータには、レイアウトデコレータとポートレットデコレータがあります。 レイアウトデコレータでは、ページのヘッダーやフッターなどのページ全体のでデザインを構成します。 ポートレットデコレータでは、ポートレットの枠の部分やポートレット内で表示するコンテンツのスタイルを構成します。 デコレータは、Velocity テンプレートにより記述され、利用する CSS や画像などのデータを含みます。 PALポータルでは、デコレータの記述テンプレートとして JSP も利用可能ですが、標準では Velocity をサポートします。 デコレータは、PALポータル用の配備可能なアーカイブとしてまとめることも可能です。