プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebCenter Portalでのポータルの構築
12c (12.2.1.1)
E77297-02
目次へ移動
目次

前
次

14 ページとコンポーネントの結付け

この章では、イベントをコンポーネント・パラメータに結び付ける方法、およびコンポーネントの結付けを使用して、ページとそのコンポーネントの間に、より複雑な関係を作成する方法について説明します。

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

権限

この章のタスクを実行するには、ポータル・マネージャであるか、ポータル・レベルのBasic Services: Edit Page Access, Structure, and Content (標準権限)またはPages: Edit Pages (アドバンスト権限)のいずれかの権限を持つポータル・メンバーである必要があります。

権限の詳細は、「ポータルのロールと権限について」を参照してください。

14.1 ページとコンポーネントの結付けについて

注意:

この章では、コンポーネントは、ADFコンポーネント(ボタンなど)、ハイパーリンク、タスク・フロー、ポートレットなどのWeb開発コンポーネントの総称として使用されています。

ページがそのページ上のコンポーネントからの情報を必要とし、リージョンが他のリージョンからの情報を必要とすることがよくあります。その情報を得るのにページURLを介してパラメータを引渡すことはできますが、この操作に意味があるのは、そのパラメータが既知であり、かつ入力が式言語(EL)を介してそのページにアクセス可能である場合のみです。詳細は、「ページURLを介したパラメータ値の受渡し」を参照してください。

複数のページ・フラグメントを持つタスク・フローがあり、そのページ・フラグメントには、ページへの入力として使用できる様々な興味深い値が含まれている場合を考えます。たとえば、ユーザーが入力フォームで指定する会社固有の情報の表示専用ページを考えます。値の引渡しにパラメータを使用するのであれば、すべてのフラグメント上にある興味深い値それぞれの組合せに対する出力パラメータを、タスク・フロー上に明示させる必要があります。このような場合に、コンポーネントの結付けが役立ちます。かわりに、必要な情報を含むフラグメントごとに、コンポーネントの結付けを使用して、入力が発行されるときに呼び出されるコンテキスト・イベントを定義することもできます。これにより、情報を必要とするページやフラグメントは様々なイベントをサブスクライブし、このイベントを介して情報を受け取ることができます。

コンポーネントの結付けは、ページのコンテンツとそのコンポーネントを同期化したり、コンポーネント間でコンテンツを同期化する場合に役立ちます。たとえば、「OK」ボタンをクリックすると、ユーザーが入力した値がページの別のコンポーネントに渡されるように、「パラメータ・フォーム」ポートレットを結び付けることができます。このモデルを適用する方法の1つとして、ユーザーが入力した名前をその名前に関連する詳細が表示されるタスク・フローまたはポートレットに渡す方法があります。これは、コンテキスト・イベント・ワイヤリング(現在のコンテキスト内のイベントがイベント・ハンドラのアクションをトリガーします)と呼ばれます。

イベントが発生したときの動作を確認する場合、1つのコンポーネントをプロデューサ、他のコンポーネントをコンシューマとみなすと有効です。プロデューサ・コンポーネントは、コンシューマ・コンポーネントで使用されるデータ(ペイロードと呼ばれる)を提供します。たとえば、通常、フォーム・ポートレットはプロデューサです。ペイロードは、ユーザーがフォームに入力するデータになります。プロデューサに定義されたイベントによって、プロデューサのペイロードがコンシューマに渡されます。コンシューマ・コンポーネントでは、様々な方法でペイロードが使用されます。たとえば、表示文字列、マスター・ディテール関係でのマスターなどとして使用されます。コンシューマでのペイロードの使用方法は、コンシューマ・コンポーネントの作成時に定義されたイベント・ハンドラに指定されています。

