プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle JDeveloperによるWebCenter Portalアセットとカスタム・コンポーネントの開発
12c (12.2.1.1)
E79323-01
目次へ移動
目次

前
次

15 ページレット・プロデューサ・オブジェクトの作成

この章では、リソース、ページレット、Webインジェクタ、パーサー、ホストされたファイルなど、ページレット・プロデューサ・デプロイメント内の様々なオブジェクトを作成および構成する方法について説明します。

「ページレット・プロデューサ・コンソール」で説明したように、ページレット・プロデューサ・コンソールは、ページレット・プロデューサ・デプロイメント内の様々なオブジェクトを作成および管理するために使用する、ブラウザベースの管理ツールです。この章では、オブジェクトの各タイプに必要な設定について説明します。

この章の内容は次のとおりです。

15.1 リソースの作成

リソースは、ページレット・プロデューサに登録されたアプリケーションです。リソースとしてのアプリケーションにより、プロキシによる外部URLへの内部アプリケーションのマッピング、認証の管理およびアプリケーション機能の変換が可能になります。

新しいリソースを作成するには、次の手順を使用します。

  1. ページレット・プロデューサ・コンソールのナビゲータで、ドロップダウン・リストから「リソース」オプションを選択します。

  2. いずれかの既存のリソースをクリックし、ナビゲーション・ツールバーの「作成」アイコンをクリックします。(このボタンは、作成可能なオブジェクト・タイプを選択した場合のみ有効になります。)

    図15-1 ページレット・プロデューサ・コンソール - リソースの作成

    図15-1の説明が続きます
    「図15-1 ページレット・プロデューサ・コンソール - リソースの作成」の説明
  3. 「プロデューサ・タイプの選択」ダイアログ・ボックスで、リソースをプロキシするよう構成するプロデューサのタイプをドロップダウン・リストから選択します。

    • Web: すべての標準Webアプリケーション

    • CSP: CSPポートレット・プロバイダ・アプリケーション(Oracle WebCenter Interactionとともに使用)

    • WSRP/JPDK: WSRPまたはOracle PDK-Javaポートレット・プロデューサ(このタイプのリソースを作成する前に、『Oracle WebCenter Portalの管理』の「ページレット・プロデューサの管理」の説明に従って、関連するプロデューサを登録してください)。

    • OpenSocial: OpenSocialコンテナ

    図15-2 「プロデューサ・タイプの選択」ダイアログ

    図15-2の説明が続きます
    「図15-2 「プロデューサ・タイプの選択」ダイアログ」の説明
  4. 「OK」をクリックします。<new>というエントリがリソースのリストに追加されます。この新しいリソースには、選択したプロデューサのタイプに必要な構成ページが含まれます。

  5. ページレット・プロデューサ・コンソールでリソースを構成します。必要な構成ページは、プロデューサのタイプによって異なります。任意の時点で変更を保存するには、ナビゲーション・ツールバーの「保存」アイコンをクリックします。

リソースを定義したら、そのリソース内のページレットやその他のオブジェクトを作成します。詳細は、次のトピックを参照してください。

15.1.1 WebおよびCSPリソースの構成方法

この項では、WebおよびCSPリソースの構成方法について説明します。

この項には次のトピックが含まれます:

この項では、ページレット・プロデューサのインストール時に作成されるwelcome_resourceを例として使用します。

15.1.1.1 全般設定の構成方法

「全般」ページ(図15-3を参照)を使用して、リソースの基本情報を入力します。

図15-3 ページレット・プロデューサ・コンソール: 「リソース」 - 「全般」ページ

図15-3の説明が続きます
「図15-3 ページレット・プロデューサ・コンソール: 「リソース」 - 「全般」ページ」の説明
  • リソースの名前を入力します。

  • リソースの説明を入力します(オプション)。

  • 「ソースURL」フィールドに、プロキシするWebアプリケーション・リソースの場所を示すURLを入力します。たとえば、 http://internalServer/foo/です。

    注意:

    ADF Webアプリケーションをリソースとして構成する場合、ソースURLをhttp://hostname:portnumber/context-root/よりも詳細に指定することはできません。

  • デフォルトでは、ページレット・プロデューサは、エラー・メッセージを返すまで30秒間リソースへの接続を試行します。この値を変更するには、新しいソースのタイムアウトを秒単位で入力します。

  • 「宛先URL」フィールドに、リソースへのアクセスに使用する相対パスを入力します。このパスは、ページレット・プロデューサをホストするサーバー上にあるリソースのURLを作成するために使用します。

  • 動的HTMLを有効にするには、「DHTMLリライト」を選択します。このオプションでは、サーバーから返される元のHTMLに含まれず、DHTMLによって追加されるURLがサポートされます。ほとんどの場合、このオプションを有効にする必要があります。

  • 非同期Ajaxコールを通じたDHTMLのリライトを有効にするには、「非同期リライト」を選択します。

