16.3 共有コンポーネント・サブスクリプションの使用

サブスクリプションを使用して、共有コンポーネントをワークスペース内の複数のアプリケーション間で再利用します。

16.3.1 共有コンポーネントのサブスクリプションについて

共有コンポーネントのサブスクリプションについて説明します。

共有コンポーネントは、アプリケーション内のすべてのページに表示または適用でき、アプリケーション・ビルダーの「共有コンポーネント」ページからアクセスできます。共有コンポーネント・サブスクリプションにより、開発者はワークスペース内の複数のアプリケーション間で共有コンポーネントを再利用できます。

次の共有コンポーネントではサブスクリプションがサポートされています:

  • アプリケーション・アクセス制御(ロール)
  • アプリケーションの計算
  • アプリケーション・アイテム
  • アプリケーション・プロセス
  • アプリケーション設定
  • 認証スキーム
  • 認可スキーム
  • ビルド・オプション
  • コンポーネント・グループ
  • データ・ロード定義
  • 電子メール・テンプレート
  • リスト
  • LOV
  • マップ背景
  • プラグイン
  • RESTデータ・ソース
  • レポート・レイアウト
  • 検索構成
  • ショートカット
  • テキスト・メッセージ

共有コンポーネントにサブスクライブすると、次のようになります:

  • マスター・コンポーネントと依存共有コンポーネントからのすべてのデータは、サブスクライブしている共有コンポーネントにコピーされます。
  • サブスクライブしている共有コンポーネントは読取り専用になります。
  • 編集できるのは、マスター共有コンポーネントのみです。
  • 変更する場合は、マスター共有コンポーネントに変更を加えます。その後、それをパブリッシュすることで、サブスクライブされたコンポーネントに変更をプッシュできます。また、指定した「リフレッシュ」オプションを使用して、サブスクライブされた個々の共有コンポーネントをリフレッシュすることもできます。

16.3.2 自動依存性解決について

依存共有コンポーネントの自動コピーについて説明します。

別の共有コンポーネントを参照する共有コンポーネントは、依存共有コンポーネントと呼ばれます。

次の表は、依存関係がある共有コンポーネントについて説明しています。

共有コンポーネント・タイプ 依存共有コンポーネント
アプリケーションの計算

ビルド・オプション

アプリケーション・アイテム

ビルド・オプション

アプリケーション・プロセス

ビルド・オプション

認可スキーム

アプリケーション・アイテム(計算がアプリケーション・アイテムに基づいている場合)

アプリケーション設定

ビルド・オプション

リスト

ビルド・オプション

認可スキーム

リスト(リスト・エントリがサブリストを指している場合)

検索構成

ビルド・オプション

認可スキーム

リスト(検索構成がリストに基づいている場合)

依存性解決のロジックについて

共有コンポーネントの依存関係は、次の場合に自動的に解決されます:

  • あるアプリケーションから別のアプリケーションへの共有コンポーネントのコピー。
  • 共有コンポーネントのサブスクライブ。
  • サブスクライブされた共有コンポーネントのリフレッシュ。
  • マスター共有コンポーネントのパブリッシュ。

依存関係の解決に使用されるロジックは次のとおりです:

  1. 依存先またはサブスクライブしているアプリケーションで、APEXエンジンは、同じ名前の依存共有コンポーネントが存在しているかどうかを確認します。それが存在する場合、APEXは依存共有コンポーネントを再利用します。
  2. 同じ名前の依存共有コンポーネントが存在していない場合:
    • APEXは、依存共有コンポーネントを依存先またはサブスクライブしているアプリケーションにコピーします。
    • コピー時に、「サブスクライブ」フラグが「オン」に設定されている場合は、サブスクリプション・データもコピーされます。
    • サブスクライブ時、リフレッシュ時、パブリッシュ時には、依存共有コンポーネントのサブスクリプション・データもコピーされます。

16.3.3 共有コンポーネントのサブスクライブ

共有コンポーネントへのサブスクライブについて説明します

共有コンポーネントのサブスクライブは、コピー・プロセス中に行うか、共有コンポーネントの編集ページで共有コンポーネントに対して選択的に行うことができます。

ヒント:

コピー・プロセス中における共有コンポーネントのサブスクライブについてさらに学習するには、それぞれの共有コンポーネントのコピーに関する説明を参照してください。

共有コンポーネントをサブスクライブするには:

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

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

      ヒント:

      共有コンポーネントのページは、アイコンまたはレポート・ビューで表示できます。ページがアイコン・ビューで表示されている場合は、サブスクリプション・ステータスを表示できるようにレポート・ビューに変更することをお薦めします。ツールバーの「テーブルの表示」をクリックします。
  2. コピーによって共有コンポーネントをサブスクライブするには:
    1. 「タスク」リストから、「別のアプリケーションからコピー」を選択します。
    2. コピー元アプリケーション - 共有コンポーネントのコピー元のアプリケーションを選択し、「次」をクリックします。
    3. コピー:
      • コピー先 - オプションで、データ・ロード定義の名前を編集します。
      • アクション - アクションを選択します:
        • はい - 共有コンポーネントをコピーします。
        • いいえ - 共有コンポーネントをコピーしません。
        • コピーおよびサブスクライブ - 共有コンポーネントをサブスクライブすると、それがアプリケーションにコピーされ、マスター参照が設定されます。
    4. 共有コンポーネントのコピーをクリックします。
  3. 共有コンポーネントによっては、共有コンポーネントの編集ページでサブスクライブできます:

    ノート:

    この手順は、RESTデータ・ソースまたはデータ・ロード定義には適用されません。
    1. 共有コンポーネントを見つけて、その編集ページにアクセスします。
    2. 「サブスクリプション」リージョンを見つけます。
    3. サブスクリプション、サブクライブ元 - サブスクライブするマスター共有コンポーネントを選択して、「変更の適用」をクリックします。

      マスター共有コンポーネントを選択して「変更の適用」をクリックすると、サブスクライブされた共有コンポーネントは、選択したマスターから自動的にリフレッシュされます

