ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter PortalおよびOracle JDeveloperでのポータルの開発
11gリリース1 (11.1.1.8.3)
E49666-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

16 WebCenter Portalコンポーザの使用

この章では、Oracle WebCenter Portalのコンポーザについて概説し、実行時にサポートする様々なタスクについて説明します。

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

16.1 コンポーザの概要

コンポーザは、アプリケーション実行時にページ・コンテンツを追加および編集するための完全に統合されたページ・エディタです。コンポーザの機能を理解するには、まず、次のステージから構成される、典型的なアプリケーション開発ライフサイクルを確認します。

各ステージに異なるカテゴリのユーザーが関与することがわかります。多くの場合、これらのユーザーの一部またはすべてが実行時にページを変更する必要があります。たとえば、ワークリストやメール・タスク・フローなどの、ログイン・ユーザーに関する情報を表示するダッシュボードのようなアプリケーションについて考えてみます。ページ開発者は、ダッシュボード・ページを作成し、これに必要なコンポーネントおよびタスク・フローを移入します。アプリケーション管理者は、アプリケーションを顧客のサイトにデプロイします。顧客のサイトでは、組織の様々なレベルの人がダッシュボードを表示し、次のリクエストを行います。

また、コンテンツ・コントリビュータ、モデレータおよびエンド・ユーザーは、ビジネス・ニーズに基づいてページ・アーティファクトを追加、削除または変更します。典型的なアプリケーション開発環境では、これらのリクエストはページ開発者に渡されます。開発者は、開発環境でアプリケーションを変更し、これを顧客のサイトに再デプロイします。

単純な変更を開発者に戻すのではなく、コンポーザはMetadata Services (MDS)とともに、ビジネス・ユーザーが実行時にアプリケーション・ページを編集できる編集ツールを提供します。実行時に行われた変更はメタデータとして保存され、ベースのアプリケーション定義から隔離されます。実行時にアプリケーション・ページを編集するこの概念は、実行時に設計と呼ばれます。これは、設計時にアプリケーションを変更してこれを再デプロイする必要を最小化します。

コンポーザは、実行時にアプリケーション設計を行う動作を制御するコンポーネントを提供します。この章では、コンポーザを有効に使用するために必要な基本的な概念および用語について説明します。

16.2 アプリケーションのカスタマイズとユーザーのカスタマイズ

ユーザーが実行時にページを変更すると、通常その変更はそのユーザーのみが使用できます。アプリケーションを構成して、ページにアクセスするすべてのユーザーまたはユーザーのサブセットが実行時の変更を使用できるようにすることができます。LOBのメンバーが使用する経費の詳細を表示するダッシュボード・ページの例について考えてみます。LOB管理者がページを変更し、いくつかの経費に関するガイドラインを追加する場合、その変更はすべてのメンバーに表示される必要があります。そのような要件に対処するために、コンポーザでは、ユーザーはページを異なるモードで編集し、変更をユーザーのカスタマイズ(ページの個々のユーザーの表示のみに影響)またはアプリケーションのカスタマイズ(全員のページの表示に影響)として保存できます。

ユーザーの変更をユーザーのカスタマイズまたはアプリケーションのカスタマイズとして保存するには、これらをバックエンドで別々に保存する必要があります。メタデータ・ドメインでは、MDSは、ベース・アプリケーション定義の上の別々のレイヤーにカスタマイズを保存することを許可しています。ビジネス要件に応じて、単一のレイヤーまたは複数のレイヤーに変更を保存できます。

単一レイヤー構成では、変更は、アプリケーションのカスタマイズとしてすべてのユーザーがアクセスできる共通レイヤーに保存されます。この場合、変更をユーザーのカスタマイズとして保存することはできません。

複数レイヤー構成では、変更は、ページが編集されたモード、ページを編集したユーザー、ユーザー・ロールなどの指定された条件に基づいて個別の場所に保存されます。この種の構成では、各カスタマイズ・レイヤーは他のレイヤーから隔離されますが、レイヤーを相互に積み重ねてアップグレード時に柔軟性を持たせることができます。たとえば、ユーザーが、表示されるページのデフォルトのテーマを変更する必要があるとします。この変更は、ページの他者の表示に影響を与えずに、このユーザーに対してのみ保存されることが期待されているとします。したがって、このページのパーソナライズ権限を持っているエンド・ユーザーによって行われる変更がユーザーのカスタマイズとして保存され、カスタマイズレベル権限を持っているログイン・ユーザーによって行われる変更がアプリケーションのカスタマイズとして保存されるように設定できます。パーソナライズ権限とカスタマイズ/編集権限を持つユーザーが使用できるタスクをそれぞれ決定できます。

MDSおよびカスタマイズ・レイヤーの詳細は、第21.1項「MDSの概要」を参照してください。

16.3 ページの編集モードと表示モード

ユーザーがブラウザでアプリケーション・ページを開くと、ページは表示モードで開きます。また、コンポーザは編集モードという別のモードへのアクセスを提供し、適切な権限を持つユーザーはアプリケーション・ページを編集できます。これらのモードは次のように説明できます。

16.3.1 編集モードについて

コンポーザの編集モードには、広範なアプリケーションのカスタマイズ機能が用意されています。編集モードでは、ユーザーは、コンテンツの追加、ページとコンポーネントのプロパティの編集、コンポーネントの削除、コンポーネントの再配置、ページ・レイアウトの変更などを行えます。

この章で説明する機能をアプリケーションに提供するには、Change Mode LinkまたはChange Mode ButtonPage CustomizablePanel CustomizableShow Detail FrameCustom ActionsおよびLayout Customizableの各コンポーザ設計時コンポーネントをページに追加します。これらのコンポーネントの詳細は、第16.6項「コンポーザ・コンポーネント」を参照してください。

Change Mode LinkコンポーネントまたはChange Mode Buttonコンポーネントをカスタマイズ可能なページに追加すると、コンポーザの表示モードのページに「編集」リンクが表示されます。ユーザーが「編集」リンクまたはボタンをクリックすると、編集モードのコンポーザでページが開きます。図16-1は、表示モードのページの「編集」リンクを示しています。

図16-1 表示モードでの「編集」リンク

図16-1の説明が続きます
「図16-1 表示モードでの「編集」リンク」の説明

編集モードでは、デフォルトのコンポーザ・ツールバーに、編集中のページのタイトル、「ページ・プロパティ」アイコン、「ページのリセット」アイコンおよび「閉じる」ボタン(図16-2)が表示されます。

図16-2 コンポーザのツールバー

図16-2の説明が続きます
「図16-2 コンポーザのツールバー」の説明

デフォルトでは、編集モードのページには「コンテンツの追加」と「構造」の2つのビューが表示されます。ただし、「デザイン」、「コンテンツの追加」、「構造」、「選択」および「プレビュー」のいずれかまたはすべてのビューを表示するようにページを構成できます。DesignViews属性を使用して、編集モードで表示するビューを指定します。値をallと指定すると、「コンテンツの追加」ビューを除くすべてのビューが編集モードで使用可能になります。拡張機能を使用できるように、コンポーザにすべてのビューを表示するようにページを構成することをお薦めします。DesignViews属性の詳細は、表B-1「Page Customizableコンポーネントの属性」を参照してください。

この項には次のサブセクションが含まれます:

16.3.1.1 編集モードの「コンテンツの追加」ビューについて

「コンテンツの追加」ビュー(図16-3)は、コンポーザのページを開く際のデフォルト・ビューです。このビューでは、ページとコンテンツがWYSIWYGで表示され、各コンポーネントのコントロールを直接選択できます。

図16-3 コンポーザの「コンテンツの追加」ビュー

図16-3の説明が続きます
「図16-3 コンポーザの「コンテンツの追加」ビュー」の説明

16.3.1.2 編集モードの「構造」ビューについて

「構造」ビュー(図16-4)は、コンポーネント・ナビゲータのページ・コンポーネントをWYSIWYGおよび階層式にレンダリングします。「コンテンツの追加」、「プロパティ」、「削除」、「切取り」および「貼付け」の各コントロールを「構造」ビューのツールバーで使用でき、これらによりコンポーザで特定の操作が実行されます。「構造」ビューでは、ユーザーは「デザイン」ビューまたは「コンテンツの追加」ビューでは選択できないコンポーネントのプロパティにアクセスし、プロパティを変更できます。たとえば、多くのADF Facesコンポーネントは「構造」ビューでのみ編集できます。ユーザーは、タスク・フロー内のコンポーネントも編集できます。


注意:

childCreation属性は、ポップアップ・ダイアログの子をコンポーザで表示できるかどうかを決定します。デフォルトでは、この属性はdeferredに設定されており、ポップアップ・ダイアログの子を表示する際に使用できます。値をimmediateに設定すると、ポップアップ・ダイアログの子を表示できます。

childrenCreation属性をimmediateに設定すると、パフォーマンスに影響を与えます。ページ上でポップアップを使用する必要がない場合には、deferredのデフォルト設定を使用するとCPUのペナルティと不要なメモリーの使用を避けることができます。ポップアップは非モーダルで表示されるため、アプリケーションではエラーなしでそのファクトを処理できる必要があります。

詳細は、付録F「式言語式」第F.13項「コンポーザに関連するEL式」を参照してください。


図16-4 ページの「構造」ビュー

図16-4の説明が続きます
「図16-4 ページの「構造」ビュー」の説明

デフォルトでは、コンポーネント・ナビゲータはコンポーザ内でページの右側に表示されます。「ドッキング」メニューを使用して、上、下または左側の表示を選択できます(図16-5)。ユーザーは、コンポーネント・ナビゲータのエッジの境界をドラッグして、その高さまたは幅を変更できます。

図16-5 構造の配置オプションとサイズ変更

図16-5の説明が続きます
「図16-5 構造の配置オプションとサイズ変更」の説明

コンポーネント・ナビゲーションのルートには、設計時のPage Customizableコンポーネントの直接の子があります。ノードがコンポーネント・ナビゲーションで選択されると、対応するコンポーネントがページで選択されます。同様に、コンポーネントがページで直接選択されると、対応するノードがコンポーネント・ナビゲータで選択されます。

ページの下部にあるグレーの領域には、選択したコンポーネントのブレッドクラム・トレイルが表示されます(図16-6)。ブレッドクラム・トレイルは、ページでコンポーネントがどのようにネストされているかを示します。コンポーネントが選択されていないと、ブレッドクラム・バーはページ名のみを表示します。コンテナ名は、クリックすると選択したコンポーネントを強調表示するリンクです。

図16-6 ページの「構造」ビューで選択されたコンポーネントのブレッドクラム

図16-6の説明が続きます
「図16-6 ページの「構造」ビューで選択されたコンポーネントのブレッドクラム」の説明

編集可能なタスク・フローには、タスク・フローの横に「タスク・フローの編集」リンクがあります。「タスク・フローの編集」リンクをクリックすると、コンポーネント・ナビゲータにタスク・フローのページまたはフラグメント内のコンポーネントの階層が表示されます。ユーザーは、このページまたはフラグメントを編集し、タスク・フローをズーム・アウトするために「閉じる」をクリックできます。詳細は、第16.5.2項「タスク・フロー内のコンテンツの編集」を参照してください。同様に、宣言コンポーネントに、選択した宣言コンポーネントのファセット内部のコンポーネントをユーザーが編集できる「開く」リンクが表示されます。


注意:

  • 「保存」ボタンは、アプリケーションがサンドボックスを使用するように構成されている場合のみコンポーザのツールバーに表示されます。サンドボックスの詳細は、第21.2項「コンポーザのサンドボックスの使用」を参照してください。

  • アプリケーションを保護し、コンポーネントにカスタマイズ制限を適用することによって、ユーザーがこれらのタスクのすべてまたは一部を実行できないように制限することができます。詳細は、第16.7項「セキュリティおよびコンポーザ」を参照してください。


16.3.1.3 編集モードの「デザイン」ビューについて

「デザイン」ビュー(図16-7)では、ページとコンテンツがWYSIWYGで表示され、各コンポーネントのコントロールを直接選択できます。リソース・カタログがページの右側にインライン表示され、そこからページに追加するコンポーネントを選択できます。