15.1.1.2 CSP設定の構成方法

デフォルトでは、CSPログイン・トークンは、プロキシされるリソースに渡されません。この機能を有効にするには、「CSPログイン・トークンの送信」を選択します。「CSP」ページはCSPリソースにのみ使用できます。

15.1.1.3 ポリシー設定の構成方法

「ポリシー」ページ(図15-4を参照)では、リソースへのアクセスをWebCenter Portal内の特定のロールに制限できます。

図15-4 ページレット・プロデューサ・コンソール: 「リソース」 - 「ポリシー」ページ

図15-4の説明が続きます
「図15-4 ページレット・プロデューサ・コンソール: 「リソース」 - 「ポリシー」ページ」の説明

ページレット・プロデューサをホストするJ2EEコンテナ(Oracle WebLogic Serverなど)では、現在のユーザーに関連付けられたロールのメンバーシップを確立する必要があります。「ポリシー」ページでは、1つのリソースに複数のロールを指定でき、ユーザーは指定されたいずれかのロールのメンバーである場合、アクセスを許可されます。そうでない場合、ユーザーはJ2EEコンテナによって委任された適切な認証ページに移動し、必要な資格証明を確立します。リストにロールが入力されていない場合、匿名アクセスが許可され、そのリソースは匿名リソースと呼ばれます。

注意:

このページで入力するロール名は、J2EEコンテナ(Oracle WebLogic Serverなど)内に作成されているロール名と一致する必要があります。

15.1.1.4 自動ログインの構成方法

自動ログイン機能を使用すると、ページレット・プロデューサから自動的に資格証明をアプリケーションに提供できるようになります。「自動ログイン」ページ(図15-5)では、リソースにアクセスするすべてのユーザーの認証情報を構成できます。

図15-5 ページレット・プロデューサ・コンソール: 「リソース」 - 「自動ログイン」ページ

図15-5の説明が続きます
「図15-5 ページレット・プロデューサ・コンソール: 「リソース」 - 「自動ログイン」ページ」の説明

次の項では、認証の資格証明マッピングを構成する方法について説明します。

15.1.1.4.1 自動ログインの構成方法: フォーム・ログイン

この項では、HTMLフォームによる認証が必要なリソースの自動ログインを構成する方法について説明します。

  1. リソースの「自動ログイン」ページで、「フォーム・ログイン」セクションを開きます(図15-6)。

    図15-6 「自動ログイン」ページ - 「フォーム・ログイン」

    図15-6の説明が続きます
    「図15-6 「自動ログイン」ページ - 「フォーム・ログイン」」の説明
  2. ログイン・ページは、URLや正規表現によって識別できます。「ログイン・フォームの識別」セクションで、次のいずれかのオプションを選択します。

    • ログイン・フォームの場所が静的URLである場合、「URL」を選択し、「値」フィールドにURLを入力します。ページ上の「フォーム・フィールドの自動検出」を選択するか、次の手順4の説明に従って、それらのフィールドを手動で入力できます。

    • ログイン・フォームが動的である場合、「RegEx」を選択し、ボックスに正規表現パターンを入力します。

  3. ログイン・フォームのアクションを設定します。「フォームの送信場所」セクションで、次のいずれかのオプションを選択します。

    • ログイン・フォームのアクションが静的URLである場合、「URL」を選択し、ボックスにURLを入力します。フォーム送信のアクションをPOSTまたはGETから選択します。

    • ログイン・フォームが動的である場合、「RegEx」を選択し、ボックスに正規表現パターンを入力します。

  4. フィールドをフォームから認証フィールドのソースにマップするには、前述の説明に従って「ログイン・フォームの識別」セクションの「フォーム・フィールドの自動検出」をクリックするか、次のプロセスを使用して、それらのフィールドを手動で入力します。

    1. 「作成」をクリックして、新しい行を「フォーム・フィールド」リストに追加します。

    2. HTMLフォーム入力の名前を「フィールド名」ボックスに入力します。

    3. 「ソース」プロパティおよび「値」プロパティを構成する方法の詳細は、「自動ログインの構成方法: 認証のソース」を参照してください。

      注意:

      重要なフィールドは、資格証明ボールト(「ユーザー・ボールト」または「保護」)を使用して安全に格納する必要があります。

    4. フィールドのマッピングを削除するには、「削除」をクリックします。

  5. ログアウト・ページとログイン・エラー・ページは、URLや正規表現によっても識別できます。「ログアウト・ページID」および「ログイン・エラー・ページの識別」セクションで、次のいずれかのオプションを選択します。

    • ページの場所が静的URLである場合、「URL」を選択し、表示されたフィールドにURLを入力します。

    • ページが動的である場合、「RegEx」を選択し、表示されたフィールドに正規表現パターンを入力します。

