スケルトンおよびスケルトン テーマを作成する

ポータル デスクトップとは、互いに階層的な関係にあるブック、ページ、およびポートレットなどのポータル コンポーネントの集合です (ブックにページが含まれ、ページにポートレットが含まれるなど)。ポータル コンポーネントの大半は XML ファイルであるため、これらをブラウザで表示するには、HTML への変換が必要です。この表示が、スケルトンの役割です。

各ポータル コンポーネントには、1 つ以上の対応するスケルトン JSP ファイルがあります。ポータル デスクトップが表示されるとき、各ポータル コンポーネントのスケルトン JSP は、(関係のあるすべてのクラスとの関連で) それぞれのロジックを実行し、得られた HTML を HTML ファイルの適切な階層上の位置に挿入します。

スケルトンには、テーマを含めることもできます。スケルトン テーマとは、ブック、ページ、およびポートレットで使用して、ポータル デスクトップの他の部分とは異なるフィールを与えることができる、スケルトン JSP のサブセットです。

スケルトンは、スキンと組み合わせて、ポータル デスクトップのルック アンド フィールを構成します。ポータル デスクトップのルック アンド フィールを選択すると、そのルック アンド フィールは、使用されるスケルトンおよびスキンを指し示します。

このトピックでは、以下の手順および情報を説明します。

スケルトンを作成すべき場合

ポータル アプリケーションでポータル Web プロジェクトを作成した場合、そのプロジェクトには、使用可能な定義済みのスケルトンが含まれています。ほとんどの場合、定義済みのスケルトンを使用すれば必要は満たせます。ポータル デスクトップの物理的外見と動作の変更は、多くの場合、新しいスケルトンを作成することよりも、新しいスキンおよびシェルを作成することで実現できます。

次のことが必要な場合には、スケルトンを作成します。

スケルトンを作成するには

  1. WebLogic Workshop Platform Edition でポータル アプリケーションが開いた状態で、既存のスケルトン ディレクトリのコピーを作成します。たとえば、<project>¥framework¥skeletons¥default ディレクトリを右クリックして、[複製] を選択します。重複するディレクトリが表示されたら、名前を変更します。

    モバイル機器をサポートするためのスケルトンを作成する場合は、新しいディレクトリをメイン スケルトンのサブディレクトリに移動します。新しいディレクトリに、<project>¥WEB-INF¥client-classifications.xml ファイル内の機器の分類名とまったく同じ名前を付けます。
  2. 新しいスケルトン ディレクトリで、skeleton.properties ファイルを開きます (デフォルト のスケルトン ディレクトリをコピーした場合は、別のスケルトンからの skeleton.properties を新しいスケルトン ディレクトリのルートにコピーして開きます)。
  3. skeleton.properties で、スケルトン検索順序に、必要な修正をすべて加えます。たとえば、次の例を見てください。

    jsp.search.path: ., ../default

    このエントリで、スケルトン ファイルは最初に現在のディレクトリ (.) 内で検索されます。現在のディレクトリで見つからなければ、../default ディレクトリ内で検索が行われます。どちらのディレクトリにもスケルトンがなければ、スケルトンが見つかるまで、スケルトン ディレクトリ全体が検索されます。
  4. skeleton.properties を保存します。
  5. スケルトン JSP を、必要な表示を実行できるように修正します。ポータル表示 JSP タグ ライブラリのタグを使用します。特に、<render:beginRender> タグおよび <render:endRender> タグを使用します。

    どのスケルトン JSP を修正するかについては、下の表で「ポータル コンポーネントがスケルトンにマッピングを行う方法」以降を参照してください。

    スケルトン ファイルの名前は変更しないでください。スケルトン ファイル名は、それぞれのクラス ファイルでハードコード化されています。唯一の例外は、独自のバッキング クラス ファイルを使用しており、作成しているスケルトンの名前を明示的に識別する、新しい表示インフラストラクチャを作成している場合です。
  6. スケルトン JSP を保存します。
  7. スケルトンのサブディレクトリに格納されているすべてのデバイス スケルトンの skeleton.properties またはスケルトン JSP に、適切な修正を行います。
  8. 新しいスケルトンを使用するには、それをルック アンド フィール ファイルで参照します。「ルック アンド フィールのファイルを作成する」を参照してください。

    また、WebLogic Workshop Portal Extensions Portal Designer でポータルを操作する場合には、選択した各ポータル コンポーネントに、プロパティ エディタで設定可能なスケルトン URI プロパティがあります。このプロパティにより、ポータル デスクトップの選択されたルック アンド フィールで識別されるスケルトンの代わりに、コンポーネントで使用したい特定のスケルトン ファイルを指定することができます。

スケルトンには、ビジネス ロジックを追加しないでください。スケルトンは、物理的な表示専用に設計されています。ビジネス ロジックはシェル (ヘッダまたはフッタ) に追加します。「シェルを作成する」および「デスクトップ ヘッダまたはフッタをパーソナライズするには」を参照してください。

スケルトン テーマを作成するには