インライン・リソース・カタログを非表示にして、かわりにページの各領域に「コンテンツの追加」ボタンを表示することもできます。これは、コンポーネントを追加できる場所の特定に役立ちます。

「デザイン」ビューは、デフォルトでは編集モードで使用できません。このビューを使用可能にするには、Page CustomizableコンポーネントのDesignViews属性の値をdesignまたはallに設定します。詳細は、表B-1「Page Customizableコンポーネントの属性」を参照してください。

「デザイン」ビューの表示を選択した場合は、このビューがデフォルト・ビューとして表示され、「コンテンツの追加」ビューは編集モードで表示されません。

図16-7 コンポーザの「デザイン」ビュー

図16-7の説明が続きます
「図16-7 コンポーザの「デザイン」ビュー」の説明

16.3.1.4 編集モードの「選択」ビューについて

「選択」ビュー(図16-8)は、ページとそのコンテンツのWYSIWYG表示を提供します。このビューでは、コンポーネントを選択して、そのコンポーネントのプロパティまたはその親コンポーネントのプロパティにすばやくアクセスできます。選択ビューでは、コンポーネントを削除できません。

デザイン・ビューの場合と同様に、リソース・カタログがページの右側にインライン表示され、そこからページに追加するコンポーネントを選択できます。

編集モードでは、「選択」ビューはデフォルトでは使用できません。このビューを使用可能にするには、Page CustomizableコンポーネントのDesignViews属性の値をselectまたはallに設定します。詳細は、表B-1「Page Customizableコンポーネントの属性」を参照してください。

図16-8 ページ編集モードの「選択」ビュー

図16-8の説明が続きます
「図16-8 ページ編集モードの「選択」ビュー」の説明

16.3.1.5 編集モードの「プレビュー」ビューについて

「プレビュー」ビューは、公開されるページのプレビューを、アプリケーションに表示されるときと同様に表示します。

編集モードでは、「プレビュー」ビューはデフォルトでは使用できません。このビューを使用可能にするには、Page CustomizableコンポーネントのDesignViews属性の値をpreviewまたはallに設定します。詳細は、表B-1「Page Customizableコンポーネントの属性」を参照してください。

16.4 ページ表示モードでのページのカスタマイズ

コンポーザより、ユーザーは表示モードと編集モードでページをカスタマイズできます。この項では、ページ表示モードでユーザーが可能なユーザー・カスタマイズ・タスクの概要について説明します。このようなタスクには、コンポーネントの再配置、コンポーネントの折りたたみと展開およびページ・レイアウトの変更などがあります。この項で説明する機能を有効にするには、次のコンポーザの設計時コンポーネントをページに追加します: Panel CustomizableShow Detail FrameCustom ActionsおよびLayout Customizable。これらのコンポーネントの詳細は、第16.6項「コンポーザ・コンポーネント」を参照してください。表示モードのページに対して行われた変更はこれらの変更を行うユーザーのみが使用できます。

この項には次のサブセクションが含まれます:


注意:

ページで実行できる編集タスクの詳細は、Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築の「ポータル・ページの作成および編集」の章を参照してください。


16.4.1 コンポーネントの再配置

この機能では、ユーザーは、最も役に立つコンテンツがページの上部に表示されるようにページのコンポーネントを編成できます。ユーザーは、次の2つの方法でコンポーネントを再配置できます。

  • ドラッグ・アンド・ドロップ

    ユーザーは、ページのPanel Customizableコンポーネント内またはPanel Customizableコンポーネント間でコンポーネントをドラッグ・アンド・ドロップしてこれを再配置できます。編集モードでPanel Customizableコンポーネントを識別するのは困難であるため、ユーザーは単純にコンポーネントを配置したい場所にドラッグできます。実線のボックスはドロップできる場所を示します。

  • 「アクション」メニューの使用

    Show Detail Frameコンポーネントまたはポートレット・コンポーネントの移動アクションでは、ユーザーは、これらのコンポーネントを親のPanel Customizableコンポーネント内で移動できます。Panel Customizableに複数の子コンポーネントがある場合、子のShow Detail Frameまたはポートレットを他の子コンポーネントの位置に対して左右または上下に移動できます。図16-9は、「上へ移動」アクションおよび「下へ移動」アクションがあるサンプルのShow Detail Frameコンポーネントを示しています。この例では、「下へ移動」を選択すると、Latest NewsコンポーネントがPress Releaseコンポーネントの真下に移動します。

    図16-9 Show Detail Frameの「アクション」メニュー

    図16-9の説明が続きます
    「図16-9 Show Detail Frameの「アクション」メニュー」の説明

16.4.2 レイアウトの変更

この機能では、ユーザーは、コンポーザに用意されている一連の事前定義済のレイアウトを切り替えることができます。「レイアウトの変更」アイコンを使用して、ユーザーはニーズや好みに合せて8つの異なるレイアウトから選択できます。コンポーザ・ライブラリのLayout Customizableコンポーネントは、図16-10に示すようにページの「レイアウトの変更」アイコンの表示を有効にします。

図16-10 「レイアウトの変更」アイコン

図16-10の説明が続きます
「図16-10 「レイアウトの変更」アイコン」の説明

図16-11は、Layout Customizableコンポーネントで使用可能なレイアウト・オプションを示しています。ページまたは領域に現在適用されているレイアウトは、グレーの境界線で強調表示されています。

図16-11 レイアウト・オプション

図16-11の説明が続きます
「図16-11 レイアウト オプション」の説明

16.4.3 コンポーネントの展開と縮小

ページでコンポーネントの展開と縮小を有効にすることによって、外観を損ねることなくページにより多くの詳細情報を含めることができます。ユーザーは、必要に応じてコンポーネントを縮小したり展開したりできます。

Show Detail Frameまたはポートレットの「縮小」アイコンを使用すると、ユーザーはそのコンポーネントを縮小し、そのヘッダーのみを表示できます。図16-12は、Show Detail Frameコンポーネントの「縮小」アイコンを示しています。

図16-12 Show Detail Frameの「縮小」アイコン

図16-12の説明が続きます
「図16-12 Show Detail Frameの「縮小」アイコン」の説明

縮小されたコンポーネントで「展開」アイコンを使用すると、ユーザーはコンポーネントがヘッダーとコンテンツを表示するようにこれを展開できます。図16-13は、2つの閉じられたShow Detail Frameコンポーネントの「展開」アイコンを示しています。

図16-13 Show Detail Frameの「展開」アイコン

図16-13の説明が続きます
「図16-13 Show Detail Frameの「展開」アイコン」の説明

16.5 ページの編集

この項では、コンポーザがページ編集モードで提供する編集機能について説明します。内容は次のとおりです。


注意:

アプリケーションを保護し、コンポーネントにカスタマイズ制限を適用することによって、ユーザーがこれらのタスクのすべてまたは一部を実行できないように制限することができます。詳細は、第16.7項「セキュリティおよびコンポーザ」を参照してください。


ユーザーがページで実行できる実行時編集タスクの詳細は、Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築のページの編集に関する項を参照してください。

16.5.1 コンテンツの追加

権限のあるユーザーは、ニュースや株式の最新情報を表示するポートレットなどのページにカスタム・コンテンツを追加できます。コンポーザにより、ユーザーは編集モードで任意のコンテナにコンテンツを追加できます。Oracle WebCenter Portalのリソース・カタログ(Oracle Business Dictionaryとも呼ばれる)には、ユーザーがページに追加できるリソースが含まれています。これらには、ドキュメント、Oracle ADFコンポーネント、ポートレットおよびタスク・フローが含まれています。カタログは、ページの編集モードで、次の方法を使用して起動できます。

  • 「コンテンツの追加」ビューと「デザイン」ビューで、ページの任意のコンテナ・コンポーネントの「コンテンツの追加」ボタンをクリックします。

    「デザイン」ビューで、デフォルトではインライン・リソース・カタログが使用可能ですが、これを非表示にして、かわりにページの各領域に「コンテンツの追加」ボタンを表示することもできます。これは、コンポーネントを追加できる場所の特定に役立ちます。

  • 「構造」ビューでは、コンテナ・コンポーネントを選択して、「構造」ビューのツールバーの「選択したコンポーネントにコンテンツを追加」アイコンをクリックします。


注意:

コンテナ・コンポーネントのカスタマイズを制限している場合、ユーザーは、実行時にこの内部にコンポーネントを追加できません。詳細は、第22.1項「カスタマイズ・ポリシーの定義によるコンポーネント・レベルの制限の適用」を参照してください。


図16-14は、Portal Frameworkアプリケーションの「コンテンツの追加」ダイアログを示しています。

図16-14 「コンテンツの追加」ダイアログ

図16-14の説明が続きます
「図16-14 「コンテンツの追加」ダイアログ」の説明

「コンテンツの追加」ダイアログにはフォルダとコンポーネントが含まれています。カタログのアイテムの隣にある「開く」リンクは、アイテムがフォルダであることを示しています。権限のあるユーザーは、このリンクをクリックしてフォルダをドリルダウンできます。アイテムの隣にある「追加」リンクは、アイテムをページに追加できることを示しています。「追加」リンクは、コンポーネントまたはフォルダの隣に表示されます。コンポーネントは、「コンテンツの追加」リンクがクリックされたコンテナに最初の子として追加されます。


注意:

ダイアログの「上」アイコンを使用すると、ユーザーは最上位フォルダに戻ることができます。


リソースをページに追加するためのドロップ・ハンドラを構成した場合、「追加」リンクに、コンポーネントをページに追加するためのものと異なるオプションを含むコンテキスト・メニューが表示されます。詳細は、第19.6項「コンポーザUIイベントのイベント・ハンドラの構成」を参照してください。

構成に応じて、ダイアログは権限のあるユーザーに対して次のコンポーネントのすべてまたはサブセットを公開します。


注意:

詳細は、第14章「リソース・カタログの開発」を参照してください。


  • ADF Facesコンポーネント

    「Web開発」フォルダには、JDeveloperの設計時コンポーネントであるPanel CustomizableおよびShow Detail Frameと似ているBoxコンポーネントおよびMovable Boxコンポーネントが用意されています。JDeveloperでは、これらのコンポーネントは、コンポーザ・タグ・ライブラリで使用できます。


    注意:

    設計時にページに追加されたPanel CustomizableコンポーネントおよびShow Detail Frameコンポーネントは、引き続き同じ呼び名です。これらのコンポーネントは、実行時にそれぞれBoxコンポーネントおよびMovable Boxコンポーネントと表示されることはありません。


    このフォルダには、HTML MarkupHyperlinkImageTextおよびWeb Pageの各コンポーネントが提供されています。これらはそれぞれ、JDeveloperの設計時コンポーネントOutput TextGo LinkGo Image LinkRich Text EditorおよびInline Frameに類似しています。JDeveloperでは、これらのコンポーネントは、ADF Facesタグ・ライブラリで使用できます。

    カタログの「Web開発」フォルダには、図16-15に示すようにこれらのコンポーネントが含まれています。

    図16-15 ページに追加可能なADF Facesコンポーネント

    図16-15の説明が続きます
    「図16-15 ページに追加可能なADF Facesコンポーネント」の説明

  • タスク・フロー

    権限のあるユーザーは、カスタム・タスク・フローおよび即時利用可能なWebCenter Portalのツールとサービス・タスク・フローをページに追加できます。ページに追加されるタスク・フローは、Movable Boxコンポーネント内に自動的に含まれます。その結果、タスク・フローは、コンポーネントを移動または削除するためのオプション付きのヘッダーを表示します。


    注意:

    タスク・フローを囲んでいるMovable Boxコンポーネントは、そのタスク・フローがページで表示されている場合のみ表示されます。つまり、タスク・フローの表示権限すら付与しない場合、これを囲むMovable Boxもページで表示されません。


  • ポートレット

    ポートレット・フォルダは、登録済プロデューサをすべてリストします。権限のあるユーザーは必要なポートレットにナビゲートし、これをページに追加できます。ポートレット・フォルダは、Oracle JDeveloperで登録された任意のJava-PDKまたはWSRPプロデューサからポートレットを公開します。ポートレット・プロデューサの登録の詳細は、第63章「ポートレットの消費」を参照してください。

  • ドキュメント

    コンテンツ管理フォルダは、ユーザーがページに追加できるドキュメントおよびフォルダをリストします。