15.1.1.4.2 自動ログインの構成方法: 基本ログインとNTLMログイン

この項では、基本認証またはNTLMによる認証が必要なリソースの自動ログインを構成する方法について説明します。

  1. リソースの「自動ログイン」ページで、「基本ログイン」または「NTLMログイン」セクションを開きます。

    注意:

    基本認証では、パスワードがプレーン・テキストとして送信されるため、本番システムでは使用しないでください。また、基になるトランスポートとしてHTTPSを使用することを強くお薦めします。

  2. 「ユーザー名」および「パスワード」セクションで、適切な認証のソースを選択し、必要に応じて値を入力します。これらのプロパティを構成する方法の詳細は、「自動ログインの構成方法: 認証のソース」を参照してください。

15.1.1.4.3 自動ログインの構成方法: Kerberosログイン

この項では、Kerberosを使用した認証が必要なリソースの自動ログインを構成する方法について説明します。基本的なKerberos設定の定義の詳細は、「ページレット・プロデューサ設定の構成」を参照してください。

  1. リソースの「自動ログイン」ページで、「Kerberosログイン」セクションを開きます。

  2. 「ユーザー名」および「パスワード」セクションで、適切な認証のソースを選択し、必要に応じて値を入力します。これらのプロパティを構成する方法の詳細は、次の「自動ログインの構成方法: 認証のソース」を参照してください。

  3. 「SPN」フィールドに、Kerberosアカウントのサービス・プリンシパル名(SPN)を、http://hostname_with_kerberosの形式で入力します。(Kerberos認証サービスでSPNを使用してサービスを認証するには、そのサービス・インスタンスがログオンに使用するアカウント・オブジェクトに、SPNを登録する必要があります。)

15.1.1.4.4 自動ログインの構成方法: 認証のソース

認証のソースによって、ログイン・フィールドのソースが定義されます。表15-1に、各認証フィールドのソースの値をまとめます。

表15-1 ページレット・プロデューサの認証のソース

フィールド 説明

非保護

指定した認証情報を、リソースにアクセスするすべてのユーザーに使用します。表示されたフィールドに静的な値を入力します。

保護

ページレット・プロデューサ管理コンソールで管理者によって入力されたフィールド値を使用します。値は資格証明ボールトに格納され、認証されていない(匿名)ユーザーを含むすべてのユーザー間で共有されます。フィールド・キーは自動生成され、読取り専用フィールドとして管理コンソールに表示されます。

ユーザー・ボールト

リソースへの初回アクセス時に、ユーザーに資格証明を要求します。提供された資格証明は暗号化され、資格証明ボールトに格納されます。その後、リソースへのアクセスは、格納された資格証明を使用して認証されます。フィールド・キーは自動生成され、読取り専用フィールドとして管理コンソールに表示されます。2番目のフィールドには、使用する資格証明ボールトの名前を入力するか、サーバー・ボールトを使用する場合はエントリを「default」のまま残します。

注意: 「ユーザー・ボールト」を選択すると、ユーザーには、「ページレットに直接アクセスするにはここをクリックします。」というリンクを含むエラー・ページが表示されます。このリンクによって認証ダイアログが開きます。これは既知の問題であり、ユーザーが初めてリソースにアクセスした場合のみ発生します。

生成済

(フォーム・ログインのみ)バックエンド・サーバーのレスポンスに含まれるマークアップからフィールド値を取得します。

