ヘッダーをスキップ
Oracle Fusion Middleware Oracle Portalユーザーズ・ガイド
11gリリース1(11.1.1)
B61383-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

21.4 テンプレートのキャッシュ

テンプレート・キャッシュ・オプションは、テンプレートのレスポンス時間の高速化に役立ちます。特に、アイテム用のPortalテンプレートの場合、キャッシュによってそのPortalテンプレートのコンテキスト内にあるアイテムの動的なアセンブルを高速に行えます。

テンプレート・キャッシュ・オプションは、ページ用のPortalテンプレートには使用できません。テンプレートに基づくページでは、テンプレートのキャッシュ・オプションではなく独自のキャッシュ・オプションを使用します。21.1項「ページのキャッシュ」を参照してください。

この項では、テンプレート・キャッシュ・オプションとそれらの適用方法について説明します。内容は次のとおりです。

21.4.1 Portalテンプレートのキャッシュ方法の変更

Portalテンプレートのキャッシュ・オプションは、アイテム用のPortalテンプレートの場合のみ表示されます。アイテム用のPortalテンプレートとは、「アイテムのプレースホルダ」アイテム・タイプを含むPortalテンプレートです。アイテム用のPortalテンプレートの場合、テンプレート・キャッシュ・オプションでは、テンプレート定義およびテンプレート・コンテンツのキャッシュ・レベルを定義します。


注意:

アイテム用のPortalテンプレートで、アイテムのプレースホルダが削除されたり、非表示または有効期限切れになっている場合も、キャッシュ・オプションは「メイン」タブに表示されます。これらは、システムのパージによってアイテムが完全に削除されるまで表示されます。

アイテム用のPortalテンプレートのキャッシュ方法を変更するには、次のようにします。

  1. 「ページ・グループ」ポートレットの「作業場所」ドロップダウン・リストから、アイテム用のPortalテンプレートを所有するページ・グループを選択します。

    デフォルトでは、「ページ・グループ」ポートレットは「Portalビルダー」ページの「構築」タブにあります。

  2. 「レイアウトと外観」セクションの「Portalテンプレート」で、アイテム用のPoralテンプレートへのリンクをクリックします。

    テンプレートが編集モードで開きます。

  3. ページ上部の「テンプレート: プロパティ」リンクをクリックします。

  4. 「メイン」タブをクリックして、前面に表示します。

  5. テンプレート・キャッシュ・オプションを選択します。

    各キャッシュ・オプションの説明は、21.4.2項「Portalテンプレートのキャッシュ・オプション」を参照してください。

  6. 「OK」をクリックして変更を保存し、テンプレートに戻ります。

21.4.2 Portalテンプレートのキャッシュ・オプション

表21-4は、テンプレート・キャッシュ・オプションのリストとその説明です(「ポータル・テンプレートを編集: メイン」タブ)。

  • ユーザー・レベルでテンプレート定義のみをキャッシュ

  • テンプレートの定義およびコンテンツをユーザー・レベルで[ ]分間キャッシュ

  • システム・レベルでテンプレート定義のみをキャッシュ

  • テンプレートの定義およびコンテンツをシステム・レベルで[ ]分間キャッシュ

  • キャッシュしない

表21-4 テンプレート・キャッシュ・オプション

オプション 説明

ユーザー・レベルでテンプレート定義のみをキャッシュ

Oracle Web CacheとPortalキャッシュの両方に、各ユーザーのテンプレート定義をキャッシュします。定義には、次のものがあります。

  • テンプレート構造を記述するメタデータ

  • テンプレート上のポートレットのID

  • テンプレート上に存在するアイテム

  • テンプレートで使用されているスタイルのID

このオプションは、動的なポートレット・コンテンツとユーザー固有のテンプレート定義を使用するテンプレートに選択します。たとえば、ユーザー固有のテンプレート定義には次のものがあります。

  • アイテム・レベルのセキュリティが設定されたアイテム

  • 「ナビゲーション」アイテム: ページ・リンク、ページ・パス、ログイン/ログアウト・リンク

  • 「Portalスマート・リンク」アイテム: 編集、個人用ページ

  • 「Portalスマート・テキスト」アイテム: 現行ユーザー

このオプションでは、ユーザーのリクエストごとにテンプレートの再生成は行われません。テンプレート定義は、ユーザーがテンプレートに初めてアクセスしたときに生成されます。ただし、リクエストごとにポートレット・コンテンツが取り出され、テンプレートがアセンブルされます。この処理により、テンプレートに動的なポートレット・コンテンツを表示できます。