詳細は、Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築のページのWeb開発コンポーネントの使用に関する項を参照してください。

16.5.1.1 タブ・セットまたはタブのBoxコンポーネントへの追加

Boxコンポーネントにあるツールバーには、タブまたはタブのセットをBoxコンポーネントに追加するオプション(図16-16)が用意されています。タブを使用して、ページの個別のレイヤーとしてコンテンツ・リージョンを追加します。新しいタブそれぞれが現在選択されたタブの下のレイヤーとして配置され、コンテンツを移入できるリージョンを含みます。

「タブ・セットまたはタブの追加」アイコンは、Panel CustomizableコンポーネントのshowTabAction属性がtrueに設定されている場合に使用可能です。

図16-16 「ボックス」コンポーネントにある「タブ・セットまたはタブの追加」アイコン

図16-16の説明が続きます
「図16-16 「ボックス」コンポーネントにある「タブ・セットまたはタブの追加」アイコン」の説明

ユーザーが「ボックス」コンポーネントにある「タブ・セットまたはタブの追加」アイコンをクリックすると、コンポーザはタブをBoxコンポーネントの周りに追加します。「構造」ビューでは、図16-17に示すように、BoxコンポーネントがShow Detail Itemコンポーネント内にネストされていて、さらにこれがPanel Tabbedコンポーネント内にネストされています。ユーザーは、この方法で任意の数のタブを追加できます。

図16-17 「構造」ビューのTabコンポーネント

図16-17の説明が続きます
「図16-17 「構造」ビューのTabコンポーネント」の説明

ユーザーが最初に追加するタブは、選択したBoxコンポーネントを囲みます。その後の各タブは、新しいBoxコンポーネントをその内部に含みます。

権限のあるユーザーは、「コンテンツの追加」ビューまたは「デザイン」ビューの「削除」アイコンをクリックしてタブを削除できます。最後のタブを削除すると、Panel Tabbedコンポーネントがページから削除されます。また、「構造」ビューでPanel Tabbedコンポーネントを削除することによって、タブ・セットを削除できます。その内部にあるBoxを削除せずにタブのみを削除するには、ユーザーは、まずBoxPanel Tabbedコンポーネントの外側に移動(切取りおよび貼付け)してからPanel Tabbedコンポーネントを削除する必要があります。

16.5.1.2 既存のコンポーネントに隣接するBoxコンポーネントの追加

「コンテンツの追加」ビューまたは「デザイン」ビューの「ボックス」コンポーネントにあるツールバーには、コンポーネントの前または後ろに別のBoxコンポーネントを追加するオプションが用意されています。この機能を使用すると、ユーザーは、ページでコンポーネントのレイアウトを変更できます。

ユーザーが「ボックス」コンポーネントにある「追加」アイコンをクリックすると、コンポーザは別のBoxコンポーネントをその前または後ろに追加し、両方のBoxコンポーネントをPanel Group Layoutで囲みます。使用するアイコンに応じて、新しいBoxコンポーネントは、元のBoxコンポーネントの左、右、上または下に追加され、親のPanel Group LayoutコンポーネントにあるLayout属性がhorizontalまたはverticalに設定されます。ユーザーは、この方法で多くの連続したBoxコンポーネントを追加できます。新しいBoxコンポーネントの方向が変わるたびに、適切なレイアウト設定(水平方向または垂直方向)を持つ新しいPanel Group Layoutが新規および既存のBoxコンポーネントの周りに追加されます。


注意:

「追加」アイコンは、次の場合にはコンポーネント上にレンダリングされません。

  • Panel CustomizableコンポーネントのallowAction属性がfalseに設定されている場合

  • Panel Customizableがストレッチされている場合

  • Panel Customizableコンポーネントが制限されている場合

詳細は、第22章「コンポーザ・コンポーネントのデフォルトのセキュリティ動作の変更」を参照してください。


ユーザーは、「コンテンツの追加」ビュー、「デザイン」ビューおよび「構造」ビューを使用して、追加したBoxコンポーネントを削除できます。


注意:

Panel Group LayoutBoxコンポーネントが2つしかなく、その内の1つを削除すると、Panel Group Layoutも削除されます。


「ボックス」コンポーネントのツールバーには、編集アイコンに加えて次のボックス追加アイコンがあります。

  • 上にボックスを追加

  • 下にボックスを追加

  • 左にボックスを追加

  • 右にボックスを追加

16.5.1.2.1 上にボックスを追加

「上にボックスを追加」アイコン(図16-18)をクリックすると、Boxコンポーネントが選択したBoxコンポーネントの上に追加されます。Panel Group Layoutlayout属性はverticalに設定されます。

図16-18 「ボックス」コンポーネントの「上にボックスを追加」アイコン

図16-18の説明が続きます
「図16-18 「ボックス」コンポーネントの「上にボックスを追加」アイコン」の説明

図16-19は、Boxコンポーネントの隣に別のBoxコンポーネントを追加する前の「構造」ビューでのBoxコンポーネントの表示です。

図16-19 隣接する別のBoxコンポーネントを追加する前のBoxコンポーネント

図16-19の説明が続きます
「図16-19 隣接する別のBoxコンポーネントを追加する前のBoxコンポーネント」の説明

図16-20は、コンポーネント・ナビゲータで垂直に整列された2つのBoxコンポーネントを示しています。

図16-20 上に追加されたBoxコンポーネント

図16-20の説明が続きます
「図16-20 上に追加されたBoxコンポーネント」の説明

ユーザーは、「上にボックスを追加」アイコンを繰り返しクリックして、多くの連続したBoxコンポーネントを同じ親Panel Group Layoutの中に垂直に追加できます。

16.5.1.2.2 下にボックスを追加

「下にボックスを追加」アイコン(図16-21)をクリックすると、Boxコンポーネントが選択したBoxコンポーネントの下に追加されます。Panel Group Layoutlayout属性はverticalに設定されます。

図16-21 「ボックス」コンポーネントの「下にボックスを追加」アイコン

図16-21の説明が続きます
「図16-21 「ボックス」コンポーネントの「下にボックスを追加」アイコン」の説明

ユーザーは、「下にボックスを追加」アイコンを繰り返しクリックして、多くの連続したBoxコンポーネントを同じ親Panel Group Layoutの中に垂直に追加できます。

16.5.1.2.3 左にボックスを追加

「左にボックスを追加」アイコン(図16-22)をクリックすると、Boxコンポーネントが選択したBoxコンポーネントの左に追加されます。Panel Group Layoutlayout属性はhorizontalに設定されます。

図16-22 「ボックス」コンポーネントの「左にボックスを追加」アイコン

図16-22の説明が続きます
「図16-22 「ボックス」コンポーネントの「左にボックスを追加」アイコン」の説明

図16-23は、コンポーネント・ナビゲータで水平に整列された2つのBoxコンポーネントを示しています。

図16-23 左に追加されたBoxコンポーネント

図16-23の説明が続きます
「図16-23 左に追加されたBoxコンポーネント」の説明

ユーザーは、「左にボックスを追加」アイコンを繰り返しクリックして、多くの連続したBoxコンポーネントを同じ親Panel Group Layoutの中に水平に追加できます。

16.5.1.2.4 右にボックスを追加

「右にボックスを追加」アイコン(図16-24)をクリックすると、Boxコンポーネントが選択したBoxコンポーネントの右に追加されます。Panel Group Layoutlayout属性はhorizontalに設定されます。

図16-24 「ボックス」コンポーネントの「右にボックスを追加」アイコン

図16-24の説明が続きます
「図16-24 「ボックス」コンポーネントの「右にボックスを追加」アイコン」の説明

ユーザーは、「右にボックスを追加」アイコンを繰り返しクリックして、多くの連続したBoxコンポーネントを同じ親Panel Group Layoutの中に水平に追加できます。

16.5.2 タスク・フロー内のコンテンツの編集

Oracle ADFタスク・フローは、1つ以上のビューから構成され、タスク・フローの各ビューはページまたはページ・フラグメントと関連付けられています。タスク・フローをページに追加すると、現在のビューに関連付けられたフラグメントのコンテンツがページに表示されます。コンポーザでは、ユーザーは、タスク・フローの現在のビューで使用されるページまたはフラグメントのコンポーネントを編集できます。タスク・フローのページまたはフラグメントに対して変更が行われるため、変更は、タスク・フローのページまたはフラグメントが使用されるすべての場所に反映されます。

「構造」ビューには、タスク・フローを開き、コンポーネント・ナビゲータでそのページまたはフラグメントにあるコンポーネントのみを表示するオプションが用意されています。ユーザーは、ページまたはフラグメントを編集し、タスク・フローを閉じて、そのタスク・フローを含むページにナビゲートして戻ることができます。

タスク・フローのカスタマイズ権限を持つユーザーは、そのページまたはフラグメントを編集できます。

コンポーネント・ナビゲータの各タスク・フローは、図16-25に示すように、その隣に「タスク・フローの編集」リンクを表示します。

図16-25 タスク・フローの「タスク・フローの編集」リンク

図16-25の説明が続きます
「図16-25 タスク・フローの「タスク・フローの編集」リンク」の説明

「タスク・フローの編集」リンクをクリックすると、「構造」ビューがズーム・インし、タスク・フローのページとそのコンポーネントが表示されます(図16-26)。

図16-26 タスク・フロー内のコンポーネント

図16-26の説明が続きます
「図16-26 タスク・フロー内のコンポーネント」の説明

ユーザーは、タスク・フローのページでコンポーネントを選択し、他のページのコンポーネントの編集と同様にコンポーザでこれを編集できます。ただし、コンポーザは、あるタスク・フローから別のタスク・フローへのコンポーネントの移動をサポートしていません。

複数のユーザーが同時に同じタスク・フローを編集しようとすると、互いに注意するようそれぞれのユーザーに警告する並行性警告がコンポーザに表示されます。ただし、この警告は、サンドボックスがアプリケーションで構成されている場合のみ表示されます。このような場合に変更がどのように保存されるかについての詳細は、「並行編集時の処理」を参照してください。

開いているタスク・フローの隣の「閉じる」リンクをクリックすると、コンポーネント・ナビゲータは、このタスク・フローを含むページを表示します。

16.5.2.1 タスク・フローのリセット

「構造」ビューのツールバーにある「タスク・フローのリセット」ボタン(図16-27)は、タスク・フローに対して行われたアプリケーションのカスタマイズを削除し、これを前に保存されたバージョンまたは元のデフォルトの状態にリセットするオプションを提供する「タスク・フローのリセット」ダイアログを起動します。タスク・フローを前に保存されたラベルの状態に確実にリセットできるのは、アプリケーションがデータベース・ストアを使用するように構成されている場合のみです。「タスク・フローのリセット」ボタンは、タスク・フローへのズーム・イン時にのみレンダリングされます。


注意:

アプリケーションで「ページのリセット」ボタンを無効にすると、「タスク・フローのリセット」ボタンも無効になります。ユーザーは、変更を行った後にはタスク・フローをリセットできません。詳細は、第16.5.14項「ページのリセット」を参照してください。


図16-27 「タスク・フローのリセット」ボタン

図16-27の説明が続きます
「図16-27 「タスク・フローのリセット」ボタン」の説明

特定のラベルへのロールバック

アプリケーションがデータベース・ストアを使用するように構成されている場合、ユーザーがアプリケーションのカスタマイズを保存するたびに新しいバージョンのタスク・フローが生成されます。アプリケーションにサンドボックスが構成されている場合、SAVED_LABEL_%規則を備えたラベルを作成することによって、コンポーザによってタスク・フローを確実に次のようにリセットできます。

  • SAVED_LABEL_%規則に従うラベル名が1つのみの場合、コンポーザはタスク・フローをそのラベルの状態にリセットします。

  • SAVED_LABEL_%規則に従うラベル名がない場合、コンポーザはタスク・フローを元のデフォルトの状態にリセットします。

  • SAVED_LABEL_%規則に従うラベルが複数ある場合、コンポーザはタスク・フローをそれらの内で最新のラベルの状態にリセットします。

