ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド
11g リリース1 (11.1.1.7.0)
B72084-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

17 コンポーザの概要

Oracle WebCenter Portalのコンポーザは、アプリケーション実行時にページ・コンテンツを追加および編集するための完全に統合されたページ・エディタです。この章では、コンポーザについて概説し、実行時にサポートする様々なタスクについて説明します。

コンポーザの機能を理解するには、まず、次のステージから構成される、典型的なアプリケーション開発ライフサイクルを確認します。

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

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

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

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

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

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

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

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

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

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

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

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

17.3 ページ表示モードでのカスタマイズ機能

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

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


注意:

ページで実行できる編集タスクの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページの作成に関する項を参照してください。


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

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

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

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

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

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

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

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

17.3.2 レイアウトの変更

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

図17-2 「レイアウトの変更」アイコン

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

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

図17-3 レイアウト オプション

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

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

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

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

図17-4 Show Detail Frameの「縮小」アイコン

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

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

図17-5 Show Detail Frameの「展開」アイコン

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

17.4 ページ編集モードの「デザイン」ビューでの編集機能

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

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

Change Mode LinkまたはChange Mode Buttonは、ページを編集モードに切り替えます。編集モードでは、ユーザーは、コンテンツのページへの追加、コンポーネント・プロパティの編集、ページ・プロパティの編集などを行えます。ページのPage Customizableコンポーネントでは、これらの編集機能を使用できます。

図17-6は、アプリケーション・ページのChange Mode Linkを示しています。ユーザーがChange Mode LinkまたはChange Mode Buttonをクリックすると、コンポーザでページが開かれます。

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

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

デフォルトのコンポーザのツールバーには、編集されるページの名前、ステータス・インジケータ、「表示」メニュー、「ページ・プロパティ」ボタン、「ページのリセット」ボタンおよび「閉じる」アイコンが表示されています。「表示」メニュー(図17-7)には、2つの表示オプション「デザイン」「ソース」が用意されています。ユーザーは、これらの表示で様々な編集タスクを実行できます。

図17-7 コンポーザの「表示」メニュー

図17-7の説明が続きます
「図17-7 コンポーザの「表示」メニュー」の説明

「デザイン」ビュー(図17-8)では、ページとコンテンツがWYSIWYGで表示され、各コンポーネントの「編集」および「削除」の各制御を直接選択できます。「デザイン」ビューでは、ユーザーは、コンテンツの追加、ページおよびコンポーネントのプロパティの編集、ページ・レイアウトの変更、コンポーネントの削除などのタスクも実行できます。

図17-8 ページの「デザイン」ビュー

図17-8の説明が続きます
「図17-8 ページの「デザイン」ビュー」の説明

「ソース」ビューの詳細は、第17.5項「ページ編集モードの「ソース」ビューでの編集機能」を参照してください。

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


注意:

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


コンポーザは、「ソース」ビューにもこれらの機能のほとんどを用意しています。各項では、機能が両方のモードで使用可能か、設計モードでのみ使用可能かを記述しています。

ユーザーがページで実行できる実行時編集タスクの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページの作成に関する項およびページ・レイアウトのコンポーネントの追加と構成に関する項を参照してください。

17.4.1 コンテンツの追加

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

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

  • 「ソース」ビューで、コンテナ・コンポーネントを選択し、「ソース」ビュー・ツールバーで「コンテンツの追加」ボタンをクリックします。


注意:

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


図17-9は、ポータル機能で構成されていないFrameworkアプリケーションで使用可能なデフォルトのカタログを示しています。

図17-9 リソース・カタログ

図17-9の説明が続きます
「図17-9 リソース・カタログ」の説明

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


注意:

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


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

図17-10 コンポーネントを追加するためのドロップ・ハンドラがあるコンテキスト・メニュー

図17-10の説明が続きます
「図17-10 コンポーネントを追加するためのドロップ・ハンドラがあるコンテキスト・メニュー」の説明

構成に応じて、リソース・カタログはユーザーに対して次のコンポーネントのすべてまたはサブセットを公開します。