15.1.1.5 ヘッダーの構成方法

「ヘッダー」ページ(図15-7を参照)では、ページレット・プロデューサによって提供されるHTTPから削除するリクエストおよびレスポンス・ヘッダーを選択できます。

図15-7 ページレット・プロデューサ・コンソール: 「リソース」 - 「ヘッダー」ページ

図15-7の説明が続きます
「図15-7 ページレット・プロデューサ・コンソール: 「リソース」 - 「ヘッダー」ページ」の説明

一部のヘッダー要素は、バックエンド・アプリケーションに渡さないようにしてください。たとえば、委任された(サード・パーティSSO)認証を使用したときに、SSOシステムによって挿入されるいくつかのヘッダーは、バックエンド・アプリケーションに渡さないようにする必要があります。そのようなヘッダーが渡されると、バックエンド・アプリケーションの機能が妨げられる場合があります。

次のヘッダーはデフォルトで削除されます。

リクエスト・ヘッダー レスポンス・ヘッダー

Cache-Control

Connection

Cookie

Host

Max-Forwards

Pragma

Proxy-Connection

Proxy-Authorization

TE

Trailer

Transfer-Encoding

Upgrade

Max-Forwards

Proxy-Authenticate

Proxy-Connection

Set-Cookie

Trailer

Transfer-Encoding

Upgrade

Content-Lengthヘッダーは、常に暗黙的に削除されます。これは、プロキシ操作中にコンテンツを操作すると、ほとんどの場合、無効な長さのコンテンツがレンダリングされるためです。

ヘッダーをリストに追加するには、「作成」をクリックし、表示されたフィールドにヘッダー名を入力します。

WebまたはCSPリソースを定義したら、ページレットやその他のオブジェクトを作成できます。詳細は、以下のトピックを参照してください。

15.1.2 WSRPおよびOracle PDK-Javaリソースの構成方法

この項では、WSRPおよびOracle PDK-Javaポートレット・プロデューサに基づいてWSRP/JPDKリソースを構成する方法について説明します。

注意:

WSRPまたはOracle PDK-Javaポートレット・プロデューサに基づいてリソースを作成するには、『Oracle WebCenter Portalの管理』の「ページレット・プロデューサの管理」の説明に従って、そのプロデューサを登録する必要があります。

この項では、次の内容について説明します。

15.1.2.1 全般設定の構成方法

「全般」ページを使用して、WSRPまたはJPDKリソースの基本情報を入力します。

  • 「ポートレット・プロデューサ」ドロップダウン・リストから、ポートレット・プロデューサのタイプを選択します。このリストには、『Oracle WebCenter Portalの管理』の「ページレット・プロデューサの管理」で説明されているように登録したプロデューサが移入されます。

  • リソースの名前を入力します。

  • リソースの説明を入力します(オプション)。

15.1.2.2 ポリシー設定の構成方法

「ポリシー」ページでは、リソースへのアクセスをWebCenter Portal内の特定のロールに制限できます。

ページレット・プロデューサをホストするJ2EEコンテナ(Oracle WebLogic Serverなど)では、現在のユーザーに関連付けられたロールのメンバーシップを確立する必要があります。「ポリシー」ページでは、1つのリソースに複数のロールを指定でき、ユーザーは指定されたいずれかのロールのメンバーである場合、アクセスを許可されます。そうでない場合、ユーザーはJ2EEコンテナによって委任された適切な認証ページに移動し、必要な資格証明を確立します。リストにロールが入力されていない場合、匿名アクセスが許可され、そのリソースは匿名リソースと呼ばれます。

注意:

このページで入力するロール名は、J2EEコンテナ(Oracle WebLogic Serverなど)内に作成されているロール名と一致する必要があります。

WSRPまたはJPDKリソースを定義したら、ページレットやWebインジェクタを作成できます。詳細は次のトピックを参照してください。

15.1.3 OpenSocialリソース(OpenSocialガジェット・プロデューサ)の構成方法

この項では、OpenSocialガジェット・プロデューサに基づいてOpenSocialリソースを構成する方法について説明します。

注意:

OpenSocialリソースを作成する前に、ページレット・プロデューサをOpenSocialとともに使用するよう構成します。詳細は、「OpenSocial設定の構成方法」を参照してください。

15.1.3.1 全般設定の構成方法