特定のラベルにロールバックするには、サンドボックスを使用するようにアプリケーションを構成しておく必要があります。具体的には、カスタマイズされるタスク・フローのネームスペースは、アプリケーションのadf-config.xmlファイルの<metadata-namespaces>セクションで定義する必要があります。詳細は、第21.2.1項「コンポーザのサンドボックスの作成を有効にする方法」を参照してください。

特定のラベルにロールバックすることは、カスタマイズ・メタデータに対する依存性がアプリケーションにあり、タスク・フローを元の状態にリセットすると問題が発生する場合に便利です。

ユーザーがタスク・フローをリセットすると、次の変更が発生します。

  • 現在選択されているフラグメントのみがリセットされます。タスク・フローのその他のフラグメントはリセットされません。

  • ネストされたタスク・フローはリセット操作によって影響を受けません。

  • タスク・フローがリセットされると、変更は、このタスク・フローを使用するすべてのページに反映されます。

  • 実行時にタスク・フローに追加されたコンポーネントは削除されます。ただし、タスク・フローのページまたはフラグメントでテンプレートを使用している場合、テンプレートにあるPanel Customizableコンポーネント内に追加されたコンポーネントは削除されません。

例16-1は、SAVE_LABEL_接頭辞を持つラベルを作成するサンプル・コードを示しています。

例16-1 SAVE_LABEL_接頭辞を持つラベルを作成するコード

import oracle.mds.versioning.VersionHelper;
import oracle.mds.naming.Namespace;
 
. . . 
long labelNumber = (long)(Math.random() * 1000000000);
String savedlabel = "SAVE_LABEL_" + labelNumber;

MDSInstance mdsInstance = (MDSInstance)ADFContext.getCurrent().getMDSInstanceAsObject();

VersionHelper vh = VersionHelper.get(mdsInstance);

Namespace[] validNamespaces = new Namespace[1];
Namespace pageNamespace = Namespace.create(<pagePath or taskflow path>, NamespaceRestriction.CUSTOMIZATIONS);

validNamespaces[0] = pageNamespace;
vh.createLabel(savedlabel, null, validNamespaces);

16.5.3 宣言型コンポーネント内のコンテンツの編集

アプリケーション・ページに宣言型コンポーネントが含まれている場合、ユーザーはコンポーザでこれらのコンポーネントを編集できます。宣言型コンポーネントの編集は、タスク・フローの編集と似ています。詳細は、第16.5.2項「タスク・フロー内のコンテンツの編集」を参照してください。

図16-28および図16-29は、宣言型コンポーネントで使用可能な「コンポーネントの編集」オプションと「閉じる」オプションを示しています。

図16-28 宣言型コンポーネントの編集オプション

図16-28の説明が続きます
「図16-28 宣言型コンポーネントの編集オプション」の説明

図16-29 宣言型コンポーネントを編集中に表示される「閉じる」オプション

図16-29の説明が続きます
「図16-29 宣言型コンポーネントを編集中に表示される「閉じる」オプション」の説明

16.5.4 ページ・コンテンツの再配置

この機能では、たとえば、最も役に立つコンテンツがページの上部に移動できるように、最も簡単に使用できる場所に基づいて、ユーザーはページのコンポーネントを編成できます。ページ上のコンテンツを次の方法で再配置できます。

  • ページにある同じPanel Customizableコンポーネント内またはPanel Customizable(あるいはBox)コンポーネントの間でコンポーネントをドラッグ・アンド・ドロップします。

  • Show Detail Frameまたはポートレットの「アクション」メニューにある「移動」アクションを使用して、これを親Panel Customizableコンポーネント内で移動します。Panel Customizableコンポーネントの子コンポーネントの数、およびそれらのコンポーネントの向きに応じて、コンポーネントを左、右、上または下に移動できます。

  • コンテナ内でコンポーネントを順序変更するには、コンテナの「コンポーネント・プロパティ」ダイアログで、「子コンポーネント」タブをクリックし、子コンポーネントそれぞれに表示される上下の矢印を使用します(図16-30)。


    注意:

    カスタマイズが制限されているコンポーネントは、その親がカスタマイズ可能である場合、その親コンテナ内で再配置できます。

    「子コンポーネント」タブには、直接の子コンポーネントのリストをタブの上部に表示し(「コンポーネント」リスト)、次にそのコンポーネントに対して定義されたすべてのファセットのリストを表示します(「固定コンポーネント」リスト)。ファセット・コンポーネントは再配置できないため、これらのコンポーネントには上下の矢印はありません。「固定コンポーネント」リストは、コンポーネントにファセットが含まれている場合のみ表示されます。


    図16-30 コンテナの「子コンポーネント」タブの順序変更オプション

    図16-30の説明が続きます
    「図16-30 コンテナの「子コンポーネント」タブの順序変更オプション」の説明

  • 「構造」ビューのツールバー(図16-31)上の「切取り」および「貼付け」を使用します。「貼付け」メニューを使用すると、ユーザーは、コンポーネント・ナビゲータでコンポーネントを他の任意のコンポーネントの中、前または後ろに貼り付けることができます。

    図16-31 「構造」ビューのツールバーの「切取り」オプションおよび「貼付け」オプション

    図16-31の説明が続きます
    「図16-31 「構造」ビューのツールバーの「切取り」オプションおよび「貼付け」オプション」の説明

    「切取り」ボタンおよび「貼付け」ボタンは、ユーザーが切取りまたは貼付けの操作をサポートしていないコンポーネントを選択した場合にはグレー表示されます。切取りおよび貼付けの操作は、次の条件ではサポートされません。

    • ターゲット・コンポーネントが切り取ったコンポーネントと同じページにない場合。

    • ターゲット・コンポーネントが切り取ったコンポーネント内部にネストされている場合。

    • ターゲット・コンポーネントがファセットされたコンポーネント(つまり、ファセット内部のコンポーネント)の前または後ろにある場合。

    • ターゲット・コンポーネントの親がカスタマイズ可能でない場合。

    • 切り取ったコンポーネントの親がカスタマイズ可能でない場合。


    注意:

    カスタマイズが制限されているコンポーネントは、その親がカスタマイズ可能である場合、その親コンテナ内で再配置できます。


    : カスタマイズ可能ページにADF Faces Tableコンポーネントが含まれている場合、コンポーザの「構造」ビューで、ユーザーは表および列グループ内またはこれらの間で列を順序変更または移動できます。コンピュータのアクセサリを販売するために作成したサンプル・アプリケーションについて考えてみます。このアプリケーションのホーム・ページには、ソフトウェアおよびハードウェアの販売に関する詳細を含む2つの表があります。ハードウェア・オプションの表には3つの列があります。ハード・ディスクの列には、図16-32に示すように、列グループ内に磁気ディスクおよび半導体の列があります。

    図16-32 サンプル・アプリケーションの表

    図16-32の説明が続きます
    「図16-32 サンプル・アプリケーションの表」の説明

    ユーザーは、「構造」ビューに切り替えて、ハード・ディスク列内で磁気ディスクと半導体の列を順序変更したり、これらを列グループ外に移動して他の任意の列(ワイヤレスの列など)の隣に貼り付けることができます。

    ユーザーは、列を選択し、「切取り」をクリックしてから別の列を選択し、「前に貼付け」または「後に貼付け」をクリックできます。

16.5.5 コンポーネントのプロパティおよびパラメータの編集

「コンポーネント・プロパティ」ダイアログを使用すると、ユーザーは、ポートレットやタスク・フローなどのコンポーネントに関連付けられたコンポーネントのプロパティおよびパラメータを編集できます。


注意:

コンポーネントは次の場合には編集できません。


「コンテンツの追加」ビューおよび「デザイン」ビューで、コンポーネントの「編集」アイコンをクリックすると、図16-33に示すように「コンポーネント・プロパティ」ダイアログが表示されます。

図16-33 「コンポーネント・プロパティ」ダイアログ

図16-33の説明が続きます
「図16-33 「コンポーネント・プロパティ」ダイアログ」の説明

「表示オプション」タブでは、ユーザーは、背景やタイトルなどの視覚的なプロパティを編集できます。「パラメータ」タブが使用可能な場合、ユーザーはこのタブを使用して、ポートレットやタスク・フローなどのコンポーネントのパラメータを編集できます。

「コンポーネント・プロパティ」のカスタマイズの視覚的な意味

「表示オプション」タブにあるプロパティの隣のアイコンは、プロパティが実行時に編集されたことを意味します。2つの異なるアイコンが使用され、現在のコンテキストおよび異なるレイヤーで行われた変更を示します。図16-34は、プロパティが更新されたことを示すために使用される2つの異なるアイコンを示しています。


注意:

プロパティのカスタマイズの視覚的意味は、アプリケーションで複数のカスタマイズ・レイヤーを構成した場合のみ関係します。詳細は、第21.3項「カスタマイズ・レイヤーの表示モードおよび編集モードへの追加: 例」を参照してください。


図16-34 プロパティのカスタマイズの視覚的意味

図16-34の説明が続きます
「図16-34 プロパティのカスタマイズの視覚的意味」の説明

「コンポーネント・プロパティ」ダイアログでは、ユーザーは、現在のコンテキストの視覚的プロパティをリセットすることもできます。詳細は、第16.5.6項「現在のレイヤーのコンポーネント・プロパティのリセットとオーバーライド」を参照してください。

16.5.6 現在のレイヤーのコンポーネント・プロパティのリセットとオーバーライド

ユーザーは、現在のレイヤーのコンポーネント・プロパティに対して行ったアプリケーションのカスタマイズをリセットおよびオーバーライドできます。「コンポーネント・プロパティ」ダイアログには、「コンポーネント・プロパティ」ダイアログのパネルにある特定のプロパティまたはすべてのプロパティをリセットするオプションが用意されています。

プロパティのコンテキスト・メニューにある「オーバーライド」オプション(図16-35)を使用すると、ユーザーは、別のレイヤーの値を現在のレイヤーの固定値として使用できます。たとえば、ユーザーは、レイヤーXMovable BoxコンポーネントにあるShort Descプロパティを編集して、これをFirst Frameに設定します。別のレイヤーYでこのコンポーネントを編集しているユーザーは、First FrameをレイヤーYShort Descの固定値として選択できます。レイヤーYのこのコンポーネントにアクセスしているすべてのユーザーには、今後この値が表示されます。Short Descの値は、レイヤーXでこの値が変更されてもレイヤーYでは変更されません。ユーザーがプロパティに値を入力すると、そのプロパティの「オーバーライド」オプションはグレー表示されます。

図16-35 「コンポーネント・プロパティ」ダイアログの「リセット」オプションと「オーバーライド」オプション

図16-35の説明が続きます
「図16-35 「コンポーネント・プロパティ」ダイアログの「リセット」オプションと「オーバーライド」オプション」の説明

プロパティのコンテキスト・メニューにある「リセット」オプションを使用すると、ユーザーは、そのプロパティを元の状態にリセットできます。プロパティがそのレイヤーで編集されたことがない場合、またはユーザーがそのプロパティを表示された値(別のレイヤーから取得)でオーバーライドすることを選択した場合、「リセット」オプションはグレー表示されます。

「すべてリセット」ボタンを使用すると、ユーザーは、「表示オプション」タブにあるすべてのプロパティをリセットできます。ユーザーは、「表示オプション」タブでレンダリングされた視覚的なプロパティに適用されたアプリケーションのカスタマイズのみをリセットできます。


注意:

「リセット」オプションと「すべてリセット」ボタンは、コンポーネントが新しく作成された場合または現在のレイヤーで変更された属性がない場合には使用できません。


16.5.7 リソース文字列の編集

コンポーザで編集されたコンポーネント・プロパティは、現在の言語でのみ使用できます。たとえばタスク・フローをページに追加する場合、コンポーザで入力するタスク・フロー・タイトルは現在の言語でのみ使用可能です。そのため、別のロケールのユーザーには、そのようなプロパティの翻訳された値が表示されません。実行時に編集されたコンポーネント・プロパティの言語サポートを提供するために、コンポーザではユーザーは、文字列値を取るプロパティのリソース文字列を編集できます。これは、JDeveloperが提供するリソース文字列エディタ機能に似ています。コンポーザでリソース文字列に対して行った変更は、アプリケーション・オーバーライド・バンドルに保存されます。バンドルは翻訳に送られ、翻訳されたバージョンがアプリケーションに戻されます。こうして、ユーザーは自身の言語でプロパティ値を表示できます。