注意:

リソース・カタログの構成の詳細は、第15章「リソース・カタログの作成と管理」を参照してください。


  • ADF Facesコンポーネント

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


    注意:

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


    このフォルダには、JDeveloperの設計時コンポーネントであるGo Image LinkOutput TextGo LinkRich Text EditorおよびInline Frameとそれぞれが似ているImageHTML MarkupHyperlinkTextおよびWeb Pageの各コンポーネントが用意されています。JDeveloperでは、これらのコンポーネントは、ADF Facesタグ・ライブラリで使用できます。

    カタログの「ADF Facesコンポーネント」フォルダには、図17-11に示すようにこれらのコンポーネントが含まれています。

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

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

  • タスク・フロー

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


    注意:

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


  • ポートレット

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

  • ドキュメント

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

詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページ・レイアウトのコンポーネントの追加と構成に関する項を参照してください。

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

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

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

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

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

図17-13 「ソース」ビューのタブ・コンポーネント

図17-13の説明が続きます
「図17-13 「ソース」ビューのタブ・コンポーネント」の説明

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

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

17.4.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コンポーネントが制限されている場合

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


ユーザーは、「追加」アイコンを使用して追加したBoxコンポーネントを「デザイン」ビューと「ソース」ビューの両方で削除できます。


注意:

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


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

  • 上にボックスを追加

  • 下にボックスを追加

  • 左にボックスを追加

  • 右にボックスを追加

17.4.1.2.1 上にボックスを追加

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

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

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

図17-15は、Boxコンポーネントの隣に別のBoxコンポーネントを追加する前の「ソース」ビューでのBoxコンポーネントの表示です。

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

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

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

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

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

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

17.4.1.2.2 下にボックスを追加

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

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

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

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

図17-18 下に追加された「ボックス」コンポーネント

図17-18の説明が続きます
「図17-18 下に追加された「ボックス」コンポーネントの」の説明

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

17.4.1.2.3 左にボックスを追加

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

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

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

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

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

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

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

17.4.1.2.4 右にボックスを追加

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

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

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

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

図17-22 右に追加されたBoxコンポーネント

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

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

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

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

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

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

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


    注意:

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

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


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

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

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

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


注意:

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


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

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

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

「表示オプション」タブでは、ユーザーは、背景やタイトルなどの視覚的なプロパティを編集できます。

「パラメータ」タブ(図17-25)では、ユーザーは、ポートレットやタスク・フローなどのコンポーネントのパラメータを編集できます。

図17-25 「コンポーネント・プロパティ」ダイアログの「パラメータ」タブ

図17-25の説明が続きます
「図17-25 「コンポーネント・プロパティ」ダイアログの「パラメータ」タブ」の説明

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

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


注意:

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


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

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

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

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

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

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

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

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

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

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


注意:

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


17.4.5 リソース文字列の編集

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

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

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

図17-28 属性の「テキスト・リソースの選択」オプション

図17-28の説明が続きます
「図17-28 属性の「テキスト・リソースの選択」オプション」の説明

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

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

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

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

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

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

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

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

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

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

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

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


    注意:

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

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


    図17-31 「テキスト・リソースの選択」ダイアログの読取り専用のリソース文字列

    図17-31の説明が続きます
    「図17-31 「テキスト・リソースの選択」ダイアログの読取り専用のリソース文字列」の説明

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

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

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

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

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

    リンクまたはステータス・インジケータ・トグルが最後の列に表示され、ユーザーが文字列をアクティブな翻訳対象リソースに昇格できるようにする(図17-32)か、または文字列をアクティブなリソースとして指定(図17-33)します。

    図17-32 リソース文字列の「使用」リンク

    図17-32の説明が続きます
    「図17-32 リソース文字列の「使用」リンク」の説明

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

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


    注意:

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

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

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

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

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

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

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

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

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

ノート

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

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

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

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

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

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

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

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