16.3.4 サブスクライブされたコンポーネントのサブスクリプション・ステータスについて

サブスクライブされた共有コンポーネントのサブスクリプション・ステータスの表示について学習します。

サブスクライブされた各共有コンポーネントのサブスクリプション・ステータスは、次のいずれかになります:

  • 最新 - サブスクライブされた共有コンポーネントがマスター共有コンポーネントと同じであることを示します。

  • リフレッシュが必要 - サブスクライブされたコンポーネントがマスターと同じでないため、リフレッシュが必要であることを示します。

ヒント:

共有コンポーネントのページは、アイコンまたはレポート・ビューで表示できます。すべての共有コンポーネントのサブスクリプション・ステータスを表示するには、表ビューにアクセスします。ツールバーで、「テーブルの表示」をクリックします。

レポート・ビューでは、それぞれの共有コンポーネント・ページに「サブスクライブ元」「サブスクリプション・ステータス」および「サブスクライバ」列が含まれます。

前の例では、「Administration」リストがアプリケーション102からサブスクライブされており、サブスクリプション・ステータスは「最新」です。「Navigation Bar」もアプリケーション102からサブスクライブされていますが、サブスクリプション・ステータスは「リフレッシュが必要」です。

ヒント:

サブスクリプション・ステータスは、共有コンポーネントの編集ページの「サブスクリプション」リージョンにも表示されます。

16.3.5 サブスクライブされた共有コンポーネントのリフレッシュ

サブスクライブされた共有コンポーネントをリフレッシュすることで、マスター共有コンポーネントの変更内容にアクセスします。

マスター共有コンポーネントに変更があると、サブスクライブされた共有コンポーネントのサブスクリプション・ステータスは「リフレッシュが必要」になり、共有コンポーネントの編集ページに「リフレッシュ」ボタンが表示されます。サブスクリプション・ステータスが「最新」の場合、「リフレッシュ」ボタンは表示されません。

共有コンポーネントの編集ページでサブスクライブされた共有コンポーネントをリフレッシュすることも、「共有コンポーネント」ページで「サブスクリプションのリフレッシュ」をクリックして、すべてのサブスクリプションの一括リフレッシュを実行することもできます。

ノート:

電子メール・テンプレート、RESTデータ・ソース、データ・ロード定義または検索構成のリフレッシュ中には、static_idは更新されません。

サブスクライブされた共有コンポーネントをリフレッシュするには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. サブスクライブされた共有コンポーネントが含まれているアプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

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

  2. すべての共有コンポーネント・サブスクリプションの一括リフレッシュを実行するには:
    1. 「共有コンポーネント」ページで、サイド・バーの「タスク」リージョンを見つけます。
    2. 「タスク」で、「サブスクリプションのリフレッシュ」をクリックします。
    3. 「サブスクリプションのリフレッシュ」ページで、「すべてリフレッシュ」をクリックして、すべての共有コンポーネントの一括リフレッシュを実行します
  3. 特定の共有コンポーネント・サブスクリプションをリフレッシュするには:
    1. 共有コンポーネントの編集ページを見つけてアクセスします。

      デフォルトでは、それぞれの共有コンポーネント・ページがレポートとして表示されます。マスター共有コンポーネントに新しい変更があると、サブスクリプション・ステータスは「リフレッシュが必要」に変わります。

      編集ページにアクセスするには、共有コンポーネント名をクリックします。

    2. 共有コンポーネントの編集ページで、「サブスクリプション」リージョンを見つけて、「リフレッシュ 共有コンポーネントボタンをクリックします。

      次の確認メッセージが表示されます:

      共有コンポーネントがマスターからリフレッシュされました。

16.3.6 マスター共有コンポーネントのパブリッシュ

マスター共有コンポーネントをパブリッシュして、サブスクライブしているすべてのコンポーネントに変更をプッシュします。

ノート:

電子メール・テンプレート、RESTデータ・ソース、データ・ロード定義または検索構成のパブリッシュ中には、static_idは更新されません。

マスター共有コンポーネントをパブリッシュするには:

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

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

  2. マスター共有コンポーネントの編集ページを見つけてアクセスします。

    デフォルトでは、それぞれの共有コンポーネント・ページがレポートとして表示されます。編集ページにアクセスするには、共有コンポーネント名をクリックします。

  3. マスター共有コンポーネントを編集します。
  4. サブスクライブされた共有コンポーネントに変更をプッシュするには、「サブスクリプション」で「パブリッシュ」をクリックします。
  5. 「パブリッシュを確認」ダイアログで、「パブリッシュ」を再度クリックします。
    次の確認メッセージが表示されます:

    All subscribing shared components are refreshed.

16.3.7 共有コンポーネントのサブスクライブ解除

共有コンポーネントの編集ページで、共有コンポーネントのサブスクライブを解除します。

共有コンポーネントのサブスクライブを解除するには:

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

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

    4. 共有コンポーネントの編集ページを見つけてアクセスします。

      デフォルトでは、それぞれの共有コンポーネント・ページがレポートとして表示されます。編集ページにアクセスするには、共有コンポーネント名をクリックします。

  2. 共有コンポーネントの編集ページで、「サブスクリプション」リージョンを見つけて、「サブスクライブ解除」をクリックします。