オーバーライド・バンドルおよび既存(リリース11.1.1)のPortal Frameworkアプリケーションでのリソース文字列編集の構成の詳細は、第20.12項「実行時リソース文字列編集の構成」を参照してください。

実行時、文字列値を取ることができるコンポーネント表示オプションについては、プロパティ・フィールドの隣の「編集」メニューで、図16-35に示すように、「テキスト・リソースの選択」オプションが提供されます。ユーザーは、このオプションを選択して、プロパティのリソース文字列を編集できます。

「テキスト・リソースの選択」ダイアログ(図16-36)には、既存のリソースを検索するオプション、リソース・キーを編集または削除するオプションおよび新しいリソース・キーと値のペアを追加するオプションが用意されています。

図16-36 「テキスト・リソースの選択」ダイアログ

図16-36の説明が続きます
「図16-36 「テキスト・リソースの選択」ダイアログ」の説明

「テキスト・リソースの選択」ダイアログは、次のものを表示します。

  • 「キー」フィールド: 新しいキー名の指定または既存の名前の変更を行います。これは、リソース・バンドルのロケール固有のオブジェクトを一意に識別するために使用される文字列値です。

    このキー名には、リソースが属しているMDSレイヤーが自動的に接頭辞として付いています。この接頭辞は、実行時に作成されたキーと設計時に作成されたキーを区別する際に役に立ちます。

    既存のキーに対して表示される「編集」アイコンと「新規キー/値」アイコン(図16-37)を使用すると、ユーザーは次のタスクを実行できます。

    • 編集: 既存のリソース文字列のキー値を変更します。新しい値を持つ文字列は、オーバーライド・バンドルに保存されます。

    • 新規キー/値: アプリケーション・オーバーライド・バンドルにキーと値のペアを作成します。

    図16-37 リソース文字列キーを作成および編集するためのアイコン

    図16-37の説明が続きます
    「図16-37 リソース文字列キーを作成および編集するためのアイコン」の説明

    ユーザーが編集できるのは、同じMDSレイヤーで作成された文字列のみです。その他の文字列は、読取り専用として表示されます。


    注意:

    「テキスト・リソースの選択」ダイアログで値を直接入力してリソース・バンドルのデフォルトのコンテンツをオーバーライドしようとすると、この変更は有効にならず、空白ページが表示されます。

    したがって、「テキスト・リソースの選択」ダイアログで値を直接入力するのではなく、新しいリソース文字列を作成することをお薦めします。


  • 「表示値」フィールド: リソース文字列を指定してUIでの表示用に変換するかまたは既存の文字列を変更します。

  • 「説明」フィールド: リソースの翻訳可能な説明を指定するかまたは既存の説明を変更します。

  • 「作成」ボタン: 新しいリソース文字列を作成します。「作成」ボタンをクリックすると、検索結果表に、新しいリソースを作成するための入力フィールドを備えた新しい行が用意されます。ユーザーは、行の内側をダブルクリックし(図16-38)、「キー」、「表示値」および「説明」に値を指定してから「OK」をクリックして新しい文字列を作成できます。

    図16-38 検索結果表で新しいリソース文字列を作成するためのフィールド

    図16-38の説明が続きます
    「図16-38 検索結果表で新しいリソース文字列を作成するためのフィールド」の説明

    ユーザーは、オーバーライド・バンドルに保存される非アクティブ文字列を作成できるのみです。最後の列の「使用」ボタンをクリックすると、現在のプロパティ値として文字列を使用することが選択されます。

  • 「削除」ボタン: 選択したリソースを検索結果表から削除します。

  • 「検索」フィールド: 既存のリソースを検索します。ユーザーは、同じレイヤー、異なるMDSレイヤーまたは設計時にJSPXファイルで定義および使用されたリソース・バンドルで作成された文字列を検索できます。

  • 「リフレッシュ」: 検索結果表をリフレッシュします。

  • 検索結果表: 検索結果を表示し、文字列を編集し、新しい文字列に値を指定します。

    ユーザーは、同じレイヤーで作成された文字列を編集できます。設計時または別のMDSレイヤーで作成されたその他の文字列は、プロパティで使用できるだけで編集できません。

    リンクまたはステータス・インジケータ・トグルは最後の列に表示され、ユーザーは文字列をアクティブにしたり、翻訳対象リソースにしたり、文字列をアクティブ・リソースとして指定できます(図16-39)。

    図16-39 リソース文字列の「アクティブ」ステータス

    図16-39の説明が続きます
    「図16-39 リソース文字列の「アクティブ」ステータス」の説明


    注意:

    設計時に作成されたリソース文字列を検索すると、コンポーザは、JSPXファイルでリソース文字列を指定するときに使用されるc:setタグを検索します。

    次の例は、JSPXページでComposerBundleを定義する際に使用されるc:set要素を示しています。

    <c:set var="portalBundle"
             value="#{compBundle['test.resource.ComposerBundle']}"/>
    

ノート

  • コンポーザは、実行時に約500のリソース文字列の作成をサポートします。この数を超えると、アプリケーションのパフォーマンスは低下します。

  • リソース文字列エディタの検索条件では、大文字と小文字が区別されます。

  • 検索文字列の説明を検索するには、ユーザーは検索条件に完全な文字列値を指定する必要があります。

  • JDeveloperの「プロパティ・バンドル」または「リスト・リソース・バンドル」で作成されたエントリの文字列説明は、リソース文字列エディタには表示されません。

  • リソース文字列を編集するオプションは、「パラメータ」タブと「イベント」タブのプロパティには無効です。

    ADFリソースのEL値がページ・パラメータ、タスク・フロー・パラメータ、ポートレット・パラメータなどのページ定義パラメータで参照される場合、ELをバインドすると空の値が返されます。ユーザーは、ページ定義パラメータでADFリソースのEL値を参照しないようにする必要があります。

16.5.8 コンポーネントの表示または非表示

ユーザーは、ページで様々なオプションを使用してコンポーネントの表示と非表示を選択できます。ユーザーは、次の方法でコンポーネントを非表示または表示にできます。


注意:

動作の表示または非表示がコンポーネントのrenderedプロパティに関連付けられます。ユーザーがコンポーネントを非表示にする場合、renderedプロパティはfalseに設定されます(またはこの逆)。コンポーネントのrendered属性がEL値の場合は、その値は表示または非表示オプションの使用時に失われます。値はtrueまたはfalseに設定されます。


  • コンポーネントの「編集」アイコンをクリックします。「コンポーネント・プロパティ」ダイアログで、「コンポーネントの表示」チェック・ボックスを選択解除します(図16-40)。

    図16-40 「コンポーネント・プロパティ」ダイアログの「コンポーネントの表示」オプション

    図16-40の説明が続きます
    「図16-40 「コンポーネント・プロパティ」ダイアログの「コンポーネントの表示」オプション」の説明

    「コンポーネントの表示」チェック・ボックスを選択解除して、ダイアログの「適用」または「OK」をクリックすると、ページにコンポーネントが再度レンダリングされます。

  • コンポーネントを非表示にするには、コンポーネント・ナビゲータまたは「構造」ビューのページでコンポーネントを右クリックし、コンテキスト・メニューで「コンポーネントの非表示」を選択します(図16-41)。

    図16-41 ページの「構造」ビューの「コンポーネントの非表示」オプション

    図16-41の説明が続きます
    「図16-41 ページの「構造」ビューの「コンポーネントの非表示」オプション」の説明

    非表示のコンポーネントはページに表示されませんが、コンポーネント・ナビゲータにはグレー表示されます。非表示コンポーネントのコンテキスト・メニューには、「コンポーネントの表示」オプションが表示され、ページのコンポーネントが再度レンダリングされます。


    注意:

    動作の表示または非表示がコンポーネントのrenderedプロパティに関連付けられます。ユーザーがコンポーネントを非表示にする場合、renderedプロパティはfalseに設定されます(またはこの逆)。コンポーネントのrendered属性がEL値の場合は、その値は表示または非表示オプションの使用時に失われます。値はtrueまたはfalseに設定されます。


16.5.9 コンポーネントの削除

ユーザーは、ページのヘッダーにある「削除」アイコンをクリックして、ページからコンポーネントを削除できます。

ユーザーは「削除」ダイアログで削除の確認を求められます。


注意:

コンポーネントに対してカスタマイズ制限を定義した場合、そのコンポーネントに対する「削除」アイコンは実行時に無効になります。詳細は、第22.1.1項「タイプ・レベルのカスタマイズ・ポリシーの定義方法」を参照してください。


16.5.10 レイアウトの変更

「レイアウトの変更」アイコンを使用すると、ユーザーは8つの事前定義されたレイアウトのセットからレイアウトを選択できます。デフォルトのページ・レイアウトはthreeColumnです。

「構造」ビューで、ユーザーはLayout Customizableコンポーネントを選択し、そのプロパティを表示できます。レイアウト・オプションは、「コンポーネント・プロパティ」ダイアログに表示されます。ユーザーは、任意の事前定義されたレイアウトを選択し、「適用」または「OK」をクリックできます。


注意:

ユーザーが事前定義されたレイアウト・オプションを使用できるのは、設計時にページにLayout Customizableコンポーネントを追加した場合のみです。詳細は、第16.6.5項「Layout Customizable」を参照してください。


16.5.11 ページ・プロパティの編集

「ページ・プロパティ」ダイアログでは、ユーザーは、ページのパラメータの作成または編集およびプロパティの表示を実行できます。図16-42は、「ページ・プロパティ」ダイアログの「表示オプション」タブを示しています。

図16-42 「ページ・プロパティ」ダイアログ

図16-42の説明が続きます
「図16-42 「ページ・プロパティ」ダイアログ」の説明

「パラメータ」タブで、ユーザーは、コンポーネント・プロパティにリンク可能なページ・パラメータを作成し、ページ上のコンポーネントをページ・コンテキストに適応させることができます。たとえば、ページにSYMBOLというパラメータがあり、このデフォルト値がORCLであるとします。このページには、株式グラフ、株価および会社情報のタスク・フローが含まれているとします。これらのタスク・フローは、これらすべてのタスク・フローがSYMBOLの値の変化に応答し、これに応じて更新されるようにページ・パラメータでリンクすることができます。

16.5.12 子コンポーネントの表示名のカスタマイズ

ページ上のコンポーネントは、多数の子コンポーネントの親である場合があります。親コンポーネントのプロパティを表示すると、「コンポーネント・プロパティ」ダイアログの「子コンポーネント」タブに記載されたその親の子コンポーネントを検索できます。複数の子コンポーネントが同じタイプの場合、それらを子コンポーネントのリストで互いに区別できないことがあります。たとえば、panelGroupLayoutコンポーネントはそのlayout属性の値を表示名として使用します(例: vertical)。そのため、「構造」ビューでは図16-43に示すように、複数のpanelGroupLayoutコンポーネントが子コンポーネントのリストですべて同じ名前になる場合があります。

図16-43 子コンポーネント名: 「構造」ビューおよび「コンポーネント・プロパティ」ダイアログ

図16-43の説明が続きます
「図16-43 子コンポーネント名: 「構造」ビューおよび「コンポーネント・プロパティ」ダイアログ」の説明

特定の子コンポーネントを特定して操作する必要がある場合、ページのソース・コードを編集して任意のコンポーネントに一意の表示名を指定し、容易に識別できるようにすることが可能です。この表示名は、ヒント・テキストと「コンポーネント・プロパティ」ダイアログに表示されます。この機能を実装するカスタム属性はcomposer_name_hintで、次のように<f:attribute>を使用して指定できます。

構文:

<f:attribute name="composer_name_hint" value="display_name"/>

:

<af:panelGroupLayout id="pgl1" layout="scroll" inlineStyle="">
  <f:attribute name="composer_name_hint" value="Main Area"/>
</ af:panelGroupLayout>