開発者は、アプリケーションおよびコンポーネントの作成時に、イベントおよびイベント・マップをページ定義ファイルに指定します。つまり、実行時に結付けを行うには、結び付けるコンポーネントで、設計時に組み込まれた要素を介してその結び付けに対するサポートが提供されている必要があります。次の組込みのWebCenter Portalタスク・フローは、イベント・ワイヤリング用に事前に構成されています。
  • コンテンツ・マネージャ・タスク・フローはコンシューマ

  • データ視覚化タスク・フローは、適切にREST URLに構成された場合、コンシューマとプロデューサの両方

ページ・エディタは、ページの「パラメータ」タブおよびコンポーネントの「パラメータ」ダイアログを介して、ページとコンポーネントの結付けのためのツールを提供します。次の方法で、ページとコンポーネントを結び付けることができます。

14.2 イベントのコンポーネント・パラメータへの結付け

プロデューサ・コンポーネントで定義されたイベントには、コンシューマのタスク・フローまたはポートレット・コンポーネントのパラメータ値を設定するために使用できる、ペイロード値が関連付けられています。イベントがトリガーされるとすぐに、関連付けられたパラメータ値がコンシューマのタスク・フローまたはポートレットに動的に渡され、必要に応じて公開できます。

「ページとコンポーネントの結付けについて」に説明されているように、アプリケーション開発者がコンポーネント・イベントとイベント・ハンドラを定義します。

(プロデューサ・コンポーネントの)イベントをコンシューマのタスク・フローまたはポートレットのパラメータに結び付けるには、次の手順を実行します。

  1. プロデューサ・コンポーネントを含むページに移動し、ページ・エディタでそれを開きます(「ページ・エディタでのページのオープン」を参照)。図14-1に、サンプルのAviIntranetポータルの、データ視覚化タスク・フローのプロデューサ・コンポーネント(リスト)とコンシューマ・コンポーネント(円グラフ)を示します。

    図14-1 プロデューサ・コンポーネントおよびコンシューマ・コンポーネント

    ページ上のプロデューサ・コンポーネントおよびコンシューマ・コンポーネント
  2. コンシューマのタスク・フローまたはポートレットがページにまだ存在しない場合は、それを追加します(「ページへのコンポーネントの追加」を参照)。

  3. コンシューマのタスク・フローまたはポートレットの「アクション・メニューの表示」アイコンをクリックし、「パラメータ」を選択します(図14-2)。

    図14-2 コンシューマ・タスク・フローの「アクション・メニューの表示」

    コンシューマ・タスク・フロー - 「アクションの表示」メニュー
  4. 「パラメータ」ダイアログでは、表示される設定は、プロデューサおよびコンシューマのタスク・フローがページに存在する場合にのみ使用可能です。イベントに結び付けるコンシューマのタスク・フローまたはポートレットに定義されたパラメータごとに、次の手順を実行します。

    1. 「値」フィールド・アイコンをクリックして、「イベント」を選択します。

    2. 「イベント」リストをクリックして、パラメータに渡すペイロード値に関連付けられているイベントを選択します。「イベント」リストには、ページ上のすべてのコンポーネントに定義されているすべてのイベントが表示されます。

    3. コンシューマのタスク・フローまたはポートレットが1つのプロデューサ・コンポーネントからのみイベントをリスニングするように指定するには、「自」リストをクリックして、関連付けられているプロデューサ・コンポーネントを選択します。それ以外の場合、「自」をデフォルト値のAny Componentのままにし、ページ上のプロデューサ・コンポーネントによって指定のイベントがトリガーされたときにパラメータが設定されるようにします。

    4. 「ペイロード」リストをクリックして、イベントのペイロード値を選択します。この選択内容は、イベントのトリガー時に動的に渡される、関連付けられているパラメータの入力値になります。

    たとえば、データ視覚化タスク・フロー(プロデューサ)の行を選択するイベントでは、コンシューマ・タスク・フローを更新するDPRowSelectionイベントがトリガーされます。この場合、コンシューマ・タスク・フローは円グラフで、選択した行に関連付けられたデータでリフレッシュされます(図14-3)。

    図14-3 コンシューマ・タスク・フローの「パラメータ」ダイアログ

    コンシューマ・タスク・フロー - 「パラメータ」ダイアログ
  5. 「OK」をクリックして、「Save」をクリックします。

  6. イベントをトリガーして、コンシューマのタスク・フローまたはポートレットの結果を確認して、結付けをテストします。