「全般」ページでは、リソースの基本情報を入力できます。

  • リソースの名前を入力します。

  • リソースの説明を入力します(オプション)。

15.1.3.2 ポリシー設定の構成方法

「ポリシー」ページでは、リソースへのアクセスをWebCenter Portal内の特定のロールに制限できます。

ページレット・プロデューサをホストするJ2EEコンテナ(Oracle WebLogic Serverなど)では、現在のユーザーに関連付けられたロールのメンバーシップを確立する必要があります。「ポリシー」ページでは、1つのリソースに複数のロールを指定でき、ユーザーは指定されたいずれかのロールのメンバーである場合、アクセスを許可されます。そうでない場合、ユーザーはJ2EEコンテナによって委任された適切な認証ページに移動し、必要な資格証明を確立します。リストにロールが入力されていない場合、匿名アクセスが許可され、そのリソースは匿名リソースと呼ばれます。

注意:

このページで入力するロール名は、J2EEコンテナ(Oracle WebLogic Serverなど)内に作成されているロール名と一致する必要があります。

OpenSocialリソースを定義したら、ページレットやファイルを作成できます。詳細は次のトピックを参照してください。

15.2 ページレットの作成

ページレット・コレクションには、リソースに関連付けられたページレットがリストされます。新しいページレットを作成するには、ページレット・プロデューサ・コンソール内で使用するリソースの下にある「ページレット」セクションを選択し、ツールバーの「作成」アイコンをクリックします。<new>というページレットがリストに追加されます。既存のページレットを変更するには、そのページレット名をクリックします。

注意:

シードされたリソース(welcome_resource login_resourceおよびpagelet_api)を更新しないでください。これらは変更が想定されていません。

この項では、次の項目について説明します。

15.2.1 全般設定の構成方法

ページレットの名前と、そのページレットを関連付けるライブラリの名前を入力します。(ページレット・ライブラリは、関連するページレットをユーザー定義によってグループ化する方法の1つです。)ページレットの説明を入力します(オプション)。

  • WebおよびCSPページレットの場合、ページレットへのパスを「URL接尾辞」フィールドに入力します(リソースに対して入力したソースURLの接頭辞は含めない)。「URL接尾辞」を空白のまま残した場合、リソース全体がページレットと見なされます。

  • WSRPまたはOracle PDK-Javaポートレットに基づくページレットの場合、ページレットの基になるポートレットを「ポートレット」ドロップダウン・リストから選択します。このリストには、親リソースに関連付けられたWSRPまたはOracle PDK-Javaポートレット・プロデューサ上のポートレットが移入されます。ポートレットに関連付けられたすべてのパブリック・パラメータは、自動的にページレット・パラメータとしてインポートされます。WSRPおよびOracle PDK-Javaポートレットのサポートの詳細は、「WSRPおよびOracle PDK-Javaポートレットに対するページレット・クロムの使用」を参照してください。

  • OpenSocialガジェットに基づくページレットの場合、ガジェットXMLスキーマの場所を「ガジェットURL」フィールドに入力します。「ガジェット・メタデータのインポート」ボタンをクリックして、次の情報をXMLスキーマからインポートします。

    • ガジェット名: この値は、「全般」ページの「説明」フィールドにインポートされます。

    • ガジェットのユーザー・プリファレンス: 「パラメータの構成方法」のページレット・パラメータに、ガジェットのユーザー・プリファレンスが移入されます。

    OpenSocialガジェットのサポートの詳細は、「OpenSocialガジェットの使用」を参照してください。

ページレットへのアクセスをブロックするには、「無効」を選択します。ページレットがいずれかのページに含まれている場合、単純なエラー・メッセージが表示されます。

15.2.2 プリファレンスの構成方法

「プリファレンス」ページ(図15-8を参照)では、ページレットに必要なすべてのプリファレンス・ページ(「グローバル」、「カスタマイズ」または「パーソナライズ」)の相対URLを入力します。リソースに対して入力したソースURLの接頭辞は含めないでください。(前述のように、ユーザー・プリファレンスを含むOpenSocialガジェットに対しては、デフォルト・エントリが作成されます。このエントリは変更しないでください。)

「プリファレンス」ページは、WSRPまたはOracle PDK-Javaベースのページレットでは使用されません。

図15-8 ページレット・プロデューサ・コンソール: 「ページレット」 - 「プリファレンス」ページ