図16-44に、親panelCustomizable (Box)コンポーネントに対する「コンポーネント・プロパティ」ダイアログの「子コンポーネント」タブを示します。子の親コンポーネントには4つのpanelCustomizable (Box)子コンポーネントが含まれます。

この表示名Boxは親コンポーネントと4つの子コンポーネントに使用され、それらを識別することはできません。

図16-44 composer_name_hintを定義していないコンポーネント: 「構造」ビューと「コンポーネント・プロパティ」ダイアログ

図16-44の説明が続きます
「図16-44 composer_name_hintが定義されていないコンポーネント: 「構造」ビューと「コンポーネント・プロパティ」ダイアログ」の説明

これらのコンポーネントの表示名をカスタマイズするために、ソース・コードを編集してcomposer_name_hint属性を各コンポーネントに追加できます。composer_name_hint 値は、次の場所で公開されています。

図16-47に示された親Box (panelCustomizable)コンポーネントとその4つの子Boxコンポーネントに対するこのページのソース・コードは、次のようになります。

<af:showDetailItem id="82127" text="Project XYZ" xmlns:af="http://xmlns.server.com/adf/faces/rich" disclosed="true" inflexibleHeight="100">
   <cust:panelCustomizable id="45399" layout="scroll" xmlns:cust="http://xmlns.server.com/adf/faces/customizable">
      <f:attribute name="composer_name_hint" value="Project XYZ content area"/>
      <cust:panelCustomizable id="273" xmlns:cust="http://xmlns.server.com/adf/faces/customizable">
         <f:attribute name="composer_name_hint" value="header area"/>
      </cust:panelCustomizable>
      <cust:panelCustomizable id="959" xmlns:cust="http://xmlns.server.com/adf/faces/customizable">
         <f:attribute name="composer_name_hint" value="dept area"/>
      </cust:panelCustomizable>
      <cust:panelCustomizable id="393" xmlns:cust="http://xmlns.server.com/adf/faces/customizable">
         <f:attribute name="composer_name_hint" value="employee area"/>
      </cust:panelCustomizable>
      <cust:panelCustomizable id="941" xmlns:cust="http://xmlns.server.com/adf/faces/customizable">
         <f:attribute name="composer_name_hint" value="project area"/>
      </cust:panelCustomizable>
   </cust:panelCustomizable>
</af:showDetailItem>

16.5.13 ページ・パラメータへのコンポーネントの関連付け

コンポーザを使用すると、ユーザーは、ページ・パラメータを読み取り、それに応じて動作が変更されるように、ポートレットやタスク・フローをページ・パラメータとリンクできます。

ユーザーは、「コンポーネント・プロパティ」ダイアログを使用して、ポートレットとタスク・フロー・パラメータをページ・パラメータに関連付けられます。詳細は、Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築の「ページ、タスク・フロー、ポートレットおよびADFコンポーネントの作成」の章を参照してください。

コンポーネントとページ・パラメータの関連付けに加えて、コンポーザを使用すると、ユーザーは、表示オプションおよびパラメータの値をページURLを介して渡すこともできます。詳細は、Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築のページURLによるパラメータ値の受渡しに関する項を参照してください。

16.5.14 ページのリセット

「ページのリセット」アイコンは、編集モードのページで使用できます。このアイコンは、「ページのリセット」ダイアログを起動します。このダイアログでは、現在のレイヤーまたは最上位レイヤーでページに対して行われた編集を削除し、これを前に保存されたバージョンまたは元のデフォルトの状態にリセットするオプションを使用できます。

図16-48 「ページのリセット」ダイアログ

図16-48の説明が続きます
「図16-48 「ページのリセット」ダイアログ」の説明


注意:

「ページのリセット」アイコンは、コンポーザのツールバーにレンダリングされたデフォルトのアドオンです。ユーザーにページをリセットさせたくない場合、このアイコンを無効にできます。詳細は、第19.2.5項「アドオンを選択的に表示する方法」を参照してください。


特定のラベルへのロールバック

アプリケーションがデータベース・ストアを使用するように構成されている場合、ユーザーがアプリケーションのカスタマイズを保存するたびに新しいバージョンのページが生成されます。アプリケーションにサンドボックスが構成されている場合、SAVE_LABEL_%規則を備えたラベルを作成することによって、コンポーザによってページを確実に次のようにリセットできます。

  • SAVE_LABEL_%規則に従うラベル名が1つのみの場合、コンポーザはページをそのラベルの状態にリセットします。

  • SAVE_LABEL_%規則に従うラベル名がない場合、コンポーザはページを元のデフォルトの状態にリセットします。

  • SAVE_LABEL_%規則に従うラベルが複数ある場合、コンポーザはページをそれらの内で最新のラベルの状態にリセットします。

特定のラベルにロールバックするには、サンドボックスを使用するようにアプリケーションを構成しておく必要があります。具体的には、カスタマイズされるページのネームスペースは、アプリケーションのadf-config.xmlファイルの<metadata-namespaces>セクションで定義する必要があります。詳細は、第21.2.1項「コンポーザのサンドボックスの作成を有効にする方法」を参照してください。

特定のラベルにロールバックすることは、カスタマイズ・メタデータに対する依存性がアプリケーションにあり、ページを元の状態にリセットすると問題が発生する場合に便利です。


注意:

  • ユーザーは、ページで行われたアプリケーションのカスタマイズのみをリセットできます。ベース・ページまたは共有コンポーネントのページで定義されたコンポーネントはそのままになります。

  • ユーザーがページをリセットすると、実行時にページに追加されたコンポーネントは削除されます。ただし、ページでテンプレートを使用している場合、テンプレートにあるPanel Customizableコンポーネント内に追加されたコンポーネントは削除されません。


例16-2は、SAVE_LABEL_接頭辞を持つラベルを作成するサンプル・コードを示しています。

例16-2 SAVE_LABEL_接頭辞を持つラベルを作成するコード

import oracle.mds.versioning.VersionHelper;
import oracle.mds.naming.Namespace;
 
....
long labelNumber = (long)(Math.random() * 1000000000);
String savedlabel = "SAVE_LABEL_" + labelNumber;

MDSInstance mdsInstance = (MDSInstance)ADFContext.getCurrent().getMDSInstanceAsObject();

VersionHelper vh = VersionHelper.get(mdsInstance);

Namespace[] validNamespaces = new Namespace[1];
Namespace pageNamespace = Namespace.create(<pagePath or taskflow path>, NamespaceRestriction.CUSTOMIZATIONS);

validNamespaces[0] = pageNamespace;
vh.createLabel(savedlabel, null, validNamespaces);

16.5.15 エラー検出時のアプリケーションのカスタマイズのリセット

コンポーザには、ページの破損を引き起こすカスタマイズ・エラーをユーザーに警告するメカニズムが用意されています。ユーザーは、次の方法でエラーに関する警告を受けます。

次の操作を実行中に発生するエラーは、ページの破損を引き起こす場合があります。

  • 切取りおよび貼付けオプション使用時の間違った位置へのコンポーネントの貼付け(表の列の表外への貼付けなど)。

  • コンポーネントまたはタスク・フローの追加(エラーが発生するWebサービスをコールするタスク・フローの追加など)。

  • ドラッグ・アンド・ドロップの方法を使用したページへのShow Detail Frameコンポーネントの移動

16.5.16 アプリケーションのカスタマイズ保存時のラベルの作成

図16-51に示す、コンポーザのツールバーの「保存してラベル付け」ボタンを使用すると、ユーザーは、アプリケーションのカスタマイズを新しいラベルに保存できます。コンポーザで作成されたラベルはcomposer_の接頭辞を付けて格納されます。つまり、myLabelという名前で作成されたラベルはcomposer_myLabelとして格納されます。

ラベルを作成すると、ユーザーは、選択したオブジェクトのカスタマイズを選択したラベルのカスタマイズにリセットできます。これは、「カスタマイズ・マネージャ」の「プロモート」リンクを使用して実現できます。詳細は、「カスタマイズ・メタデータのプロモート」というタイトルの項を参照してください。


注意:

「保存してラベル付け」ボタンが表示されるのは、サンドボックスをアプリケーションのMDSデータベース・ストアで構成し、Page CustomizableコンポーネントのallowLabel属性をtrueに設定した場合のみです。この属性の詳細は、第B.1.1項「Page Customizableコンポーネント」を参照してください。


図16-51 コンポーザのツールバーの「保存してラベル付け」ボタン

図16-51の説明が続きます
「図16-51 コンポーザのツールバーの「保存してラベル付け」ボタン」の説明

16.5.17 アプリケーションのカスタマイズの管理

「カスタマイズ・マネージャ」はコンポーザのアドオン・パネルで、ここでユーザーは、XMLドキュメント、ページ、ページ・フラグメント、ページのタスク・フローなどのオブジェクトのカスタマイズ・メタデータを管理できます。これは、このようなすべてのオブジェクトのリストをページに表示し、これらのオブジェクトがカスタマイズされるレイヤーに関する詳細を提供します。ユーザーは、選択したオブジェクトのカスタマイズ・メタデータをダウンロードし、これを編集し、修正したメタデータ・ファイルをアップロードできます。また、「カスタマイズ・マネージャ」は、カスタマイズを削除したり、前に保存したラベルからのカスタマイズをプロモートしたりするオプションも提供します。

カスタマイズ・マネージャは、デフォルトではカスタム・アプリケーションで使用できません。特定の構成を実行することにより有効にできます。詳細は、第19.2.4項「カスタマイズ・マネージャのアドオンの表示方法」を参照してください。カスタマイズ・マネージャのアドオンをアプリケーションが表示できるように構成する場合は、図16-52に示すように、コンポーザのツールバーに「カスタマイズ・マネージャ」アイコンが表示されます。

図16-52 「カスタマイズ・マネージャ」ボタン

図16-52の説明が続きます
「図16-52 「カスタマイズ・マネージャ」ボタン」の説明

「カスタマイズ・マネージャ」ボタンをクリックすると、図16-53に示すように、「カスタマイズ・マネージャ」ダイアログが起動します。

図16-53 「カスタマイズ・マネージャ」ダイアログ

図16-53の説明が続きます
「図16-53 「カスタマイズ・マネージャ」ダイアログ」の説明

「カスタマイズ・マネージャ」は、各レイヤーのカスタマイズされたページ、フラグメントまたはXMLドキュメントそれぞれに対して、「削除」、「プロモート」、「ダウンロード」および「アップロード」のリンクを表示します。ユーザーは、検索フィールドでJSPX、JSFFまたはXMLのファイル名を指定し、そのファイルのオブジェクトのカスタマイズの詳細を表示し、そのカスタマイズを管理できます。ファイルを検索するには、ファイルへの絶対パス(/oracle/webcenter/portalapp/pages/home.jspxなど)を指定する必要があります。


注意:

深くネストされたタスク・フローまたは循環依存性を持つタスク・フローの場合、「カスタマイズ・マネージャ」は、最大で深度10のタスク・フローを表示します。


ユーザーは、アプリケーションが実行されている現在のMDSコンテキストでカスタマイズを管理できます。「現在のコンテキスト」列には、選択したレイヤーのカスタマイズを管理するオプションが表示されます。ドロップダウン・メニューには、ページまたはフラグメントがカスタマイズされたレイヤーがリストされます。この列は、行ったカスタマイズを管理するすべてのユーザーにとって便利です。「すべてのレイヤー」列には、アプリケーションのすべてのレイヤーのカスタマイズを管理するオプションが表示されます。この列は、すべてのレイヤーで行われたカスタマイズを管理する管理者にとって便利です。


注意:

  • アプリケーションのサンドボックスを構成し、すべての「カスタマイズ・マネージャ」操作をサンドボックスで実行する場合(ユーザーがカスタマイズ・ドキュメントをアップロードする場合など)、これは、ユーザーがそのセッションで行われた変更を保存または破棄するまで、サンドボックスに格納されます。

  • 選択したオプションを表示するためにのみ「カスタマイズ・マネージャ」をカスタマイズできます。たとえば、「ダウンロード」、「削除」または「アップロード」のリンクを表示または非表示にできます。さらに、現在のコンテキストの詳細のみまたはすべてのレイヤーの詳細を表示することを選択できます。

    これらの設定は、カスタマイズ・マネージャ・タスク・フローのパラメータを使用して行えます。タスク・フローでパラメータ・サポートを有効にすることによって、ユーザーが実行時に「カスタマイズ・マネージャ」をカスタマイズできるようにすることも可能です。詳細は、第19.8項「プロパティ・フィルタの定義」を参照してください。