14.3 コンポーネントとページ・パラメータの結付け

この項では、次に示すように、ページ・パラメータを作成および使用する方法について説明します。

14.3.1 コンポーネントとページ・パラメータの結付けについて

ページ・パラメータとページ変数を使用する場合、コンポーネントと、そのコンポーネントが含まれるページとの通信が可能になります。

たとえば、株価ティッカーおよび株式ニュースのコンポーネントを含むページについて考えてみます。ティッカーおよびニュースの両コンポーネントに同じパラメータ値を使用して、同じ会社の情報が表示されるようにします。ページ・パラメータとページ変数は、これを設定するための簡単なメカニズムの一環になります。

  • ページ・パラメータは、ページ・コンポーネントに渡す値を格納する手段を備えており、ページ・コンポーネントはその値を使用するように構成されています。ページ・エディタを介してアプリケーションの実行時にページ・パラメータを作成します。

  • ページ変数には、ポートレットで生成される出力値が含まれます。ページ変数は、アプリケーションの設計時に作成されます。

14.3.2 ページ・パラメータの作成

ページ・エディタの「パラメータ」タブを使用して、ページ・パラメータを作成します。

新しいページ・パラメータを作成するには、「ページ・パラメータの追加または変更」を参照してください。

14.3.3 ページ・パラメータの使用

ページ・パラメータを使用するようにタスク・フロー・コンポーネントを構成できます。

注意:

この項で説明する手順を実行する前に、ページ・パラメータを作成し、そのパラメータに値を指定する必要があります。詳細は、ページ・パラメータの作成を参照してください。

ページ・パラメータを使用する(ページ・パラメータへのタスク・フローの結付け)には、次の手順を実行します。

  1. 関連ページに移動して、ページ・エディタでそれを開きます(「ページ・エディタでのページのオープン」を参照)。
  2. コンシューマ・タスク・フローの「アクション・メニューの表示」アイコンをクリックし、「パラメータ」を選択します。
  3. 「パラメータ」ダイアログで、パラメータ値を取るプロパティの横にある式エディタのアイコンアイコンをクリックし、「式ビルダー」を選択して式エディタ(図14-4)を開きます。
  4. 「値の選択」を選択します。
  5. 「値の選択」の下で、第一のリストから「ページ・パラメータ」を選択し、第二のリストから関連するページ・パラメータの名前を選択します。
  6. 「OK」をクリックして式エディタを終了します。
  7. 「OK」をクリックし、変更を保存して「パラメータ」ダイアログを終了します。

    タスク・フローがリフレッシュされ、ページ・パラメータを介して渡された値の結果が表示されます。

  8. 保存」をクリックして変更を保存します。

14.4 ページURLを介したパラメータ値の受渡し

式言語(EL)式を、他のタイプの値のかわりにコンポーネント・パラメータに入力できます。このオプションでは、さらに動的な応答を得ることができます。たとえば、ページでは、ページ上の1つのコンポーネントに基づいて、ページ・パラメータを設定できます。この場合、この値の変更時に、ページ上の他のコンポーネントをリフレッシュできます。パラメータ値をページURLにより渡すことで、この機能を一段階向上させることができます。

この項では、他のパラメータ受け渡し状況のモデルとして使用できる、1つのシナリオを示します。

パラメータ値をページURLを介して渡すには、次の手順を実行します。

  1. ページURLを介して値を渡すコンポーネントを含むページに移動します。
  2. 関連するコンポーネントのプロパティを編集します。
  3. 値を渡すパラメータまたは表示オプションに対してELエディタを開きます。
  4. 「値または式の入力」の下で、#{param.val}を入力します。
  5. 変更を保存します。
  6. パラメータに値を渡すには、次の式をページURLに追加します。
    ?val=value
    

    ここで、valueは渡す値を表します。たとえば、truemediumまたはDefaultです。