16.5 アプリケーション・アイテムの管理

アプリケーション・アイテムは表示されませんが、セッション・ステートの維持に使用されます。

アプリケーション・アイテムは、計算、プロセスを使用するか、URLに値を渡すことによって設定できます。「新規インスタンス開始時」計算を使用して、セッションに対してアイテムの値を1回設定します。アプリケーション・アイテムを使用して、1つのページに固有でなく、表示されないセッション・ステートを維持します。

16.5.1 アプリケーション・アイテムの作成

共有されている共有コンポーネント・ページでアプリケーション・アイテムを作成します。

アプリケーション・アイテムを作成するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「アプリケーション・ロジック」で、「アプリケーション・アイテム」を選択します。

    アプリケーション・アイテム・ページが表示されます。

  3. アプリケーション・アイテムを作成するには、「作成」をクリックします。

    作成/編集ページが表示されます。

  4. 「名前」で、次の項目を指定します。
    1. 名前 - アプリケーション・アイテムの名前を入力します。
    2. 有効範囲: - 次のオプションがあります。
      • グローバル - Oracle APEXセッションが複数のアプリケーションで共有され、アイテムの値がすべてのアプリケーションで同じである必要がある場合に、このオプションを選択します。

        アプリケーションの認証に同じセッションCookie属性がある場合、それらのアプリケーションは同じセッションを共有できます。アプリケーション・アイテムの「有効範囲」の属性は、これらのアプリケーション間で同じである必要があります。

      • アプリケーション - アプリケーションが別のアプリケーションとセッション・ステートを共有する場合は、このオプションを選択します。

  5. セキュリティ、セッション・ステート保護 - このアイテムのセッション・ステート保護を設定します。オプションは次のとおりです。
    • 制限なし - URLまたはフォームでアイテム名/値を渡して、アイテムのセッション・ステートを設定できます。URLにチェックサムは必要ありません。

      ノート:

      Ajaxを使用してこのアイテムの値をセッション・ステートに設定する必要がある場合は、アイテムに対して「制限なし」保護レベルを使用する必要があります(たとえば「動的アクション」の場合は、「値の設定」、「送信するページ・アイテム」または「カスケードLOV」、「送信するページ・アイテム」)。

    • 制限付き - ブラウザから設定できない: URLまたはPOSTDATAを使用してアイテムを変更できません。アイテムの値を内部プロセス、計算などに設定できる方法を制限する場合は、このオプションを使用します。この属性は、データ・エントリ・アイテムとして使用できないアイテムのみに適用され、セッション・ステート保護が無効になっていても常に監視されます。次の表示形式タイプのアプリケーション・アイテムについては、この属性を使用します。

      • 表示のみ(状態の保存=なし)

      • 表示のみ(状態の保存=なし)

      • グリッド・レイアウドの停止と開始(ラベルのみ表示)

    • チェックサムが必要 - アプリケーション・レベル: スキーマ固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。ユーザー・レベル・チェックサムまたはセッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

    • チェックサムが必要: ユーザー・レベル: ワークスペース、アプリケーションおよびユーザー固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。セッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

    • チェックサムが必要: セッション・レベル: カレント・セッション固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。カレント・セッションで生成されたチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

  6. セキュリティ、特殊文字をエスケープ - アプリケーション・アイテムの値が置換内で自動的にエスケープされるかどうかを制御します(たとえば&ITEM.構文を使用してアイテムを参照する場合)。
    クロスサイト・スクリプティング(XSS)攻撃を防ぐには、「特殊文字をエスケープ」を「オン」に設定します。アプリケーション・アイテムに格納されているHTMLタグをレンダリングする必要がある場合は、このフラグを「オフ」に設定できます。
  7. 構成、ビルド・オプション - このコンポーネントのビルド・オプションを選択します。ビルド・オプションは、アプリケーション内のコンポーネントが有効かどうかを判別する事前定義された設定です。
  8. コメント - このアイテムに関するノートを入力します。
  9. 「アプリケーション・アイテムの作成」をクリックします。

16.5.2 アプリケーション・アイテム属性の編集

作成したアプリケーション・アイテムは、アプリケーション・アイテムの作成/編集ページで編集できます。