図15-8の説明が続きます
「図15-8 ページレット・プロデューサ・コンソール: 「ページレット」 - 「プリファレンス」ページ」の説明

15.2.3 パラメータの構成方法

ページレット・パラメータを使用すると、データをページレットに渡すことができます。パラメータによって、次のように、名前/値ペアがページレット・アプリケーションに渡されます。

「パラメータ」ページ(図15-9を参照)で、ページレットに渡すパラメータを入力します。

パラメータを追加するには、「作成」をクリックします。

  • パラメータの名前を入力します。

  • パラメータがページレットに必要な場合、「必須」チェック・ボックスを選択します。

  • 適切なデータを文字列または数値から選択します。

  • 説明を入力します(オプション)。

図15-9 ページレット・プロデューサ・コンソール: 「ページレット」 - 「パラメータ」ページ

図15-9の説明が続きます
「図15-9 ページレット・プロデューサ・コンソール: 「ページレット」 - 「パラメータ」ページ」の説明

15.2.4 クリッパの構成方法

クリッピングを使用すると、プロキシされたアプリケーションに含まれる大きいWebページの一部をクリップして、ページレットを作成できます。たとえば、ニュースのWebページには、最新の主な項目をリストするボックスが含まれている場合があります。そのボックスに含まれるHTMLを識別することによって、主な項目のみをクリップし、ニュースWebページのサブセットをページレットとして提供できます。

クリッパを作成するには、ページレットの下にある「クリップ」セクションを選択し、ツールバーの「作成」アイコンをクリックします。2つの構成ページを含む新しいクリッパが作成されます。

クリッパを使用する際には、次の点に注意してください。

  • バックエンド・リソースにHTTPS経由でアクセスする場合は、ページレット・プロデューサ・コンソールにもセキュア・ポート経由でアクセスしてください。

  • クリップのソースをログイン・フォームまたはその他の認証フォームによって保護する場合は、「自動ログインの構成方法」の説明に従って、親リソースの自動ログインを構成してください。ボールトを使用して資格証明の値を格納している場合は(「自動ログインの構成方法: 認証のソース」を参照)、クリッパを使用する前に必ず資格証明を取得します。

  • クリッパで問題が発生した場合は、ブラウザが構成済のページレットURLをリダイレクトなしでロードできることを確認してください。必要に応じて、ブラウザがすべてのリダイレクトに従った後で最終的にロードするURLを反映するよう、ページレットの接尾辞を変更します。

  • ホストされたファイルを使用して上書きされたイメージとコードはクリップできません。(ホストされたファイルの詳細は、「ホストされたファイルの作成」を参照してください。)

  • グラフィカル・クリッパが使用できない場合(たとえば、ページIDが無効な場合)、拡張クリッパを使用して、ページ・リージョンを正規表現でクリップに定義します。

15.2.5 ページレットとプリファレンス・エディタへのアクセス方法

「ドキュメント」ページ(図15-12を参照)では、JavaScriptまたはREST APIを使用してページレットおよびプリファレンス・エディタにアクセスするためのサンプル・コードを表示できます。

図15-12 ページレット・プロデューサ・コンソール: 「ページレット」 - 「ドキュメント」ページ

図15-12の説明が続きます
「図15-12 ページレット・プロデューサ・コンソール: 「ページレット」 - 「ドキュメント」ページ」の説明

15.3 Webインジェクタの作成

Webインジェクタは、プロキシされているリソース・ページの指定の場所にコンテンツを挿入します。コンテンツには、HTML、CSS、JavaScriptおよびページレット宣言などのテキストを指定できます。ページから不要なコンテンツを削除するために空のインジェクタを使用することもできます。インジェクタをOpenSocialリソース用に作成することはできません。

Webインジェクタを作成するには、使用するリソースの下にある「インジェクタ」セクションを選択し、ツールバーの「作成」アイコンをクリックします。<new>という新しいインジェクタがリストに追加されます。その後、次のトピックの説明に従い、「全般」および「コンテンツ」構成ページを使用して、インジェクタを構成できます。

注意:

シードされたリソース(welcome_resource login_resourceおよびpagelet_api)を更新しないでください。これらは変更が想定されていません。

15.3.1 全般設定の構成方法

「全般」ページ(図15-13を参照)では、インジェクタの基本設定を構成できます。

Webインジェクタの名前を入力します。