次の点に注意してください。

  • 各ユーザーのデータを格納すると、記憶域とパフォーマンスに影響を与えることがあります。

  • テンプレートにユーザー固有のポートレット・コンテンツが含まれている場合は、このオプションを選択する必要はありません。ポートレットのキャッシュ・レベルは、ポートレット・インスタンス・レベルで個別に指定できます。21.3項「ポートレットのキャッシュ」を参照してください。

  • テンプレート・コンテンツにセキュリティで保護されたタブが含まれているために、テンプレート・コンテンツがユーザー固有である場合も、これらはテンプレート定義とは別にユーザー・レベルでキャッシュされるため、テンプレート定義はユーザー固有ではありません。

テンプレートの定義およびコンテンツをユーザー・レベルで[ ]分間キャッシュ

ユーザーごとに、指定された秒数、前のオプションで説明したテンプレート定義とすべてのポートレット・コンテンツを含むアセンブル済のテンプレートのコンテンツをキャッシュします。これは、ユーザー・レベルの有効期限ベースのキャッシュと呼ばれます。

このオプションは、指定された時間中変化しないポートレットとユーザー固有のテンプレート・コンテンツ(テンプレート定義またはポートレット・コンテンツ)を使用するテンプレートに選択します。

次の点に注意してください。

  • このオプションを選択すると、Parallel Page EngineとOracle Portalの中間層サーバーの負荷が軽減され、パフォーマンスが向上します。ユーザーのリクエストごとに、テンプレート・コンテンツのアセンブルとテンプレート定義およびポートレット・コンテンツの再生成は行われません。ただし、有効期限ベースのキャッシュでは、アセンブルされたテンプレートのポートレット・コンテンツがキャッシュされるため、キャッシュからテンプレートを取り出したときに一部のポートレット・コンテンツが古くなっている可能性があります。

  • 完全にアセンブルされたテンプレートは、Oracle Web Cacheとブラウザにキャッシュされ、Portalキャッシュにはキャッシュされません。

  • テンプレート定義が変更されると、Oracle Web Cache内のキャッシュおよび完全にアセンブルされたテンプレートは無効になります。

  • テンプレートに「リフレッシュ」スマート・リンクが含まれている場合(テンプレートに直接またはテンプレートのナビゲーション・ページ・ポートレット内に)、リンクはログイン・ユーザーに表示されます。このリンクをクリックすると、テンプレートはデータベースから再生成されます。

システム・レベルでテンプレート定義のみをキャッシュ

ユーザー全員のテンプレート定義を一度キャッシュします。すべてのユーザーが同じテンプレート定義を使用します。次のものが含まれます。

  • テンプレート構造を記述するメタデータ

  • テンプレート上のポートレットのID

  • テンプレート上に存在するアイテム

  • テンプレートで使用されているスタイルのID

このオプションは、動的なポートレット・コンテンツとユーザー全員に同じテンプレート定義を使用するテンプレートに選択します。

このオプションは、記憶域要件を軽減し、パフォーマンスを向上します。どのユーザーに対しても、リクエストごとのテンプレート定義の再生成を行いません。テンプレート定義は、任意のユーザーがテンプレートに初めてアクセスしたときに生成されます。リクエストごとにポートレット・コンテンツが取り出され、テンプレートがアセンブルされます。この処理により、テンプレートに動的なポートレット・コンテンツが表示されます。

このオプションは、次の場合に使用できます。

  • ポートレット・コンテンツがユーザー固有: テンプレートのポートレットのキャッシュ・レベルを、ポートレットのインスタンス・レベルで個別に指定できます。21.3項「ポートレットのキャッシュ」を参照してください。

  • テンプレートにセキュリティで保護されたタブが含まれている: これらはテンプレート定義とは別にユーザー・レベルでキャッシュされます。

次の場合は、このオプションを選択しないでください。

  • ユーザーに基づいてアイテムの表示を変える必要がある

  • 承認と通知が有効になっている: システム・レベルのキャッシュは承認対応のテンプレートには適していません。承認対応のテンプレートはすべてのユーザーに同じコンテンツを表示することを想定していないためです。5.4.2項「ページ・グループでの承認と通知の有効化」も参照してください。

テンプレート・パフォーマンスが重要な場合は、テンプレート定義に次の特定のユーザー固有アイテムが含まれているときにこのオプションを使用できます。

- アイテム・レベルのセキュリティが設定されたアイテム

- 「ナビゲーション」アイテム: ページ・リンク、ページ・パス、ログイン/ログアウト

- 「Portalスマート・リンク」アイテム: 編集

- 「Portalスマート・テキスト」アイテム: 現行ユーザー

このオプションを使用すると、アイテムはユーザーのアクセス権限に関係なく、すべてのユーザーに同じように表示されます。表示の面では最適な設定ではありませんが、ユーザーは適切なアクセス権限を持つアクションのみ実行できます。