アプリケーション・アイテム属性を編集するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「アプリケーション・ロジック」で、「アプリケーション・アイテム」を選択します。

    アプリケーション・アイテム・ページが表示されます。

  3. アプリケーション・アイテムを選択します。

    作成/編集ページが表示されます。

  4. 属性を編集します。

    属性についてさらに学習するには、フィールドレベル・ヘルプを参照してください

  5. 「変更の適用」をクリックします。

16.5.3 アプリケーション・アイテムのコピーまたはサブスクライブ

現在のアプリケーションまたは別のアプリケーションから、アプリケーション・アイテムをコピーします。別のアプリケーションからアプリケーション・アイテムをコピーする場合は、それをサブスクライブすることもできます。

ノート:

別のアプリケーションからアプリケーション・アイテムをコピーするときに、共有コンポーネントの依存関係は自動的に解決されます。詳細は、「自動依存性解決について」を参照してください。

アプリケーション・アイテムをコピーまたはサブスクライブするには:

  1. 「アプリケーション・アイテム」ページにナビゲートします:
    1. 「ワークスペース」ホームページにナビゲートします。
    2. 「アプリケーション・ビルダー」アイコンをクリックします。
    3. アプリケーションを選択します。
    4. アプリケーションのホームページで、「共有コンポーネント」をクリックします。
    5. 「アプリケーション・ロジック」で、「アプリケーション・アイテム」をクリックします。

      アプリケーション・アイテム・ページが表示されます。

  2. 現在のアプリケーション内でアプリケーション・アイテムをコピーするには:
    1. アプリケーション・アイテムを検索して、「コピー」列の「コピー」アイコンをクリックします。

      アプリケーション・アイテムのコピー・ウィザードが表示されます。

      ヒント:

      別のアプリケーションからアプリケーション・アイテムをコピーするには、「別のアプリケーションからコピー」をクリックして、ステップ3を参照してください。
    2. 新規アプリケーション・アイテム名 - アプリケーション・アイテムの名前を入力します。この名前は、アプリケーション内で一意にする必要があります。
    3. 「アプリケーション・アイテムのコピー」をクリックします。
  3. 別のアプリケーションからアプリケーション・アイテムをコピーするには:
    1. 「タスク」リージョンで、「別のアプリケーションからコピー」をクリックします。
      アプリケーション・アイテムのコピー・ウィザードが表示されます。
    2. アプリケーション - コピー元のアプリケーションを選択します。
    3. アプリケーション・アイテムのコピー - コピーするアプリケーション・アイテムを選択します。
    4. サブスクライブ - アプリケーション・アイテムをサブスクライブするには、このフラグを「オン」に設定します。
    5. 「アプリケーション・アイテムのコピー」をクリックします。

16.5.4 「アプリケーション・アイテム」レポートへのアクセス

「アプリケーション・アイテム」ページの適切なタブをクリックして、アプリケーション・アイテムの「使用状況」および「履歴」レポートを表示します。

「アプリケーション・アイテム」レポートを表示するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「アプリケーション・ロジック」で、「アプリケーション・アイテム」を選択します。

    アプリケーション・アイテム・ページが表示されます。

  3. 該当するタブをクリックします。
    • 使用状況 - 各アプリケーション・アイテムが使用される場所が表示されます。
    • 履歴 - このアプリケーション内のアプリケーション・アイテムの最近の変更を表示します。

16.5.5 グローバル変数として機能するアプリケーション・アイテムの作成について

すべてのアプリケーション間で同じ名前を持つアプリケーション・アイテムを作成し、有効範囲をグローバルに設定することによって、グローバル変数を作成できます。

大規模なアプリケーションは、通常、同じワークスペースに存在するいくつかの物理アプリケーションに分けられます。これらのアプリケーションは、通常、各アプリケーションで同じCookie名を構成することでセッション・ステートを共有します。

このタイプのアーキテクチャのもう1つの要件は、2、3のグローバル変数を共有する必要があることです。グローバル変数の数を少なく維持する必要がありますが、グローバル変数はアプリケーション間の通信を促進する効果的な手段として機能します。たとえば:

  • カレント・ユーザーのプロパティ(電子メール・アドレス、従業員番号など)。
  • マルチテナント・アプリケーションの現在の会社。

グローバル変数として機能するアプリケーション・アイテムを作成するには:

  1. セッション・ステートを共有する各アプリケーションで、同じ名前のアプリケーション・アイテムを作成します。
  2. 「有効範囲」で、「グローバル」を選択します。
  3. 「セキュリティ」の「セッション・ステート保護」で、制限付きを選択します。