Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド 11g リリース1 (11.1.1.7.0) B72084-02 |
|
前 |
次 |
Oracle WebCenter Portalのコンポーザは、実行時にアプリケーション設計を行う動作を制御するコンポーネントを提供します。この章では、アプリケーション・ページにコンポーザ・コンポーネントを追加し、これによってページの実行時編集を有効化する方法を説明します。
コンポーザの詳細は、第17章「コンポーザの概要」を参照してください。
この章には次の項が含まれます:
コンポーザ・タグ・ライブラリには、Oracle JDeveloperでページに追加できる設計時コンポーネントが用意されており、実行時のページ編集が可能になります。設計時にコンポーザ・コンポーネントを使用してページを作成すると、実行時にコンポーザはページ編集モードに入り、要件に応じてページを変更するオプションを提供します。
Frameworkアプリケーションと非Frameworkアプリケーションでカスタマイズを有効にできます。アプリケーション内で、次のタイプのページのカスタマイズを有効にできます。
ページ・テンプレートに基づいていない通常のJSPXページ
JSPXテンプレート・ページ
ページ・テンプレートに基づくJSPXページ
コンポーザ・コンポーネントおよびその属性の詳細は、第17.6項「コンポーザ・コンポーネント」を参照してください。
この項では、設計時にコンポーザ・コンポーネントをページに追加し、これを実行時に編集可能にする方法を説明します。次のサブセクションが含まれます:
Frameworkアプリケーションでカスタマイズ可能なJSPXページを作成する手順は、第5.3項「ポータルへのページの追加」を参照してください。
JDeveloperで新しいページを作成する場合は、図19-1に示すように、「Webコンテンツ」の下にあるに「アプリケーション・ナビゲータ」にリストされます。また、ページはエディタで開かれ、アクティブなエディタ・パネルになります。
図19-1 アプリケーション・ナビゲータに表示された新しいカスタマイズ可能ページ(MyPage.jspx)
セキュリティに関する考慮事項
デフォルトでは、FrameworkアプリケーションはADFセキュリティで構成されます。デフォルトのユーザー名およびパスワード(weblogic/weblogic1)は自動的に作成されます。
保護されたアプリケーションでユーザーがページを編集できるようにするには、ページの編集権限またはカスタマイズ権限を必要なユーザーまたはロールに付与する必要があります。権限の付与の詳細は、第68.4項「ロール・マネージャ・タスク・フローの使用」を参照してください。
アプリケーションでADFセキュリティが有効になっていない場合、セキュリティを実装し、アプリケーションを構成してユーザーが個別のアイデンティティを持つようにユーザーを認証することによって、ユーザーの権限が実行時のカスタマイズ機能にどのように影響するかをテストできます。アプリケーションで基本的なセキュリティ・モデルを実装する手順は、第68.3項「ADFセキュリティ設定の構成」を参照してください。
Page Customizable
コンポーネントをページに追加すると、ユーザーがページの編集モードに切り替えたときにコンポーザが起動します。Page Customizable
コンポーネントを追加すると、一部の構成ファイルがデフォルトのコンポーザ固有の設定によって自動的に更新されます。詳細は、第19.1.9項「コンポーザ・コンポーネントの追加時に行われる処理」を参照してください。
ページにPage Customizableコンポーネントを追加するには:
カスタマイズ可能なJSPXページを開きます。
コンポーネント・パレットで、「ADF Faces」を選択し、Panel Stretch Layoutコンポーネントをページにドラッグします。
注意:
|
コンポーネント・パレットで、「コンポーザ」を選択します。
Page CustomizableコンポーネントをPanel Stretch Layout
のcenter
ファセットに追加します。
Page Customizable
がaf:form
要素内でネストされていることを確認する必要があります。Page Customizable
はリッチ・クライアント・コンポーネントで、正常に機能するためにはリッチ・クライアント・フレームワークが必要です。
Page Customizable
コンポーネントの必須属性には、ページにコンポーネントを追加する際にデフォルト値が移入されます。
第B.1項「コンポーザ・コンポーネントのプロパティ」の表B-1を参照することによって属性値を定義または変更できます。
ページを保存します。
デフォルトで、Panel Customizable
コンポーネントが子コンポーネントとして追加され、図19-2に示すように、Page Editor Panel
がPage Customizable
コンポーネントのファセットとして追加されます。
例19-1は、ページの「ソース」ビューでのpe:pageCustomizable
タグを示しています。
ユーザーがページの編集モードに簡単に切り替えられるようにするには、ページにChange Mode Link
またはChange Mode Button
コンポーネントを追加する必要があります。
注意:
|
Change Mode LinkまたはChange Mode Buttonコンポーネントを追加するには:
コンポーネント・パレットで、「コンポーザ」を選択します。
「構造」ウィンドウの、前の項で追加したPanel Stretch Layout
のtop
ファセット内で、Change Mode LinkまたはChange Mode Buttonコンポーネントをドラッグします。
Change Mode Link
またはChange Mode Button
がaf:form
要素内でネストされていることを確認する必要があります。Change Mode Link
またはChange Mode Button
コンポーネントはリッチ・クライアント・コンポーネントで、正常に機能するためにはリッチ・クライアント・フレームワークが必要です。
注意:
|
Change Mode Link
またはChange Mode Button
コンポーネントの必須属性は、ページにコンポーネントを追加する際にデフォルトで設定されます。
第B.1項「コンポーザ・コンポーネントのプロパティ」の表B-2を参照して、オプションで、その他の属性を設定できます。
注意: 保護されたアプリケーションでは、すべてのユーザーの権限を確認し、権限のあるユーザーに対してのみページ上で「編集」リンクまたはボタンを有効にすることをお薦めします。認証されていないユーザーが偶然ページ編集モードに入った場合、コンポーネント・プロパティを変更することはできますが、その変更は保存されません。 選択したユーザーの「編集」リンクまたはボタンを有効にするには、 |
図19-3に示すように、「構造」ウィンドウのaf:form
タグ内に、pe:changeModeLink
またはpe:changeModeButton
タグが表示されます。
図19-4に、JDeveloperのページの「設計」ビューのChange Mode Link
を示します。
Panel Customizable
コンポーネントは、ポートレットまたはリージョンの追加、配置、削除などのページ構成またはコンテンツ管理のタスクに必要です。デフォルトでは、1つのPanel Customizable
コンポーネントがPage Customizable
コンポーネントの直接の子として自動的に追加されます。要件に応じて、このPanel Customizable
コンポーネント内にさらにPanel Customizable
コンポーネントを追加できます。
実行時にコンポーネントをドラッグ・アンド・ドロップできるのはPanel Customizable
コンポーネント内のみです。
ページにPanel Customizable
コンポーネントを追加するには:
コンポーネント・パレットで、「コンポーザ」を選択します。
「構造」ウィンドウにPanel Customizableコンポーネントをドラッグして、フォーム内の適切な場所にドロップします。
Panel Customizable
がaf:form
要素内でネストされていることを確認する必要があります。Panel Customizable
コンポーネントはリッチ・クライアント・コンポーネントで、正常に機能するためにはリッチ・クライアント・フレームワークが必要です。
注意:
|
Panel Customizable
コンポーネントの必須属性は、ページにコンポーネントを追加する際にデフォルトで設定されます。
第B.1項「コンポーザ・コンポーネントのプロパティ」の表B-6を参照して、オプションで、その他の属性を設定できます。
注意:
|
Layout Customizable
コンポーネントを使用して、ページまたはページの領域にあるコンポーネントのレイアウトの実行時定義または変更を有効にします。実行時にユーザーがレイアウトをカスタマイズすることを許可する場合のみ、このコンポーネントを使用します。静的レイアウトでは、Panel Group Layout
またはPanel Stretch Layout
などの代替のコンポーネントを使用します。
Layout Customizable
コンポーネントを追加するには:
コンポーネント・パレットで、「コンポーザ」を選択します。
Layout Customizableコンポーネントを「構造」ウィンドウにドラッグして、Panel Customizable
コンポーネント内にドロップします。
ターゲットのPanel Customizable
コンポーネントは、Page Customizable
コンポーネントの子である必要があります。
Layout Customizable
がaf:form
要素内でネストされていることを確認します。Layout Customizable
はリッチ・クライアント・コンポーネントで、正常に機能するためにはリッチ・クライアント・フレームワークが必要です。
注意:
|
Layout Customizable
コンポーネントの必須属性は、ページにコンポーネントを追加する際にデフォルトで設定されます。
第B.1項「コンポーザ・コンポーネントのプロパティ」の表B-3を参照して、オプションで、その他の属性を設定できます。
注意:
|
図19-5に示すように、pe:layoutCustomizable
タグは、「構造」ウィンドウのcust:panelCustomizable
タグ内にあります。子のPanel Customizable
コンポーネントは、デフォルトでLayout Customizable
コンポーネント内に追加されます。また、Panel Customizable
コンポーネントは、Layout Customizable
コンポーネントの各ファセット内に追加されます。これらのPanel Customizable
コンポーネントにより、実行時にLayout Customizable
コンポーネント内にコンテンツを追加できるようになります。
直接の子として追加されたPanel Customizable
は、メイン領域(実行時のレイアウトの中央領域)になります。デフォルトの2つのLayout Customizable
ファセット内に追加されたPanel Customizable
コンポーネントは、A
およびB
という2つのコンテンツ領域になります。実行時に事前定義済のレイアウトを選択すると、選択したパターンでコンテンツが表示されるように、これら3つの領域が配置されます。各レイアウト・タイプでコンテンツがどのようにレイアウトされるかに関する詳細は、「事前定義されたレイアウト・タイプ」を参照してください。
注意:
|
プロパティの編集、コンポーネントの移動、最小化、削除などのカスタマイズを有効にする場合、Show Detail Frame
コンポーネントをページのPanel Customizable
コンポーネント内にドロップできます。その後、このShow Detail Frame
内にコンポーネントを追加できます。
注意: 各 複数のコンポーネントが |
Show Detail Frame
コンポーネントを使用して、ページ表示モードおよび編集モードでのカスタマイズを有効にします。表示モードで行われた変更はそのユーザーのみが使用でき、編集モードで行われた変更はすべてのアプリケーション・ユーザーが使用できます。
ページにShow Detail Frameコンポーネントを追加するには:
コンポーネント・パレットで、「コンポーザ」を選択します。
「構造」ウィンドウにShow Detail Frameコンポーネントをドラッグして、Panel Customizable
コンポーネント内にドロップします。
Show Detail Frame
は、ページのPanel Customizable
コンポーネントにネストさせる必要があります。
Show Detail Frame
コンポーネントの必須属性は、ページにコンポーネントを追加する際にデフォルトで設定されます。
第B.1項「コンポーザ・コンポーネントのプロパティ」の表B-7を参照して、オプションで、その他の属性を設定できます。
図19-6に示すように、cust:showDetailFrame
タグがcust:panelCustomizable
タグ内に追加されます。
このタイプのタスクをさらに理解するには、第19.2項「コンポーザ・コンポーネントを使用した編集可能ページの設計: 例」を参照してください。
アプリケーションでカスタマイズ可能ページを多数作成することを計画している場合、カスタマイズを可能にしたADFページ・テンプレートのページに基づいて作成できます。コンポーザ・コンポーネントをテンプレート自体に追加することによって、これらのコンポーネントをカスタマイズ可能ページそれぞれに追加する必要をなくすことができます。
ページ・テンプレートを作成し、そのカスタマイズを有効にするには:
JDeveloperのアプリケーション・ナビゲータで、テンプレートを作成するアプリケーションのポータル・プロジェクトに移動し、そのポータル・プロジェクトを右クリックし、「新規」を選択します。
「新規ギャラリ」で、「Web層」を開き、「JSF」、「JSFページ・テンプレート」の順に選択し、「OK」をクリックします。
「JSFページ・テンプレートの作成」ダイアログで、テンプレートのファイル名を入力し、レイアウトを選択し、新規ファセットを宣言します。
「OK」をクリックします。
テンプレートで、Change Mode LinkまたはChange Mode ButtonコンポーネントをPanel Stretch Layout
コンポーネントの上に追加します。
Page CustomizableコンポーネントをPanel Stretch Layout
コンポーネントのcenter
ファセット内に追加します。
子のPanel Customizable
コンポーネントをPage Customizable
から削除し、Panel Group Layout
コンポーネントをその場所に追加します。
Panel Group Layout
のlayout
属性をscroll
に設定します。
Facet Ref
コンポーネントをPanel Group Layout
内に追加し、手順3でファセットを宣言する際に使用した同じ名前を指定します。テンプレートは、図19-7に示すようにファセットを表示します。
テンプレート・ファイルを保存します。
このテンプレートに基づいてカスタマイズ可能ページを作成できるようになりました。ページを作成したら、Panel Customizable
またはLayout Customizable
コンポーネントを新しいページに表示されるファセット内に追加できます。ページ・コンテンツをPanel Customizable
またはLayout Customizable
コンポーネントに追加できます。
コンテンツが移入されたJSPXページを持つ既存のADFアプリケーションがあり、カスタマイズを有効にする場合、Page Customizable
コンポーネント内のすべてのコンテンツを移動してこれを実行できます。
まずPage Customizable
、次にLayout Customizable
、さらにPanel Customizable
コンポーネントおよびShow Detail Frame
コンポーネントの必須の階層を追加する必要があります。既存のコンポーネントそれぞれをドラッグし、Page Customizable
内の適切な場所にドロップします。
注意:
|
ページにPage Customizable
コンポーネントを追加する際には、次の構成が自動的に実行されます。
デフォルトのリソース・カタログの定義ファイルdefault-catalog.xml
がアプリケーションで構成されます。default-catalog.xml
ファイルは、Application_Root
/Portal/src/portal
ディレクトリにあります。アプリケーションのエンド・ユーザーが使用できるデフォルトのリソース・カタログにコンポーネントを追加するには、第15章「リソース・カタログの作成および管理」を参照してください。
Frameworkアプリケーションで、default-catalog.xml
ファイルはApplication_Root
/Portal/public_html/oracle/webcenter/p
ortalapp/catalogs
ディレクトリにあり、ページを作成しPage Customizable
コンポーネントを追加しなくてもすぐに使用できます。
アプリケーションにリソース・カタログ・ビューアが構成されます。実行時、コンポーザは、このビューアからページにリソースを追加するオプションをユーザーに提供します。
Application_Root
/
Project_Name
/public_html/WEB-INF
ディレクトリで使用可能なweb.xml
ファイルは、更新されてMDS JSPプロバイダを構成します。
ComposerChangeManager
は、アプリケーションのweb.xml
ファイル内に構成されます。詳細は、第21.11項「永続性変更マネージャの構成」を参照してください。
アプリケーションを作成すると、最小限のadf-config.xml
ファイルも作成されます。Page Customizable
をアプリケーション・ページに追加すると、必要な構成がadf-config.xml
ファイルに追加されます。たとえば、変更の永続性は、このファイルのadf-faces-config
セクションで構成されます。詳細は、第21.11項「永続性変更マネージャの構成」を参照してください。
Application_Root
/Portal/adfmsrc/portal
ディレクトリのDataBindings.cpx
ファイルは更新され、ページにタスク・フローが存在できるようになります。
ページ定義ファイルは、WebCenter Portal拡張JARファイルの一部として入手可能なコンポーザ・タスク・フローに対するバインディングで更新されます。例19-2は、Page Customizable
コンポーネントがアプリケーション・ページに追加された後のページ定義ファイルのコードを示しています。
図19-2 Page Customizableコンポーネントを追加した後のページ定義ファイル
<?xml version="1.0" encoding="UTF-8" ?> <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel" version="11.1.1.57.95" id="rcpagePageDef" Package="portal.pageDefs"> <parameters/> <executables> <variableIterator id="variables"/> <taskFlow id="pageeditorpanel" taskFlowId="#{pageEditorBean.pageEditorPanel}" xmlns="http://xmlns.oracle.com/adf/controller/binding"/> </executables> <bindings/> </pageDefinition>
実行時、ユーザーは、第17.3項「ページ表示モードでのカスタマイズ機能」および第17.4項「ページ編集モードの「デザイン」ビューでの編集機能」で説明されているすべてのタスクを実行できます。
各コンポーザ・コンポーネントには、第17.6項「コンポーザ・コンポーネント」で説明されている実行時機能が用意されています。
注意: ページで実行する実行時カスタマイズは、アプリケーションをターゲット・サーバーにデプロイするときに引き継がれません。 |
カスタマイズ可能ページにコンポーザ・コンポーネントを追加する際には、次の事項に注意する必要があります。
保護されたアプリケーションでユーザーがページを編集できるようにするには、ページの編集権限またはカスタマイズ権限を必要なユーザーまたはロールに明示的に付与する必要があります。権限の付与の詳細は、第68.4項「ロール・マネージャ・タスク・フローの使用」を参照してください。
コンポーネントの実行時カスタマイズを有効にするには、ページにPage Customizable
を1つだけ追加します。
注意: ページに2つ目の |
Page Customizable
コンポーネントの直接の子コンポーネントは1つのみであることを確認します。
複数の直接の子コンポーネントを追加すると、最初の子コンポーネントのみが実行時にレンダリングされます。最初の子コンポーネントがページに合せてストレッチされます。その他の直接の子コンポーネントはすべて無視されます。
カスタマイズ可能にするすべてのコンポーネントをPage Customizable
コンポーネント内に配置します。
実行時の編集を有効にするには、ID
属性がページのすべてのコンポーネントで定義されていることを確認する必要があります。ID
値がないコンポーネントの実行時編集は、コンポーザではサポートされていません。
ID
値のないコンポーネントがページに含まれている場合、コンポーザでページを編集中に問題が発生する場合があります。
表示モードのユーザー・カスタマイズを有効にするには、Show Detail Frame
コンポーネントをPanel Customizable
コンポーネント内に配置します。
単一の子のみを含める場合にはShow Detail Frame
を使用します。Show Detail Frame
で複数のコンポーネントを囲む必要がある場合、Panel Group Layout
やPanel Customizable
などのグループ化コンポーネントをShow Detail Frame
コンポーネント内に配置し、ADF Facesコンポーネントまたはその他のコンテンツをこのグループ化コンポーネント内に配置します。
ポートレットをShow Detail Frame
コンポーネント内に配置する必要はありません。ポートレットは、Show Detail Frame
コンポーネントと類似のヘッダーおよび表示オプションに備えられます。
この例では、実行時にカスタマイズ可能なページを作成するとします。ページ名はMyPage.jspx
で、MyWebCenterApp
というFrameworkアプリケーションにあります。
カスタマイズ可能ページを作成するには:
第5.1項「アプリケーション・テンプレートとは」の手順を実行して、MyWebCenterApp
というFrameworkアプリケーションを作成します。
第5.3項「ポータルへのページの追加」の手順を実行して、MyPage.jspx
というJSPXページを作成します。
Panel Stretch Layout
をMyPage.jspx
に追加します。
注意:
|
第19.1.2項「Page Customizableを使用した実行時カスタマイズの有効化方法」の手順に従って、Page Customizable
をcenterファセットに追加します。
Page Customizable
の境界色をblue
に設定し、編集可能領域を他の編集できない領域から区別します。
Page Customizable
のプロパティ・インスペクタのスタイル・カテゴリの下で、「ボックス」タブをクリックし、Border Color
属性をBlue
に設定します。
子Panel Customizable
の境界色をred
に設定します。
Panel Customizable
のプロパティ・インスペクタのスタイル・カテゴリの下で、「ボックス」タブをクリックし、Border Color
属性をRed
に設定します。
第19.1.3項「Change Mode LinkまたはChange Mode Buttonを使用したページ・モードの切替えを有効にする方法」の手順を実行して、Change Mode Link
をPanel Stretch Layout
の上部ファセットに追加します。
Page Customizable
の直接の子であるPanel Customizable
内部で、第19.1.5項「Layout Customizableを使用したページのレイアウトのカスタマイズの有効化方法」の手順を実行して、Layout Customizable
コンポーネントを追加します。
第19.1.6項「Show Detail Frameコンポーネントを使用したコンポーネントのカスタマイズの有効化方法」の手順を実行して、Show Detail Frame
コンポーネントをページの各Panel Customizable
内に追加します
この例のため、Rich Text Editor
およびImage
コンポーネントをLayout Customizable
でネストされた2つのShow Detail Frame
コンポーネント内に追加します。
これらのコンポーネントそれぞれをADF Facesタグ・ライブラリからページの必要な場所にドラッグ・アンド・ドロップします。
ページのコンポーネントの階層を図19-8に示します。
ページの編集権限またはカスタマイズ権限を必要なユーザーまたはロールに付与します。権限の付与の詳細は、第68.4項「ロール・マネージャ・タスク・フローの使用」を参照してください。
MyPage.jspx
を実行します。
ページが表示モードで開きます。ページの「編集」リンクをクリックして編集モードに入ります。ページがコンポーザで開きます。コンポーザでは、第17.4項「ページ編集モードの「デザイン」ビューでの編集機能」で説明されているすべての編集タスクを実行できます。
図19-9に実行時の編集モードでのページの外観を示します。
アプリケーションがADFセキュリティで構成されていない場合、このガイドのその他の例でサンプル・ページを使用するには、アプリケーションでADFセキュリティを構成します。
アプリケーションでセキュリティを構成するには:
フォーム・ベースの認証でADFセキュリティを構成し、デフォルトのログイン・ページを生成します。
詳細は、第68.3項「ADFセキュリティの構成」を参照してください。
3人のユーザーahunold
、sking
およびjdoe
を作成します。
詳細手順は、第68.2項「アプリケーション・ロールの作成」を参照してください。
MyPage.jspx
を実行すると、ログイン画面が表示されます。作成した3つのユーザー名のいずれかを使用してログインできます。
必要なコンポーザ・コンポーネントを備えた編集可能ページを作成した後、通常のJSPXページと同様にページにコンテンツを移入できます。ただし、コンポーザ対応のページにコンテンツを追加するときに理解しておく必要がある、制限および推奨事項があります。
設計時の編集可能ページの移入は、その他のADF Facesページの移入と似ています。コンポーネントをIDEの様々な領域からページにドラッグ・アンド・ドロップできます。ポートレット、タスク・フロー、ADF Facesコンポーネントなどのコンポーネントを追加できます。
Page Customizable
コンポーネント内の任意の場所にコンポーネントをドラッグ・アンド・ドロップすると、Id
属性が一意の値に設定されます。Id
属性は、コンポーネントの編集および変更された状態の維持に必要です。実行時にコンポーネントをページに追加すると、Id
属性が自動的に設定されます。
コンテンツを編集可能ページに追加するときには、次の点を考慮してください。
Page Customizable
コンポーネントでネストされているPanel Customizable
コンポーネント内にコンポーネントを追加します。こうすることによって、コンポーネントを実行時に編集できます。
Show Detail Frame
コンポーネントには、子コンポーネントとしてOracle ADF Facesコンポーネントまたはタスク・フローを含めることができます。ただし、ポートレットには、Show Detail Frame
コンポーネントに用意されているものと似ているヘッダーが含まれ、直接Panel Customizable
コンポーネントに追加できます。Show Detail Frame
コンポーネントにポートレットを含めることの利点はこれ以上ありません。
コンポーザの「ソース」ビューで選択可能にするコンポーネントの場合、そのコンポーネントがリッチ・クライアント・フレームワークに準拠し、クライアント側コンポーネントを生成することを確認します。
ページでADF FacesコンポーネントのOutput Text
とOutput Formatted
がPage Customizable
コンポーネント内でネストされている場合、clientComponent
属性値を設定していることを確認してください。この属性値が設定されていない場合、実行時にページでコンポーネントを移動または再配置しようとするとエラーが発生する場合があります。
編集可能ページでポートレットを消費するには、まずアプリケーションにポートレット・プロデューサを登録する必要があります。詳細は、第62章「ポートレットの消費」を参照してください。
ユーザーは、カスタマイズ可能ページに追加されたタスク・フローをパーソナライズ、カスタマイズおよび編集できます。保護されたアプリケーションでは、タスク・フローのカスタマイズ権限を持つユーザーは、タスク・フローのページのコンポーネントも編集できます。
タスク・フローをカスタマイズ可能ページに追加するときには、次の点を考慮してください。
ルック・アンド・フィール、レイアウト設計および対話に関する一貫性をユーザーに提供し、問題(過剰な余白、過剰なスクロール・バー、大きいデータ・セットを表示するときの遅い応答、不安定な応答、予期できない応答など)を回避するために、付録D「コンポーザ対応のページで使用するタスク・フローの作成のガイドライン」のガイドラインに従ってタスク・フローが作成されていることを確認します。
保護されたアプリケーションで、ユーザーがコンポーザでタスク・フローのコンテンツを表示できるようにするには、タスク・フローがアプリケーションのjazn-data.xml
ファイルにTaskFlowPermission
権限を持ち、少なくともView
アクションがプロビジョニングされていることを確認します。これはデフォルトでは有効になっていないため、明示的に設定する必要があります。
保護されたアプリケーションで、ユーザーがタスク・フローのページでコンポーネントを編集できるようにするには、タスク・フローがアプリケーションのjazn-data.xml
ファイルにTaskFlowPermission
権限を持ち、Customize
アクションがプロビジョニングされていることを確認します。これはデフォルトでは有効になっていないため、明示的に設定する必要があります。
タスク・フローですべての必須パラメータに有効な値を指定したことを確認します。
詳細は、第0.1項「タスク・フローのセキュリティの実装」を参照してください。
この項では、コンポーザの使用中に発生する可能性のある問題のトラブルシューティングに役立つ情報を提供します。
コンポーザのADFロギングの構成
JDeveloperでアプリケーションを作成する際は、JDeveloperのデバッグ・ツールを使用して、Webページまたはページ定義ファイルのエラーを簡単に検出できます。Javaログ出力を設定してJava診断メッセージを表示することも可能です。ロギングの構成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFコンポーネントのテストとデバッグに関する項というタイトルの章を参照してください。コンポーザのロギングを構成するには、そのガイドのタスクを実行し、oracle.adf.view.page.editor
パッケージおよびoracle.adfinternal.view.page.editor
パッケージが目的のロギング・レベルでlogging.xml
ファイルに構成されていることを確認します。
問題
ページを実行すると、次のエラーが表示されます。
java.lang.IllegalStateException: The expression "#{bindings.pageeditorpanel.regionModel}" (that was specified for the RegionModel "value" attribute of the region component with id "pePanel") evaluated to null. This is typically due to an error in the configuration of the objects referenced by this expression. If it helps, the expression "#{bindings.pageeditorpanel}" evaluates to "null". If it helps, the expression "#{bindings}" evaluates to "view_untitled1PageDef". Now using an empty RegionModel instead.
解決方法
このエラーは、Page Customizable
コンポーネントを含むページに、そのページ定義ファイルでバインドしている必須のタスク・フローがない場合に発生します。ページ定義ファイルの<executables>
ノードの下に次の有効なエントリが含まれていることを確認します。
<taskFlow id="pageeditorpanel" taskFlowId="#{pageEditorBean.pageEditorPanel}"xmlns="http://xmlns.oracle.com/adf/controller/binding"/>
このエラーは、ページがページ・テンプレートに基づいていて、そのページ・テンプレートにPage Customizable
コンポーネントが含まれている場合にも発生します。この場合は、af:pageTemplate
タグにvalue="#{bindings.pageTemplateBinding}"
属性が含まれていません。
ページ定義ファイルの<executables>
ノードの下に次のエントリが含まれていることを確認します。
<page path="view.pageDefs.templateDef1PageDef" id="pageTemplateBinding" Refresh="ifNeeded"/>
問題
ユーザーが編集モードに切り替えられません。編集リンク(Change Mode Link
またはChange Mode Button
)が無効のように見えます。
解決方法
そのページに関するユーザーの権限が表示権限のみである可能性があります。ユーザーがそのページの編集権限を持っていることを確認してください。ページの基になるページ・テンプレートでは、表示権限のみを持っていれば十分です。
問題
コンポーザの「コンポーネント・プロパティ」ダイアログの書込みイベント中に例外が発生します。
解決方法
このエラーは、アプリケーション・ページにADFデータ視覚化コンポーネントとコンポーザ・コンポーネントの両方が含まれる場合に発生します。
最も容易にロードされるアプリケーション・クラスに次のコードを追加して、DvtElementObjectFactory
クラスをOracle ADF FactoryManager
オブジェクトとともに登録します。
... import oracle.adfdt.model.dvt.objects.DvtElementObjectFactory; import oracle.adfdt.model.managers.FactoryManager; ... static { FactoryManager.getInstance().registerFactory(new DvtElementObjectFactory()); }