注意:

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


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

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

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

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

  • コンポーネントのコンテナで「編集」アイコンをクリックします。「コンポーネント・プロパティ」ダイアログの「子コンポーネント」タブで、コンポーネント名に対して表示されている「コンポーネントの非表示」リンクをクリックします。

    図17-36 コンテナの「コンポーネント・プロパティ」ダイアログの「コンポーネントの非表示」リンク

    図17-36の説明が続きます
    「図17-36 コンテナの「コンポーネント・プロパティ」ダイアログの「コンポーネントの非表示」リンク」の説明

    コンポーネントが非表示のとき、そのコンテナの「コンポーネント・プロパティ」ダイアログには、そのコンポーネントに対する「コンポーネントの表示」リンクが表示されます。ダイアログでこのリンクをクリックし、「適用」または「OK」をクリックすると、コンポーネントが再度表示されます。

17.4.7 コンポーネントの削除

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

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


注意:

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


17.4.8 レイアウトの変更

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

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


注意:

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


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

ユーザーは、「デザイン」ビューと「ソース」ビューの両方から「ページ・プロパティ」ダイアログにアクセスできます。このダイアログでは、ユーザーは、ページのパラメータの作成または編集およびプロパティの表示を実行できます。保護されたアプリケーションで実行時に作成したページでは、付与権限を持つユーザーは、「セキュリティ」タブを使用して、他のユーザーのページ・アクセス権限を編集できます。

図17-37は、「ページ・プロパティ」ダイアログの「セキュリティ」タブを示しています。

図17-37 「ページ・プロパティ」ダイアログの「セキュリティ」タブ

図17-37の説明が続きます
「図17-37 「ページ・プロパティ」ダイアログの「セキュリティ」タブ」の説明

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

図17-38 「ページ・プロパティ」ダイアログの「パラメータ」タブ

図17-38の説明が続きます
「図17-38 「ページ・プロパティ」ダイアログの「パラメータ」タブ」の説明

ページ設定の編集の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページの作成に関する項およびページ、タスク・フロー、ポートレットおよびUIコンポーネントの関連付けに関する項を参照してください。

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

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

ユーザーは、「コンポーネント・プロパティ」ダイアログを使用して、ポートレットとタスク・フロー・パラメータをページ・パラメータに関連付けられます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページ、タスク・フロー、ポートレットおよびUIコンポーネントの同時関連付けに関する項を参照してください。

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

17.4.11 ページのリセット

「ページのリセット」ボタンは、ページで「デザイン」ビューと「ソース」ビューの両方で使用できます。このボタンは、現在のレイヤーまたはヒント・レイヤーでページに対して行われた編集を削除し、これを前に保存されたバージョンまたは元のデフォルトの状態にリセットするオプションを提供する「ページのリセット」ダイアログを起動します。


注意:

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


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

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

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

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

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

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

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


注意:

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

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


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

例17-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);

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

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

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

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

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

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

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

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

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


注意:

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


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

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

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

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

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

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

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

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

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

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

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


注意:

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


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


注意:

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

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

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


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

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

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

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

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

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

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

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

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

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

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


注意:

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


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

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

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

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


注意:

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

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


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

図17-45 「ラベルの選択」ダイアログ

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

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

17.5 ページ編集モードの「ソース」ビューでの編集機能

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

図17-46 ページの「ソース」ビュー

図17-46の説明が続きます
「図17-46 ページの「ソース」ビュー」の説明

デフォルトでは、コンポーネント・ナビゲータはコンポーザ内でページの上部に表示されます。ユーザーは、「表示」メニューの「ソースの位置」オプション(図17-47)を使用して、これを下部、左または右に表示することを選択できます。ユーザーは、コンポーネント・ナビゲータのエッジの境界をドラッグして、その高さまたは幅を変更できます。

図17-47 「表示」メニューの「ソースの位置」オプション

図17-47の説明が続きます
「図17-47 「表示」メニューの「ソースの位置」オプション」の説明

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

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

図17-48 「ページ・ソース」ビューで選択したコンポーネントのブレッドクラム

図17-48の説明が続きます
「図17-48 「ページ・ソース」ビューで選択したコンポーネントのブレッドクラム」の説明

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