テンプレートの定義およびコンテンツをシステム・レベルで[ ]分間キャッシュ

ユーザー全員に対して、指定された秒数、前のオプションで説明したテンプレート定義とすべてのポートレット・コンテンツを含むアセンブル済のテンプレートのコンテンツをキャッシュします。これは、システム・レベルの有効期限ベースのキャッシュと呼ばれます。

このオプションは、指定された時間中変化しないポートレットとユーザー全員に同じテンプレート・コンテンツ(テンプレート定義およびポートレット・コンテンツの両方)を使用するポートレットを使用するテンプレートに選択します。

次の点に注意してください。

  • テンプレートは、ユーザーがテンプレートをリクエストしても動的にアセンブルされません。このため、Parallel Page EngineとOracle Portal中間層サーバーの負荷を最小限に抑えるためには最適の選択肢です。ただし、有効期限ベースのキャッシュでは、アセンブルされたテンプレートのポートレット・コンテンツがキャッシュされるため、キャッシュからテンプレートを取り出したときに一部のコンテンツが古くなっている可能性があります。

  • 完全にアセンブルされたテンプレートは、Oracle Web Cacheとブラウザにキャッシュされ、Portalキャッシュにはキャッシュされません。

  • テンプレート定義が変更されると、Oracle Web Cache内のキャッシュおよび完全にアセンブルされたテンプレートは無効になります。

  • テンプレートに「リフレッシュ」スマート・リンクが含まれている場合(テンプレートに直接またはテンプレートのナビゲーション・ページ・ポートレット内に)、リンクはログイン・ユーザーに表示されます。このリンクをクリックすると、テンプレートはデータベースから再生成されます。

次の場合は、このオプションを選択しないでください。

  • ユーザーに基づいてコンテンツの表示を変える必要がある: ユーザー全員に同じテンプレートが表示されます。ポートレットには、パブリック・コンテンツのみが表示されます。テンプレートのすべてのタブとアイテムがユーザー全員に表示されます。ユーザーは適切なアクセス権限を持っている操作のみを実行できます。

  • 承認と通知が有効になっている: システム・レベルのキャッシュは承認対応のテンプレートには適していません。承認対応のテンプレートはすべてのユーザーに同じコンテンツを表示することを想定していないためです。5.4.2項「ページ・グループでの承認と通知の有効化」も参照してください。

キャッシュしない

テンプレート・キャッシュを無効にします。このオプションを選択すると、キャッシュによってパフォーマンスを向上できません。

このオプションを使用すると、Portalのパフォーマンスが低下します。このオプションは、絶対に必要な場合以外は使用しないでください。頻繁にアクセスされるテンプレートでは使用しないでください。このオプションを設定する必要があるテンプレート数を最小限に抑えてください。

次のような状況では、テンプレート・キャッシュを無効にする必要があります。

  • その場で表示され(つまりテンプレート上に直接表示され)、常に最新の状態に保つ必要がある動的コンテンツを生成する「PL/SQL」アイテムまたは「URL」アイテムがテンプレートに含まれている場合(このタイプのコンテンツには、キャッシュされないポートレットまたは有効期限の短いポートレットが適しています)。

  • 弱い無効化イベント(ユーザー・グループのメンバー構成の変更など)によってテンプレートを使用するページに対する権限を最近失ったアクティブなユーザーが、そのテンプレートをキャッシュから表示する可能性がある場合。


21.4.3 Portalテンプレートのキャッシュの消去

テンプレートに関連付けられているキャッシュ・エントリを手動でクリアできます。たとえば、テンプレートに関連付けられたアイテムに対するユーザーの権限を取り消し、権限レベルの変更を即座に適用する場合に役立ちます。キャッシュをクリアせず、テンプレートがそのキャッシュに残っている場合、ユーザーはアイテムにアクセスできます。

Portalテンプレートのキャッシュをクリアするには、次のようにします。

  1. 「ページ・グループ」ポートレットの「作業場所」ドロップダウン・リストから、Portalテンプレートを所有するページ・グループを選択します。

    デフォルトでは、「ページ・グループ」ポートレットは「Portalビルダー」ページの「構築」タブにあります。

  2. 「レイアウトと外観」セクションの「Portalテンプレート」で、Poralテンプレートへのリンクをクリックします。

    テンプレートが編集モードで開きます。

  3. ページ上部の「テンプレート: プロパティ」リンクをクリックします。

  4. 次のいずれかの処理を実行します。

    • (アイテム用のPortalテンプレートのみ)「メイン」タブをクリックし、「キャッシュのクリア」を選択します。

    • (ページ用およびアイテム用のPortalテンプレート)「アクセス」タブをクリックし、「キャッシュのクリア」を選択します。

  5. 「OK」をクリックして、Portalテンプレートに戻ります。