「URLフィルタ」ボックスにURLパターンを入力することにより、インジェクタをリソースのサブセットに適用できます。インジェクタは、「URLフィルタ」ボックスに指定されたテキストで始まるリソース内のURLにのみ適用されます。このボックスが空または/のみ指定されている場合は、インジェクタはリソース全体に適用されます。

インジェクタで特定の種類のコンテンツに制限するには、「MIMEフィルタ」ボックスにMIMEタイプのカンマ区切りリストを入力します。たとえば、text/htmlではインジェクタはHTMLコンテンツに制限される一方、text/cssではCSSコンテンツのみに制限されます。

「挿入位置」セクションでは、リソース出力内のどの部分に対して、一意の文字列に関連した挿入を行うかを定義します。表示されたフィールドに一意の文字列を入力し、「次より前」「次より後」または「置換」を選択して、その文字列に関連するコンテンツの配置先を定義します。文字列の置換を選択した場合、「囲みタグ」を使用すると、文字列と囲みタグの両方を置換できます。「大文字/小文字を区別しない」を選択することにより、文字列の大/小文字を区別しないようにできます。

図15-13 ページレット・プロデューサ・コンソール: 「インジェクタ - 全般」ページ

図15-13の説明が続きます
「図15-13 ページレット・プロデューサ・コンソール: インジェクタ - 全般」ページ」の説明

15.3.2 コンテンツの挿入方法

「コンテンツ」ページでは、インジェクタを使用して挿入するコンテンツを定義できます。HTML、CSS、JavaScript、ページレット宣言など、任意のテキストを挿入できます。

たとえば、次のコードはページ上部に挿入できます。この例では、ハンドラ関数をページ・ロード・イベントに登録し、(ヘッダーやフッターを検索および非表示にすることにより)ハンドラを使用してページ・マークアップを変更します。

<script type="text/javascript">
if (window.addEventListener) {
window.addEventListener('load', hideHeaderFooter, false);
} else if (document.attachEvent) {
window.attachEvent('onload', hideHeaderFooter);
}
function hideHeaderFooter() {
var header =null;
 //find the header table by class 
if (document.getElementsByClassName) {
header =document.getElementsByClassName('page_header')[0];
 }else {
//for older versions of IE
 var tables =document.getElementsByTagName('table');
 for (var table in tables) {
if (table.class =='page_header') {
header =table;
 break;
 }
}
}
if (header != null) {
header.style.display ='none';
 }
//now find and hide the footer (easier to find, since it has an id)
 var footer =document.getElementById('t23PageFooter');
 if (footer != null) {
footer.style.display ='none';
 }
}
</script>

15.4 カスタム・パーサーの作成

カスタム・パーサーを使用すると、コンテンツを解析し、URLを検索するための組込みのロジックを補足したり変更できます。組込みのパーサーがURLの識別やURLとしてリライトしてはいけないセクションの識別に失敗した場合は、カスタム・パーサーを使用してデフォルトの動作を変更できます。パーサーは、WSRPまたはOracle PDK-Javaポートレット・プロデューサ用に、あるいはOpenSocialガジェット・プロデューサ用に作成することはできません。

注意:

シードされたリソース(welcome_resource login_resourceおよびpagelet_api)を更新しないでください。これらは変更が想定されていません。

カスタム・パーサーを作成するには、使用するリソースの下にある「パーサー」セクションを選択し、ツールバーの「作成」アイコンをクリックして、パーサーの「全般」ページ(図15-14を参照)を表示します。

  • パーサーの名前を入力します。

  • 「URLフィルタ」ボックスにURLパターンを入力することにより、パーサーをリソースのサブセットに適用できます。パーサーは、「URLフィルタ」ボックスに指定されたテキストで始まるリソース内のURLにのみ適用されます。ボックスが空または/のみ指定されている場合は、パーサーはリソース全体に適用されます。

  • 新しい解析ルールを追加するには、「作成」をクリックして新しい行を「フラグメントの場所」セクションに追加します。

  • 「正規表現」欄に、変換するURLフラグメントを識別するための正規表現を入力します。最初のグループ化表現(かっこ内)はフラグメントを識別し、残りの表現はそれを検索するためのコンテキストを提供します。

  • 「フラグメント・タイプ」から選択し、選択した場所を解析する方法を定義します。

    • 「静的URL」はサーバー上で変換されます。

    • 「動的URL」は、クライアント上でJavaScriptを使用して変換されます。

    • 「HTMLフラグメント」および「JavaScriptフラグメント」タイプは、XMLなどの別のコンテンツ・タイプに埋め込まれるコンテンツに使用します。

    • 「リライトなし」では、URLを検索しない場所を指定します。このオプションは、URLとして間違って識別されたマークアップのリライトを避けるために使用します。

  • ナビゲータ・ツールバーの保存アイコンをクリックします。

