テンプレートは、標準のレイアウトおよびルック・アンド・フィールを複数のページ間またはリージョン内に強制適用するツールです。テンプレートを変更すると、そのテンプレートに基づいたすべてのページまたはリージョンも自動的に変更されます。テンプレートは、使用するタイプに応じて追加の標準化コントロールを提供します。
Oracle Portalでは、次の2つのタイプのテンプレートを作成できます。
Portalテンプレート
HTMLテンプレート
これらについては、この章で後述します。
テンプレートは、ページ・グループ内でのみ使用できます。ただし、「共有オブジェクト」ページ・グループに含まれるものを除きます。「共有オブジェクト」ページ・グループ内のテンプレートは、ページ・グループ間で適用できます。
注意: 「共有オブジェクト」ページ・グループのデフォルト言語は英語です。このことは、英語以外のページ・グループでテンプレートを共有する場合は特に重要です。「共有オブジェクト」ページ・グループのテンプレート上のオブジェクトは、該当する言語の明示的な翻訳がないと、テンプレートに基づいた英語以外のページには表示されません。これらのオブジェクトを表示するには、まずオブジェクトの翻訳バージョンをテンプレートに追加する必要があります。アイテムの翻訳の追加方法は、19.3.1項「翻訳されたアイテムの追加」を参照してください。 |
この項では、これらのテンプレート・タイプを説明し、使用条件のリストを示します。内容は次のとおりです。
Portalテンプレートは、テンプレート作成ウィザードの手順をたどりながら宣言して作成するテンプレートです。Portalテンプレートを使用すると、特定のレイアウト、色、フォントおよび背景を強制適用できます。Portalテンプレートは、ページ・パラメータおよびイベントを使用して拡張できます。
Portalテンプレートの使用方法には、ページと使用する方法とアイテムと使用する方法の2つがあります。この項では、Portalテンプレートの利点および使用の概要と、ページ用Portalテンプレートおよびアイテム用Poratlテンプレートの詳細を説明します。内容は次のとおりです。
Portalテンプレートは、ページおよびアイテムに適用するテンプレートを定義するための簡単で宣言的な方法です。ページ用Portalテンプレートは、ナビゲーション・ページ、標準ページおよび標準ページ・タイプに基づいたカスタム・ページに使用します。アイテム用Portalテンプレートは、テキスト・アイテム、PL/SQLアイテム、URLアイテムおよびtext/htmlまたはtext/plainタイプのすべてのファイル・アイテムに使用します。
ページ用Portalテンプレートは、標準の外観およびページ・レイアウトを強制適用します。アイテム用Portalテンプレートは、テンプレートのコンテキスト内にアイテムコンテンツを表示し、パラメータとともに機能して、テンプレート・ポートレットを現在表示されているアイテムとのマスター/ディテールの関係で表示します。
アイテム用Portalテンプレートは、アイテムコンテンツのかわりに「アイテムのプレースホルダ」アイテム・タイプを使用します。ユーザーがアイテムのURLにアクセスすると、アイテムはテンプレートのコンテキスト内の以前はアイテムのプレースホルダが保有していた場所にレンダリングされます。アイテム用Portalテンプレートは、ページまたはアイテムのいずれかのレベルに適用できます(12.2.2項「アイテムとのPortalテンプレートの使用」を参照)。
ページ用Portalテンプレートを使用すると、特定のレイアウト、スタイル、一連の権限およびコンテンツを複数のページ間で強制適用できます。標準ページと同様に、ページ用Portalテンプレートでは、複数のリージョンおよびタブへの分割、スタイルの適用、アクセス権限の付与、アイテムおよびポートレットの追加ができます。また、テンプレートに対してパラメータを定義し、テンプレートに基づいたページに配置されたポートレットとともに使用することもできます。
テンプレートを使用するページには、テンプレートに組み込まれたアイテム、ポートレット、権限およびパラメータがすべて組み込まれます。テンプレートを更新すると、そのテンプレートに基づいたすべてのページは自動的に即時更新されます。
テンプレート作成者は、テンプレート・ユーザーが独自のアクセス・ルールを指定するか、または独自のスタイルを選択することを許可できます。テンプレートでユーザーが独自のアクセス・ルールまたはスタイルを選択することを許可する場合、テンプレート上のこれらのプロパティを更新しても、そのテンプレートに基づいたページは影響を受けません。
ページ用Portalテンプレートの作成、適用、編集または切離しの方法は、12.2項「ページ用およびアイテム用のPortalテンプレートに関する作業」を参照してください。
アイテム用Portalテンプレートを使用すると、特定のレイアウト、スタイルおよび関連コンテンツを強制適用できます。アイテム用Portalテンプレートにより、リクエストされたアイテムは、アイテムのコンテナ・ページの所定の場所ではなく、テンプレートによって定義されたレイアウト内に表示されます。たとえば、アイテムへのリンクがアイテムのコンテナ・ページに表示されている場合に、ユーザーがそのリンクをクリックすると、アイテムコンテンツは関連付けられたPoratlテンプレートのコンテキスト内に表示されます。アイテムのコンテンツは、テンプレート上のアイテムのプレースホルダのかわりに表示されます(図12-3)。
アイテム用Portalテンプレートは、テキスト・アイテム、PL/SQLアイテム、URLアイテムおよびtext/htmlまたはtext/plainタイプのすべてのファイル・アイテムに使用できます。
アイテム用Portalテンプレートは、ページ用Portalテンプレートの作成に使用するのと同じウィザードを使用して作成します。これらのテンプレート・タイプ間の主な相違点は、アイテム用テンプレートは「アイテムのプレースホルダ」アイテム・タイプとともに使用しますが、ページ用テンプレートは使用しません。アイテムのプレースホルダをPortalテンプレートに追加すると、そのPoratlテンプレートは、アイテム用Portalテンプレートになり、アイテムとともにしか使用できなくなります。もう1つの相違点は、各テンプレート・タイプに適用されるセキュリティ・モデルです。詳細は、17.11項「Portalテンプレートに対する権限の付与」を参照してください。
アイテムがURLを介してリクエストされると、アイテム用Portalテンプレートは、アイテムのプレースホルダがテンプレート上に配置された場所にリクエストされたアイテムのコンテンツを動的に配置します。アイテム用Portalテンプレートは、ページ・テンプレートとして使用できません。アイテムのプレースホルダをPortalテンプレートに追加すると、そのテンプレートは、テンプレートをページに適用するために使用されるテンプレート選択リストに表示されなくなります。
アイテムのプレースホルダは、テンプレート・レイアウト内の場所を予約します。アイテムがリクエストされると、その場所はアイテムのコンテンツで埋まります。予約された場所に移入されるコンテンツのかわりを一時的にするデフォルト・アイテムを選択できます。アイテムのプレースホルダに対してデフォルト・アイテムを選択すると、アイテム用PortalテンプレートがURLを介して直接コールされたら、該当するコンテンツが必ず表示されるようにできます。
ユーザーがアイテム用Portalテンプレートから収集されたページ上のタブ間を切り替えると、本来リクエストしたアイテムのコンテキストが失われる場合があります。このような場合は、本来テンプレートを呼び出したアイテムのかわりにデフォルト(プレースホルダ)・アイテムが表示される可能性があります。このような混乱した状態(論理的な状態ですが)を避ける方法の1つとして、タブおよびサブタブの数を最小限に抑えるなど、インページ・ナビゲーションを最小限にして、アイテム・テンプレートをできるだけ単純な状態に保ちます。
アイテム用Portalテンプレートにパラメータを定義して、テンプレートに組み込まれたポートレットとのやり取りに使用できます。
アクセス制御をアイテム用Portalテンプレートに適用すると、テンプレート全体、テンプレート・タブおよびテンプレート・アイテムを保護できます。詳細は、17.11項「Portalテンプレートに対する権限の付与」を参照してください。
アイテム用Portalテンプレートの作成、適用、編集または切離しの方法は、12.2.2項「アイテムとのPortalテンプレートの使用」を参照してください。
HTMLテンプレートは、独自のHTMLコードで作成したテンプレートです。ページ・コンテンツをラップするHTMLや、リージョン・コンテンツを書式設定するHTMLを作成できます。HTMLテンプレートは、簡単なOracle Portalのウィザードを使用して作成します。
有効なHTMLコードは、HTMLテンプレートに組み込むことができます。これには、JavaScript、Macromedia Flashなどがあります。また、Oracle Portalには、HTMLテンプレートの代替タグが用意されており、Oracle Portalコンテンツをテンプレートに組み込むために使用できます。HTML代替タグの詳細は、付録E「HTMLおよび非構造化UIテンプレートの代替タグ」を参照してください。
HTMLテンプレートには、HTMLページ・スキンとHTMLコンテンツ・レイアウトの2つのサブタイプがあります。この項では、これらのテンプレート・タイプとその使用方法について説明します。内容は次のとおりです。
HTMLテンプレートを使用すると、ページのHTMLに対する制御がより適切にできます。HTMLテンプレートは、ページおよびページ・ポートレットの飾りに使用します。また、ページおよびページ・ポートレットをHTMLまたは他の標準Webマークアップでラップしたり、アイテム・属性とともにアイテム・リンクをレイアウトおよび書式設定するために使用します。
HTMLページ・スキンは、ページの外側の境界線を囲むようにレンダリングされます。ページとPortalテンプレートの両方に適用できます。たとえば、HTMLページ・スキンをPortalテンプレートに適用した後、そのPortalテンプレートをページに適用できます。ページでは、1つのページ・レベルのテンプレートしか適用できないため、HTMLページ・スキンをPortalテンプレートに適用した後、そのPortalテンプレートをページに適用すると、ページでHTMLページ・スキンとPortalテンプレートを同時に使用できるようになります。
ページがポートレットとして公開されると、ページに適用したページ・スキンも表示されます。テンプレートはポートレットをラップするため、リージョン・スキンのような外観になります。HTMLコンテンツ・レイアウト・テンプレートを使用すると、同じ効果を得ることができます。
ページ・スキンは、ページ・タイトル、現在ログインしているユーザー、生成されたサイト・リンクなどの標準ページ要素のかわりに、ページ・レベルの代替タグを使用します。代替タグは、Portalリポジトリに格納された情報をレンダリングするHTMLを生成します。また、<oracle></oracle>
タグを使用すると、条件文などのPL/SQL要素をテンプレートに取り込むことができます。HTMLページ・スキンの代替タグの詳細は、付録E「HTMLおよび非構造化UIテンプレートの代替タグ」を参照してください。
リージョン・レベルで、表示する特定の属性を選択するか、またはHTMLコンテンツ・レイアウト・テンプレートを使用してリージョン・コンテンツをレンダリングするかを選択します。HTMLコンテンツ・レイアウトを使用すると、作成したHTMLはリージョン内のアイテムごとに繰り返されます。たとえば、2段構造のHTMLコンテンツ・レイアウトを作成します。そのレイアウトでは、アイテムコンテンツ(アイテムへのリンク形式)を一方の段に、その「作成日」、「説明」および「管理者」の各属性を他方の段に表示します。これに対するHTMLをHTMLコンテンツ・レイアウト・テンプレートに1回入力します。3つのアイテムを持つリージョンにテンプレートを適用します。テンプレートのHTMLに従って、3つすべてのアイテムが表示されます(図12-4)。
HTMLコンテンツ・レイアウトでは、アイテム・レベルの代替タグをラベル、値およびスタイルに使用するため、HTMLを完全に制御できます。また、HTMLコンテンツ・レイアウトで<oracle></oracle>
タグを使用すると、条件文などのPL/SQL要素をテンプレートに取り込むことができます。
注意: HTMLコンテンツ・レイアウトは、コンテンツ・アイテム・タイプのみに適用されます。ナビゲーション・アイテム・タイプには適用されません。たとえば、リージョンに対して選択したHTMLコンテンツ・レイアウトは、そのリージョン内のテキスト・アイテムには適用されますが、オブジェクト・アイテムのリストには適用されません。 |
HTMLページ・スキンを使用して、ページ・コンテンツの周辺領域の外観を定義します。HTML表を使用すると、ページ・スキンでコンテンツをページの四方すべてに表示することができます。イメージ、テキスト、HTMLフォーマット、JavaScript、他の一般的なマークアップまたは他のWebページに配置可能なオブジェクト・タイプを追加できます。
HTMLページ・スキンを使用して、ページの本体領域を定義します。本体領域とは、ページ・コンテンツが表示される場所です。
HTMLページ・スキンの代替タグを使用して、Oracle Portal要素をページ・スキンに取り込むことができます。これらを使用して、ページの「編集」リンクまたは「パーソナライズ」リンク、現在ログインしているユーザーの名前、現行のページの表示名などの要素を取り込みます。HTMLページ・スキンの代替タグのリストは、説明および例を含め、付録E「HTMLおよび非構造化UIテンプレートの代替タグ」を参照してください。
また、<oracle></oracle>
タグを使用すると、条件文などのPL/SQL要素をテンプレートに取り込むことができます。
HTMLページ・スキンは、Oracle Portalのウィザードを使用して作成します。サード・パーティのHTMLエディタを使用してテンプレートHTMLを作成した後、作成したものを切り取ってウィザードの「HTMLコード」フィールドに貼り付けることができます。
HTMLページ・スキンの作成、適用、編集または切離しの詳細は、12.3.1項「HTMLを使用したページの境界線の定義」を参照してください。
HTMLコンテンツ・レイアウトを使用して、特定のリージョン内のコンテンツに対する書式設定方式を定義します。HTMLコンテンツ・レイアウトは、アイテム・リージョン、ポートレット・リージョンまたはその両方で使用できるように設計します。HTMLを使用して表、フォント・デザイン、色および他のマークアップまたは他のHTMLテンプレートに配置可能なオブジェクト・タイプを作成します。さらに、カスケード・スタイル・シート(CSS)をコールすると、他の形式の会社資料で使用する標準書式を適用できます。
注意: HTMLコンテンツ・レイアウトは、リージョン内のポートレットまたはアイテムごとにそれ自体を繰り返します。CSSをコンテンツ・レイアウトで使用する前に十分検討してください。CSSは、リージョン内のアイテムの数だけ繰り返されます。Oracle Portalおよびカスケード・スタイル・シートの詳細は、11.12項「HTMLテンプレートおよびCSSでのPortalスタイル要素クラスの使用」を参照してください。 |
HTMLコンテンツ・レイアウトの代替タグを使用して、表示名、説明、カテゴリ、パースペクティブなどのOracle Portal要素を取り込みます。HTMLコンテンツ・レイアウトの代替タグのリストは、説明および例を含め、付録E「HTMLおよび非構造化UIテンプレートの代替タグ」を参照してください。
また、<oracle></oracle>
タグを使用すると、条件文などのPL/SQL要素をテンプレートに取り込むことができます。
HTMLコンテンツ・レイアウトは、Oracle Portalのウィザードを使用して作成します。サード・パーティのHTMLエディタを使用してテンプレートHTMLを作成した後、作成したものを切り取ってウィザードの「HTMLコード」フィールドに貼り付けることができます。
HTMLコンテンツ・レイアウトの作成、適用、編集または切離しの詳細は、12.3.2項「HTMLを使用したリージョン・コンテンツのレイアウトと外観の定義」を参照してください。
表12-1に、Oracle Portalユーザー・インタフェースで各タイプのテンプレートを適用できる場所の簡潔な説明および各タイプの使用条件の概要を示します。
表12-1 テンプレート・タイプの比較