この項では、「カスタマイズ・マネージャ」によって提供される機能について説明します。次のサブセクションが含まれます:

カスタマイズ・メタデータのダウンロード

「ダウンロード」リンクでは、ユーザーは、選択したページ、フラグメントまたはXMLドキュメントのカスタマイズ・ドキュメントを選択したレイヤーからダウンロードできます。これは、ユーザーがコンポーネントのカスタマイズ・メタデータを編集する場合やカスタマイズ・メタデータを調査する場合に便利です。たとえば、ページにエラーが表示されている場合、ユーザーはカスタマイズをダウンロードして確認し、必要に応じてこれをOracleサポート・サービスに送信できます。こうすることによって、ページのカスタマイズの問題の診断に役立ちます。

「保存」ダイアログを使用すると、ユーザーは、ドキュメントを保存する場所を選択できます。ユーザーは、このファイルをローカルで編集し、これをサイトに再アップロードできます。ファイルのアップロードの詳細は、「カスタマイズ・メタデータのアップロード」を参照してください。

カスタマイズされるすべてのオブジェクトのカスタマイズ・メタデータのダウンロード

ページの下部にある「すべてのレイヤーに対するカスタマイズのダウンロード」リンクを使用すると、ユーザーは、「カスタマイズ・マネージャ」に表示されるすべてのカスタマイズ・ドキュメントを含むZIPファイルをダウンロードできます。

カスタマイズ・メタデータのアップロード

「アップロード」リンクを使用すると、ユーザーは、選択したアーティファクト(ページ、フラグメント、XMLドキュメントなど)のカスタマイズ・ドキュメントを特定のレイヤーにアップロードできます。図16-54は、ユーザーがアップロードするファイルを選択できる「カスタマイズのアップロード」ダイアログを示しています。

図16-54 「カスタマイズのアップロード」ダイアログ

図16-54の説明が続きます
「図16-54 「カスタマイズのアップロード」ダイアログ」の説明

アーティファクトは、アップロードしたドキュメントのメタデータに基づいてカスタマイズされます。


注意:

ページのFormタグのusesUpload属性は、「カスタマイズ・マネージャ」の「アップロード」リンクの表示を制御します。usesUploadfalseに設定すると、「アップロード」リンクは動作しません。


カスタマイズ・メタデータの削除

「削除」リンクを使用すると、ユーザーは、選択したアーティファクトのカスタマイズ・ドキュメントを特定のレイヤーから削除できます。

カスタマイズ・メタデータのプロモート

ページをカスタマイズしている間、ユーザーは、任意の時点でアプリケーションのカスタマイズを保存し、新しいラベルを作成してそのカスタマイズを保存できます。「カスタマイズ・マネージャ」の「プロモート」リンクを使用すると、ユーザーは、ラベルを選択し、選択したページまたはタスク・フローのアプリケーションのカスタマイズをラベルのカスタマイズにリセットできます。


注意:

「プロモート」オプションが使用可能なのは、サンドボックス対応のアプリケーションのみです。

コンポーザの「保存してラベル付け」オプションの詳細は、第16.5.16項「アプリケーションのカスタマイズ保存時のラベルの作成」を参照してください。


「プロモート」リンクは、図16-55に示すように、プロモートされるすべての使用可能なラベルおよびファイルをリストする「ドキュメントのプロモート」ダイアログを起動します。

図16-55 「ラベルの選択」ダイアログ

図16-55の説明が続きます
「図16-55 「ラベルの選択」ダイアログ」の説明

ユーザーは、ラベルを選択し、そのラベルを選択したアーティファクトのサンドボックスにプロモートできます。つまり、選択したアーティファクトのアプリケーションのカスタマイズは、指定したラベルのカスタマイズにリセットされます。タスク・フローを選択した場合、すべてのページ・フラグメントおよびページ定義がプロモートされます。ページまたはフラグメントを選択した場合、ページまたはフラグメントおよびそのページ定義がプロモートされます。ユーザーは、使用可能な任意のレイヤーからラベルを選択し、そのラベルのカスタマイズをプロモートできます。たとえば、アプリケーションにレイヤーMCOOPER、JDOEおよびSITEがあり、MCOOPERレイヤーで作業しているユーザーがページの「プロモート」リンクをクリックすると、「プロモート」ダイアログに3つすべてのレイヤーで使用可能なすべてのラベルがリストされます。

16.6 コンポーザ・コンポーネント

実行時にJSPXドキュメント(*.jspx)を編集できるようにするには、アプリケーション設計時にOracle JDeveloperで、ページにコンポーザ・コンポーネントを追加する必要があります。


注意:

コンポーザは、JSPXページおよびADF Facesでのみ動作します。これらのコンポーネントはJSPページには追加できません。コンポーザ・コンポーネントのページへの追加の詳細は、第18.1項「コンポーザ・コンポーネントを使用した編集可能ページの設計」を参照してください。


JDeveloperのコンポーザ・タグ・ライブラリ(図16-56)は、コンポーネント・パレットから使用でき、ページを編集可能にするために追加できるコンポーネントを提供します。

図16-56 コンポーネント・パレットのコンポーザ・タグ・ライブラリ

図16-56の説明が続きます
「図16-56 コンポーネント・パレットのコンポーザ・タグ・ライブラリ」の説明

この項では、ページの編集を可能にするために使用されるコンポーザ・コンポーネントの概要を説明します。次のサブセクションが含まれます:

これらのコンポーネントおよびその他のコンポーザ・コンポーネント(Custom Actionなど)の詳細は、付録B「コンポーザ・コンポーネントのプロパティおよびファイル」を参照してください。

16.6.1 Page Customizable

Page Customizableコンポーネントは、ページの編集可能領域を定義します。この領域内では、コンポーネントのプロパティの編集、ページへのコンテンツの追加、コンテンツの配置などを行えます。

Page Customizableコンポーネントを追加すると、実行時にコンポーザをページに含めることが可能になります。ユーザーは、ページの上部で使用できるページ関連の制御、コンポーネントの「コンテンツの追加」ボタンおよび各編集可能ページ・コンポーネントの「編集」アイコンを使用して、コンポーザでページを編集できます(図16-57)。

図16-57 Page Customizableコンポーネント

図16-57の説明が続きます
「図16-57 Page Customizableコンポーネント」の説明

1操作で複数のアプリケーション・ページの実行時編集を可能にするには、Page Customizableコンポーネントをそれらのページに使用するADFページ・テンプレートに追加します。これにより、Page Customizableを各ページに手動で追加する必要がなくなります。Page Customizableコンポーネントの追加の詳細は、第18.1.2項「Page Customizableコンポーネントを使用した実行時カスタマイズの有効化方法」を参照してください。

16.6.2 Change Mode LinkおよびChange Mode Button

Change Mode LinkまたはChange Mode Buttonコンポーネントは、ページの表示モードから編集モードへの簡単な切替え方法を提供します。図16-58は、ページのChange Mode Linkコンポーネントを示しています。

図16-58 Change Mode Linkコンポーネント

図16-58の説明が続きます
「図16-58 Change Mode Linkコンポーネント」の説明

Change Mode LinkまたはChange Mode Buttonの使用法の詳細は、第18.1.3項「Change Mode LinkまたはChange Mode Buttonを使用したページ・モードの切替えを有効にする方法」を参照してください。

16.6.3 Panel Customizable

Panel Customizableは、ユーザーが実行時にコンポーネントを追加できるページの領域を定義します。ユーザーは、Panel Customizableの子コンポーネントとして追加されるShow Detail Frameコンポーネントまたはポートレットを移動または最小化できます。ユーザーは、ページの別のPanel Customizableコンポーネントにこれらのコンポーネントをドラッグ・アンド・ドロップすることも可能です。

編集モードでは、Panel Customizableコンポーネントは、点線のボックスとしてレンダリングされます。実際、Panel Customizableは、実行時リソース・カタログではBoxと呼ばれます。図16-59に示すように、ページの各Panel Customizableコンポーネントに「コンテンツの追加」ボタンが表示されます。このボタンを使用してリソース・カタログ・ビューアを開き、Panel Customizable内にコンポーネントを追加できます。

図16-59 Panel Customizableコンポーネント

図16-59の説明が続きます
「図16-59 Panel Customizableコンポーネント」の説明

詳細は、第18.1.4項「Panel Customizableコンポーネントを使用したページの編集可能領域の定義方法」を参照してください。

16.6.4 Show Detail Frame

Show Detail Frameコンポーネントは、アイコンを含むヘッダーとともに子コンポーネントの周りに境界またはクロムをレンダリングし、ユーザーがいくつかの操作を実行できるようにします。このメニューで使用可能なアクションでは、ユーザーがコンポーネントおよびそのコンテンツをページの新しい場所に移動できます(図16-60)。ユーザーは、Show Detail FrameコンポーネントをあるPanel Customizableコンポーネントからページにある別のPanel Customizableコンポーネントにドラッグ・アンド・ドロップすることも可能です。Show Detail Frameは、移動可能にするためにはPanel Customizableコンポーネント内に含まれている必要があります。

図16-60 Show Detail Frameコンポーネント

図16-60の説明が続きます
「図16-60 Show Detail Frameコンポーネント」の説明

Show Detail Frameコンポーネントは次のアクションを可能にします。

  • コンポーネントを縮小および展開します

  • ページの別の場所にコンテンツを移動します

  • タスク・フローを子コンポーネントとして追加した場合、「アクション」メニューを使用してカスタム・アクションとともにタスク・フロー・ナビゲーションを有効にします。

  • ADF Facesの「リッチ・テキスト・エディタ」を子コンポーネントとして追加した場合、エンド・ユーザーは、「リッチ・テキスト・エディタ」のテキストを編集および保存できるようになります。

Show Detail Frameのファセットを使用すると、独自のUIコントロールを追加してコンテンツの表示をさらにカスタマイズできます。これらのファセットの使用方法の詳細は、第20.1項「ファセットを使用したShow Detail Frameコンポーネントでのカスタム・アクションの有効化」を参照してください。

このコンポーネントのページへの追加の詳細は、第18.1.6項「Show Detail Frameコンポーネントを使用したコンポーネントのカスタマイズの有効化方法」を参照してください。

16.6.5 Layout Customizable

Layout Customizableコンポーネントは、エンド・ユーザーがその子コンポーネントをいくつかの事前定義された方法(2列、3列など)でレイアウトできるコンテナです。ページのすべてのコンポーネントがLayout Customizableコンポーネントに囲まれるような方法でページを設計できます。このような場合、レイアウトはページ全体に適用されます。

レイアウト変更を使用して事前定義されたレイアウトにアクセスします。デフォルトでは、レイアウト変更は、ページの表示モードとページの編集モードの両方で表示されます。Layout Customizableコンポーネント属性を使用することによって、レイアウト変更をアイコン、テキストまたはアイコンおよびテキストとして表示することを選択できます。また、表示モードでレイアウト変更を表示するか非表示にするかを決定できます。図16-61は、ユーザーがレイアウト変更をクリックしたときに表示するLayout Customizableコンポーネントおよび事前定義されたレイアウトを示しています。

図16-61 Layout Customizableコンポーネント

図16-61の説明が続きます
「図16-61 Layout Customizableコンポーネント」の説明

詳細は、第18.1.5項「Layout Customizableコンポーネントを使用したページのレイアウトのカスタマイズの有効化方法」を参照してください。

16.7 セキュリティおよびコンポーザ