「デザイン」ビューと同様に、「ソース」ビューでもユーザーは、コンポーネントの追加、ページおよびコンポーネントのプロパティの編集、ページ・レイアウトの変更、コンポーネントの削除などのタスクを実行できます。ユーザーは、ページまたはコンポーネント・ナビゲータでコンポーネントを選択し、「ソース」ビューのツールバーでボタンをクリックしてこれらのタスクを実行できます。コンポーネントを編集または削除するために、ユーザーは、コンポーネントのコンテキスト・メニューにあるオプションを選択することもできます。これらのタスクに加えて、ユーザーは、「ページ・ソース」ビューで次のタスクを実行できます。


注意:

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

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


17.5.1 切取りオプションおよび貼付けオプションを使用したページ・コンテンツの再配置

ユーザーは、「ソース」ビューのツールバーで「切取り」オプションおよび「貼付け」オプションを使用して、ページのコンポーネントを再配置できます(図17-49)。「貼付け」メニューを使用すると、ユーザーは、コンポーネント・ナビゲーションでコンポーネントを他の任意のコンポーネントの中、前または後ろに貼り付けることができます。

図17-49 「ソース」ビューのツールバーの「切取り」オプションおよび「貼付け」オプション

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

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

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

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

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

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

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


注意:

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


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

図17-50 サンプル・アプリケーションの表

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

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

図17-51 「ソース」ビューの表の列

図17-51の説明が続きます
「図17-51 「ソース」ビューの表の列」の説明

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

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

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

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

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

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

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

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

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

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

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

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

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

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

図17-54 タスク・フローをズーム・アウトするオプション

図17-54の説明が続きます
「図17-54 タスク・フローをズーム・アウトするオプション」の説明

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

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


注意:

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

例17-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);

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

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

図17-56および図17-57に、宣言コンポーネントで使用可能な「コンポーネントの編集」および「閉じる」オプションを示します。

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

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

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

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

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

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

図17-58 ページの「ソース」ビューの「コンポーネントの非表示」オプション

図17-58の説明が続きます
「図17-58 ページの「ソース」ビューの「コンポーネントの非表示」オプション」の説明

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


注意:

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


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

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


注意:

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


コンポーネント・パレットから使用可能なコンポーザ・タグ・ライブラリ(図17-59)には、ページを編集可能にするために追加できるコンポーネントが用意されています。

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

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

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

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

17.6.1 Page Customizable

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

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

図17-60 Page Customizableコンポーネント

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

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

17.6.2 Change Mode LinkおよびChange Mode Button

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

図17-61 Change Mode Linkコンポーネント

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

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

17.6.3 Panel Customizable

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

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

図17-62 Panel Customizableコンポーネント

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

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

17.6.4 Show Detail Frame

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

図17-63 Show Detail Frameコンポーネント

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

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

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

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

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

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

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

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

17.6.5 Layout Customizable

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

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

図17-64 Layout Customizableコンポーネント

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

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

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

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

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

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

制限 動作

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

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

ページが制限されている

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

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

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

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

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

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

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

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


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


注意:

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

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


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

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

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

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

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

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


注意:

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


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

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

権限 コンポーザの動作

編集またはカスタマイズ

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

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

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

  • コンテンツの追加

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

  • コンテンツの再配置

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

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

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

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

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

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

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

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

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

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

パーソナライズ

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

  • コンテンツの再配置

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

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

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

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

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

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

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

表示

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


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

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

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

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

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

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

  • 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によって定義されます。この権限クラスは、タスク・フローの操作にマップされる、タスク・フロー固有のアクションを定義します。デフォルトでは、表示権限のみがタスク・フローに与えられます。ユーザーが実行時にタスク・フローを編集できるようにするには、カスタマイズ権限がタスク・フローに付与されていることを確認する必要があります。詳細は、第19.3.1.1項「タスク・フローの追加に関する考慮事項」 および23.6項「タスク・フローのセキュリティの実装」を参照してください。

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

17.7.2 MDSのカスタマイズ制限

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

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

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

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

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

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