詳細アイコン 「カスタマイズ・コンテキスト」ウィンドウとヒント・レイヤー

アプリケーションでメタデータをカスタマイズできるのは、「カスタマイズ開発者」ロールで作業している場合のみです。このロールでは、IDE(「カスタマイズ・コンテキスト」ウィンドウなど)でカスタマイズ機能が有効化されますが、他の一部の機能は無効化されます(たとえば、カスタマイズ可能なオブジェクトの新規作成や、カスタマイズ不可のオブジェクトの編集はできません)。

カスタマイズ可能なアプリケーションには、複数のカスタマイズ・レイヤーを使用できます(例: industrysite)。各レイヤーには複数のカスタマイズ・レイヤー値を使用できますが、実行時に各レイヤーから適用されるレイヤー値は1つのみです。

カスタマイズ可能なアプリケーションを「カスタマイズ開発者」ロールで開くと、JDeveloperによりadf-config.xmlファイルが読み取られ、使用するカスタマイズ・クラスと優先順位が判別されます。また、CustomizationLayerValues.xmlファイルも読み取られ、「カスタマイズ・コンテキスト」ウィンドウで使用可能にするレイヤー値が判別されます。

「カスタマイズ・コンテキスト」ウィンドウでは、カスタマイズ・レイヤーとレイヤー値を選択できます。ウィンドウに表示される選択済レイヤーは、ヒント・レイヤーと呼ばれます。ヒント・レイヤーには、「カスタマイズ開発者」ロールで作業中に行った変更が適用されます。

「カスタマイズ・コンテキスト」ウィンドウ

複数のカスタマイズ・レイヤーがある場合、「カスタマイズ・コンテキスト」ウィンドウにはadf-config.xmlで指定されているカスタマイズ・クラスと同じ順序でレイヤーが表示されます。たとえば、adf-config.xmlで次のように指定されているとします。

<adf-config xmlns="http://xmlns.oracle.com/adf/config" ...>
  <adf-mds-config xmlns="http://xmlns.oracle.com/adf/mds/config">
    <mds-config xmlns="http://xmlns.oracle.com/mds/config" ...>
      <cust-config>
        <match path="/">
          <customization-class name="oracle.model.mycompany.IndustryCC"/>
          <customization-class name="oracle.model.mycompany.SiteCC"/>
        </match>
      </cust-config>
    </mds-config>
  </adf-mds-config>
</adf-config>

「カスタマイズ開発者」ロールでJDeveloperを起動すると、次の「カスタマイズ・コンテキスト」ウィンドウの図に示すように、<cust-config>要素内で最後にリストされているカスタマイズ・クラスがヒント・レイヤーとして機能します。

2つのレイヤーを示す「カスタマイズ・コンテキスト」ウィンドウ、「site」がヒントの場合

もう1つのカスタマイズ・レイヤーを選択すると、そのレイヤーは、カスタマイズの実装対象である新規のヒント・レイヤーになります。

「カスタマイズ・コンテキスト」ウィンドウ

複数のカスタマイズ・レイヤーからのレイヤー値を、指定の優先順位に従ってベース・アプリケーションのメタデータの最上位に適用できます。JDeveloperのエディタに表示されるメタデータは、ベース・アプリケーションのメタデータと(adf-config.xmlで設定された優先順位に従った)ヒント・レイヤーまでのカスタマイズ・レイヤーを組み合せたもので、各レイヤーの値は「カスタマイズ・コンテキスト」ウィンドウで指定したものです。

たとえば、次の「カスタマイズ・コンテキスト」ウィンドウの図は、ベース・アプリケーションにindustryレイヤーのfinancialレイヤー値のカスタマイズが適用されてから、siteレイヤーのremoteofficesレイヤー値のカスタマイズが適用されることを示しています。

「カスタマイズ・コンテキスト」ウィンドウ

カスタマイズ済アプリケーションのカスタマイズ・コンテキストは、アプリケーションのベース定義に適用された一連のカスタマイズ・レイヤーにより定義されます。「カスタマイズ・コンテキスト」ウィンドウの最下部では、選択内容を反映してカスタマイズ・コンテキストが変更されます。