エンド・ユーザー、アプリケーション開発者および管理者によってアクセスされるアプリケーションでは、すべての編集タスクの実行をすべてのユーザーに許可することは推奨されない場合があります。たとえば、コンポーネントの再配置や表示したくない領域の非表示などのタスクを実行することによってページの表示をカスタマイズすることのみをエンド・ユーザーに許可する必要がある場合があります。一方、アプリケーション開発者は、ページのコンテンツ、コンポーネント・プロパティなどを更新することを許可される必要があります。ページ、コンポーネントまたはコンポーネント属性をカスタマイズする機能は、タグ、ページ、コンポーネントおよび属性のレベルでセキュリティ定義から継承されます。ただし、ビジネス要件に合せてデフォルトのセキュリティ定義を様々なレベルでオーバーライドできます。

ページ、操作、コンポーネント、コンポーネント属性などの様々なレベルでアプリケーション・セキュリティを定義できます。コンポーネントでアプリケーション・カスタマイズを制限できるいくつかの方法があります。コンポーザは、コンポーネントがこれらのルールに従ってカスタマイズできるかどうかを判断します。たとえば、ユーザーがコンポーネントをカスタマイズするには、その前に、アプリケーション・カスタマイズが許可されるかどうかを判断するために、コンポーネントのセキュリティ制限のソースを問い合せます。コンポーネントがアプリケーション・カスタマイズを許可しない場合、コンポーザはこれが制限されているとみなします。つまり、コンポーザはコンポーネントを明示的にセキュリティ保護されているものとして処理します。表16-1に、アプリケーション・カスタマイズ制限を反映するコンポーザの動作を示します。

表16-1 コンポーザ・コンポーネントのカスタマイズ制限

制限 動作

ページ(およびそのコンテンツ)をカスタマイズ可能

コンポーザにより、制限なしでコンポーネントの編集が許可されます。

ページが制限されている

コンポーザは表示されますが、どのオプション(「ページ・プロパティ」「編集」アイコンなど)にもアクセスできません。

いくつかの操作が制限されている

コンポーザは表示されますが、制限された操作に対応するオプションは無効になります。

コンポーネントが制限されている

「編集」アイコンはコンポーネントにレンダリングされず、そのプロパティは編集できません。

コンポーネントの属性が制限されている

制限された属性はコンポーザに表示されません。

開発者は、コンポーザのAPIを使用して、コンポーネントの属性が制限されているかどうかを確認できます。


セキュリティを実装中に付与される権限に応じて、ユーザーは、アプリケーションにログインするときに、異なるユーザーおよびアプリケーションのカスタマイズのタスクを実行できます。


注意:

保護されたアプリケーションでは、すべてのユーザーの権限を確認し、権限のあるユーザーに対してのみページ上で「編集」リンクまたはボタンを有効にすることをお薦めします。認証されていないユーザーが偶然ページの編集モードに入った場合でも、コンポーネント・プロパティの変更が可能です。

選択したユーザーの「編集」リンクまたはボタンを有効にするには、Change Mode LinkまたはChange Mode Buttonコンポーネントのrendered属性のEL値を指定します。詳細は、第B.1.2項「Change Mode LinkおよびChange Mode Button」を参照してください。


この項では、コンポーザ・コンポーネントのデフォルトのセキュリティ動作について説明します。次のサブセクションが含まれます:

デフォルトのセキュリティ動作のオーバーライドの詳細は、第22章「コンポーザ・コンポーネントのデフォルトのセキュリティ動作の変更」を参照してください。

16.7.1 ページおよびタスク・フローのセキュリティ

アプリケーションのjazn-data.xmlファイルは、ページ・レベルおよびタスク・フロー・レベルのセキュリティ情報のリポジトリです。コンポーザは、このファイルを参照し、ユーザーの権限に基づいて編集機能を有効にします。

  • ページまたはタスク・フローのパーソナライズ権限を持っているユーザーは、第16.4項「ページ表示モードでのページのカスタマイズ」で説明しているユーザーのカスタマイズのみを実行できます。

  • 編集権限またはカスタマイズ権限を持っているユーザーは、コンテンツの追加、コンポーネント・プロパティの編集、コンポーネントの削除などのすべての実行時編集タスクを実行できます。コンポーザおよびOracle WebCenter Portalのカスタマイズ可能コンポーネントは、編集権限とカスタマイズ権限を区別しません。


注意:

コンポーザおよびOracle WebCenter Portalのカスタマイズ可能コンポーネントは、付与権限をすべての権限のスーパー・セットとする権限のカスケードをサポートしています。ページまたはタスク・フローの付与権限を持つユーザーは、編集、パーソナライズおよび表示の権限を持っているとみなされます。パーソナライズ権限を持つユーザーは、表示権限も持っているとみなされます。


表16-2は、ページおよびタスク・フロー・レベルの権限に基づいたコンポーザ動作を示しています。コンポーザおよびOracle WebCenter Portalのカスタマイズ可能コンポーネントと関係のある権限のみがこの表にリストされています。付与権限は、すべての権限のスーパー・セットであるためリストされていません。付与権限を持つユーザーは、すべての編集タスクを実行できます。

表16-2 ページ権限またはタスク・フロー権限とコンポーザの動作のマッピング

権限 コンポーザの動作

編集またはカスタマイズ

ユーザーは、コンポーザが起動されたページの編集モードに切り替えてページを編集できます。

編集権限またはカスタマイズ権限のいずれかを持つユーザーは、すべての実行時編集タスクを実行できます。

ページまたはタスク・フローの編集権限またはカスタマイズ権限を持っている場合、ユーザーは次のことを実行できます。

  • コンテンツの追加

  • コンポーネント・プロパティの編集

  • コンテンツの再配置

  • コンポーザでのコンポーネントの削除

  • ポートレットのパーソナライズまたはカスタマイズ

  • 表示モードでのポートレットまたはタスク・フローの移動。これはユーザー・カスタマイズとして存続されます。

  • 表示モードでのタスク・フローまたはポートレットの展開および縮小。これはユーザー・カスタマイズとして存続されます。

  • タスク・フローでの表の列のサイズ変更。これはユーザー・カスタマイズとして存続されます。

  • ページの元の状態へのリセット

  • 表示モードでのコンポーネントの削除

注意: ページ・レベルの権限を持っているかまたはタスク・フロー・レベルの権限の持っているかに応じて、これらのタスクのすべてまたは一部を実行できます。

ユーザーがページの編集権限またはカスタマイズ権限を持っていないのにこれを編集しようとすると、これを行う権限がないことを示すメッセージが表示されます。

ユーザーがタスク・フローの編集権限またはカスタマイズ権限を持っていない場合、「構造」ビューにタスク・フローの「編集」オプションが表示されません。

パーソナライズ

表示モードで、ページのパーソナライズ権限を持っているユーザーは次のことを実行できます。

  • コンテンツの再配置

  • ポートレットのパーソナライズ

  • 表示モードでのポートレットまたはタスク・フローの移動。これはユーザー・カスタマイズとして存続されます。

  • 表示モードでのタスク・フローまたはポートレットの展開および縮小。これはユーザー・カスタマイズとして存続されます。

  • タスク・フローでの表の列のサイズ変更。これはユーザー・カスタマイズとして存続されます。

  • 表示モードでのコンポーネントの削除

注意: パーソナライズ権限を持っていても、ユーザーはポートレットのカスタマイズは実行できません。

パーソナライズ権限、編集権限、カスタマイズ権限のいずれも持っていないユーザーがページを編集しようとすると、これを行う権限がないことを示すメッセージが表示されます。

表示

表示権限を持っているユーザーは、ページまたはタスク・フローの表示のみを行え、ユーザーまたはアプリケーションのカスタマイズは実行できません。


16.7.1.1 タスク・フローのセキュリティ

タスク・フローをカスタマイズ可能ページに追加すると、コンポーザは、タスク・フローおよびタスク・フローのページのコンポーネントを編集するオプションを提供します。保護されたアプリケーションでは、コンポーザは、カスタマイズ可能なページおよびタスク・フローに提供された権限に基づいて、編集機能を提供します。タスク・フロー権限およびコンポーザの動作の詳細は、表16-2を参照してください。

アプリケーション・ページで、コンポーネントは、JSPXページに直接またはタスク・フローなどの共有コンポーネント内のページ・フラグメントに配置できます。タスク・フロー内のコンポーネントに対する制限は、ページ・フラグメントから導出されます。タスク・フローのセキュリティについて理解を深めるには、図16-62に示すような、タスク・フローを含むページで、このタスク・フローが別のタスク・フローを含む例を検討します。

図16-62 ネストされたタスク・フローを含むページの構造

図16-62の説明が続きます
「図16-62 ネストされたタスク・フローを含むページの構造」の説明

このページのコンポーネントは次のようにセキュリティを継承します。

  • Component1Component2およびRegion3Document.jspxからセキュリティ定義を継承します。

  • ComponentAComponentBおよびRegionCregion3.jsffからセキュリティ定義を継承します。

  • ComponentXおよびComponentYregionC.jsffからセキュリティ定義を継承します。

タスク・フローは権限のカスケードをサポートしません。つまり、ページ権限は、タスク・フロー内のコンポーネントによって継承されません。ただし、ページの編集権限またはカスタマイズ権限を持っていないユーザーは、ページのタスク・フローをカスタマイズできません。

たとえば、Document.jspxおよびregionC.jsffの編集権限またはカスタマイズ権限を付与するがregion3.jsffの編集権限またはカスタマイズ権限を付与しない場合、ユーザーは、Component1Component2RegionCComponentXおよびComponentYはカスタマイズできますが、ComponentAComponentBおよびRegionCはカスタマイズできません。

保護されたアプリケーションでは、タスク・フローの権限は、アプリケーションのjazn-data.xmlファイルに格納されます。タスク・フローで使用可能なアクションのリストはタスク・フローの権限クラスoracle.adf.controller.security.TaskFlowPermissionによって定義されます。この権限クラスは、タスク・フローの操作にマップされる、タスク・フロー固有のアクションを定義します。デフォルトでは、表示権限のみがタスク・フローに与えられます。ユーザーが実行時にタスク・フローを編集できるようにするには、カスタマイズ権限がタスク・フローに付与されていることを確認する必要があります。詳細は、第18.3.1.1項「タスク・フローの追加に関する考慮事項」および第22.6項「タスク・フローのセキュリティの実装」を参照してください。

タスク・フローとそのセキュリティ動作の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。

16.7.2 MDSのカスタマイズ制限

Portal Frameworkアプリケーションには、すべてのアプリケーション・オブジェクトのアプリケーションのカスタマイズを制限するデフォルトのMDS構成があります。実行時のページ編集を有効にするには、Page Customizableコンポーネントをページに追加して、このデフォルトの制限を非アクティブにする必要があります。Page Customizableコンポーネントは、その下にあるすべてのコンポーネントのアプリケーションのカスタマイズを有効にします。ただし、ネストされたページまたはフラグメントのコンポーネントのカスタマイズは有効になりません。たとえば、Page Customizableがページ・テンプレートで使用されていて、その内部にFacet Refがある場合、Facet Ref内部のコンポーネントのカスタマイズはデフォルトで有効になりません。

MDSのタイプ・レベルの制限またはインスタンス・レベルの制限を使用して、コンポーネントの一連の属性に対するアプリケーションのカスタマイズを有効化できます。タイプ・レベルの制限は、インスタンス全体の指定されたコンポーネント・タイプに適用できます。実行時、カスタマイズを有効化した属性は、コンポーザで編集可能プロパティとして表示され、制限された属性は、選択したコンポーネントの「コンポーネント・プロパティ」ダイアログに表示されません。詳細は、第22.1項「カスタマイズ・ポリシーの定義によるコンポーネント・レベルの制限の適用」を参照してください。

16.7.3 コンポーネントのアクション・レベルのセキュリティ

Panel CustomizableコンポーネントおよびShow Detail Frameコンポーネントは、サポートされている個々のアクションに制限を行うことができます。たとえば、現在のユーザーがShow Detail Frameを最小化できるかどうかの制限を指定できます。

コンポーネントのアクションの制限を行うかどうかを決定できます。コンポーネントのアクションの制限はadf-config.xmlで指定できます。制限を指定して、現在のユーザーに適用可能な場合、Panel CustomizableまたはShow Detail Frameはアクションをレンダリングしません。

アクション・レベルの制限の適用の詳細は、第22.5項「Panel CustomizableおよびShow Detailコンポーネント・アクションでのアクション・レベルの制限の適用」を参照してください。