テーマは、スキンおよびスケルトン間で共有される単一の .theme ファイルで表されます。たとえば、ポートレットに対して「alert」というテーマを選択すると、ポータル フレームワークは「alert」というスキンおよびスケルトン サブディレクトリを探します。単にそれに対してスケルトンを作成したいテーマがすでに存在する場合は、手順 5 から開始してください。

  1. ポータル アプリケーションが WebLogic Workshop Platform Edition で開いている状態で、ポータル Web プロジェクト内の既存のテーマ ファイルを複製します。たとえば、<project>¥framework¥markup¥theme¥alert.theme ディレクトリを右クリックして、[複製] を選択します。

    新しいテーマ ファイルが、名前の末尾に番号を付されて表示されます。
  2. 新しいテーマ ファイルの名前を変更します。必ず拡張子 .theme を維持してください。
  3. 新しいテーマ ファイルが開いている状態で、<netuix:theme> 要素の属性 nametitledescriptionmarkupName を修正します。title 属性は、ドロップダウン メニューでテーマを選択するための名前となります。markupName は、他のテーマとの間でユニークなものとする必要があります。
  4. テーマ ファイルを保存します。
  5. スケルトン ディレクトリで、テーマと同じ名前のサブディレクトリを作成します。
  6. 既存のスケルトン ディレクトリから、新しいテーマ ディレクトリへ、適切なスケルトン JSP をコピーします。必要なのは、テーマの影響を及ぼしたいポータル コンポーネントのスケルトン JSP のみです。対応するテーマ スケルトン JSP のないポータル コンポーネントは、親スケルトン JSP を使用します。
  7. スケルトン テーマ内のスケルトン JSP ファイルを修正します。ファイル名は変更しないでください。
  8. スケルトン テーマ ディレクトリを他のスケルトン ディレクトリのサブディレクトリとしてコピーします。

使用できるテーマ (.theme ファイルによって識別) はすべて、スケルトンに入っているかどうかに関係なく、ブック、ページ、およびポートレット用に選択可能です。デスクトップに選択されたルック アンド フィールが、選択したテーマを使用しないスケルトンを参照している場合は、使用されるテーマはありません。

ポータル コンポーネントがスケルトンにマッピングを行う方法

ポータル コンポーネント 使用されるスケルトン JSP 目的
デスクトップ desktop.jsp HTML ドキュメント宣言を挿入し、<!-- Begin Desktop --> および <!-- End Desktop --> コメントを挿入する。
シェル shell.jsp HTML ドキュメントの開始および終了 <html> タグを挿入し、<!-- Begin Shell --> および <!-- End Shell --> コメントを挿入する。
シェル - .shell ファイルの <netuix:head> タグ head.jsp HTML ドキュメントの開始および終了 <head> タグを挿入し、<!-- Begin Head --> および <!-- End Head --> コメントを挿入する。
シェル - .shell ファイルの <netuix:body> タグ body.jsp HTML ドキュメントの開始および終了 <body> タグを挿入し、プレゼンテーション ロジックを指定する。
シェル - .shell ファイルの <hetuix:header> タグ header.jsp デスクトップのヘッダ領域を表示する。
シェル - .shell ファイルの <netuix:footer> タグ footer.jsp デスクトップのフッタ領域を表示する。
ブック

book.jsp

ブックのフレームワークおよびスタイルを表示する。
ナビゲーション メニュー singlelevelmenu.jsp WebLogic Portal によって提供されるシングル レベル メニューを表示する。
ナビゲーション メニュー multilevelmenu.jsp WebLogic Portal によって提供されるマルチ レベル メニューを表示する。
ナビゲーション メニュー submenu.jsp ブックのナビゲーション リンクを作成するために multilevelmenu.jsp で使用される。ネストしたブックおよびページの表示にも使用される。
ページ page.jsp ページのフレームワークおよびスタイルを表示する。
レイアウト - .layout ファイルの <netuix:gridLayout> タグ gridlayout.jsp グリッド レイアウト スタイルを使用してレイアウト内にプレースホルダを表示する。
レイアウト - .layout ファイルの <netuix:borderLayout> タグ borderlayout.jsp ボーダー レイアウト スタイルを使用してレイアウト内にプレースホルダを表示する。
レイアウト - .layout ファイルの <netuix:flowLayout> タグ flowlayout.jsp フロー レイアウト スタイルを使用してレイアウト内にプレースホルダを表示する。
レイアウト - .layout ファイルの <netuix:placeholder> タグ placeholder.jsp レイアウト内の個々のプレースホルダを表示する。
ポートレット タイトルバー titlebar.jsp ポートレット タイトルバーを表示する。
移動可能なウィンドウ用のポートレット タイトルバーのボタン buttonfloat.jsp 別個のポートレット モード ウィンドウを起動するボタンを表示する (たとえば、[編集] および [ヘルプ])。
ポートレット タイトルバーの切り替えボタン togglebutton.jsp ポートレットの状態間で切り替えを行うボタンを表示する (たとえば、[最小化/元のサイズに戻す] および [最大化/元のサイズに戻す])。
ポートレット タイトルバーの削除ボタン togglebuttondelete.jsp ページからポートレットを削除するボタンを表示する。
ポートレット error.jsp ポートレットにエラー メッセージを表示する。
ポートレット webflowportlet.jsp WebLogic Portal の旧バージョンで作成され、互換性ドメインで実行されている Webflow ポートレットを表示する。
ブック、ページ、およびポートレット window.jsp コンテンツ領域のコンテナを表示する。
テーマ theme.jsp ブック、ページおよびポートレットに適用されるテーマ内で、それらを表示する。

スキン用のスケルトンはありません。スケルトンには、適切なグラフィック、スタイル、および JavaScript 機能でコンポーネントを表示するスキン リソースへの参照が含まれています。テーマはスキンに関連していますが、テーマはスキンのスタイルをオーバライドするために挿入しなければならない、インライン スタイルであるため、スケルトンを必要とします。

サンプル

サンプル ポータル ファイルを表示する手順については、「ポータルのサンプル」を参照してください。

関連トピック

ルック アンド フィールによる表示の決定

ルック アンド フィールのファイルを作成する

スキンおよびスキン テーマを作成する

モバイル機器用のポータルを作成する