図15-14 ページレット・プロデューサ・コンソール: 「パーサー」 - 「一般」ページ

図15-14の説明が続きます
「図15-14 ページレット・プロデューサ・コンソール: 「パーサー」 - 「一般」ページ」の説明

たとえば、正規表現XMLFile=(.*?)"は、<embed src="/i/flashchart/anychart_5/swf/OracleAnyChart.swf?>XMLFile=http://apex.oracle.com/pls/apex/apex_util.flash?p=53557:1:74175370346201:FLOW_FLASH_CHART5_R45192463162785599619_en"のようにタグ内に定義されたXMLファイルへのURLを識別します。

15.5 ホストされたファイルの作成

ページレット・プロデューサでは、あらゆるタイプのコンテンツ(HTML、JavaScript、CSSなど)をホストし、仮想URLの場所でそのファイルを提供できます。ホストされたファイルは、様々な目的で使用できます。

  • ファイルをアップロードし、元のファイルと同じURLを使用するようそれらを構成することによって、プロキシされたアプリケーション内のコンテンツと機能を上書きします。

  • インジェクタ内のホストされたファイルを使用して、プロキシされたアプリケーションにイメージやコンテンツを挿入します。

  • ページレット・ファイルをページレット・プロデューサ・サーバー上でホストします。

注意:

シードされたリソース(welcome_resource login_resourceおよびpagelet_api)を更新しないでください。これらは変更が想定されていません。

ファイルをアップロードするには、使用するリソースの下にある「ファイル」セクションを選択し、ツールバーの「作成」アイコンをクリックします。

  • 「全般」ページ(図15-15を参照)で、「名前」フィールドにファイルへの相対パスを入力します。先行スラッシュ("/")を使用しないでください。ナビゲータのファイル・コレクションのディレクトリ構造は、ファイルのパスに一致するように更新されます。

    ファイルのMIMEタイプを入力します。

    図15-15 ページレット・プロデューサ・コンソール: 「ファイル」 - 「全般」ページ

    図15-15の説明が続きます
    「図15-15 ページレット・プロデューサ・コンソール: 「ファイル」 - 「全般」ページ」の説明
  • 「コンテンツ」ページで、ファイルへのパスを入力するか、「参照」をクリックしてそのファイルに移動します。

    「アップロード」をクリックして、ファイルをページレット・プロデューサ・サーバーにアップロードします。テキストまたはHTMLをMIMEタイプとして入力した場合、「コンテンツ」ページ上のエディタを使用して、ファイル・コンテンツを入力または編集することもできます。(このエディタはテキストまたはHTMLファイルの場合のみ使用できます。)イメージ・タイプをMIMEタイプとして入力した場合、アップロードしたイメージが「コンテンツ」ページに表示されます。

    注意:

    ページレット・プロデューサにアップロードするテキスト・ファイル(テキスト/プレーン)は、UTF-8として保存する必要があります。

  • ナビゲータ・ツールバーの保存アイコンをクリックします。

アップロードしたファイルはインジェクタおよびページレット内で使用でき、次のURLに配置されます。http://<host_name>:<port_number>/pagelets/<resourcename>/<filepath>

たとえば、ファイルをwelcome_resourceの下にアップロードし、入力したファイル名がimages/myimage.jpgである場合、ページレット・プロデューサ・サーバー上のホストされたファイルへのパスは、次のようになります。http://<host_name>:<port_number>/pagelets/welcome_resource/images/myimage.jpg

ホストされたファイルを使用する際には、次の点に注意してください。

  • ホストされたファイル機能は、大きいファイルには使用しないでください。

  • OpenSocialガジェットXMLファイルをホストする場合は、このファイルを匿名リソース(セキュリティ・ポリシーなし)の下に配置する必要があります。そこに配置しないと、ガジェットが正常に機能しません。

  • ホストされたファイルは、WSRPまたはOracle PDK-Javaポートレット・プロデューサ用に作成することはできません。