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

前
 
次
 

10 ポータル用のナビゲーション・モデルの構築

この章では、WebCenter Portal: Frameworkアプリケーションでナビゲーション・モデルを作成する方法を説明します。ナビゲーション・モデルは、ポータル・ナビゲーションのコンテンツ、構造およびメタデータを定義します。

この章には次の項が含まれます:

ポータルでのナビゲーション・モデルの公開方法の詳細は、第13章「ポータル・ナビゲーションの視覚化」を参照してください。

10.1 ナビゲーション・モデルの概要

通常、ポータルでは様々なソースからの情報が提供されます。情報源は、ページ、ポートレット、タスク・フロー、コンテンツ・リポジトリ、外部ページなどです。ユーザーには、簡単にこの情報内を移動して、必要な特定の情報に素早くアクセスできる方法が必要です。ポータル・ナビゲーションにより、そのような情報へのアクセスを提供します。

ナビゲーション・モデルは、ナビゲーションのコンテンツ、構造およびメタデータを定義します。ナビゲーション・モデルを作成する場合、追加するアイテムとそれらのアイテムの階層を指定します。ナビゲーション・モデルには、次のリソースを含めることができます。

詳細は、第10.3項「ナビゲーション・モデルへのリソースの追加」を参照してください。

動的に生成されるリソースを追加することもできます。これらは次のとおりです。

詳細は、第10.3.7項「ナビゲーション・モデル・データを拡張する方法」を参照してください。

新しいFrameworkアプリケーションを作成すると、ナビゲーション・モデルが作成されます(default-navigation-model.xml)。このシード済ナビゲーション・モデル上にアプリケーションを構築するか、または独自のものを作成できます。異なるユーザー・タイプに対する別々のナビゲーション・モデルの作成が必要になる場合もあります。


注意:

独自のナビゲーション・モデルを作成する場合、シード済ナビゲーション・モデルを拡張しないで、デフォルトのナビゲーション・モデルとして設定することをお薦めします。詳細は、第10.4項「デフォルトのナビゲーション・モデルの選択」を参照してください。


ナビゲーション・モデルを作成すると、組み込まれたナビゲーション・タスク・フローか独自のナビゲーションUIを介してポータル内のページ・テンプレートにそれを公開できます。詳細は、第13章「ポータル・ナビゲーションの視覚化」を参照してください。

10.2 ナビゲーション・モデルの作成

最初から提供されているデフォルトのナビゲーション・モデルが要件に合ない場合には、独自のナビゲーション・モデルを作成できます。

ナビゲーション・モデルを作成するには:

  1. アプリケーション・ナビゲータで、ナビゲーション・モデルを作成するノード(たとえば、/oracle/webcenter/portalapp/navigations)を右クリックし、「新規」を選択します。

  2. 「新規ギャラリ」で、「Web層」を開き、「ポータル」「ナビゲーション」の順に選択し、「OK」をクリックします。

  3. 「ナビゲーションの作成」ダイアログ(図10-1)の「ファイル名」フィールドに、ナビゲーションを表すXMLファイルの名前(myNavigation.xmlなど)を入力します。

    図10-1 「ナビゲーションの作成」ダイアログ

    図10-1の説明が続きます
    「図10-1 「ナビゲーションの作成」ダイアログ」の説明

  4. 「ディレクトリ」フィールドに、ファイルを作成する場所のフル・ディレクトリ・パスを入力します。


    注意:

    Frameworkアプリケーションにおいて、実行時リソース・マネージャで新規ナビゲーション・モデルを公開するには、ナビゲーション・モデルをApplication_Root/Portal/public_html/oracle/webcenter/portalappディレクトリに作成する必要があります。デフォルトでは、WebCenter Portalには別のnavigationsディレクトリがあります。


  5. 「ポータル・リソースとして作成」を選択し、ナビゲーション・モデルをリソース・レジストリに追加して、実行時にリソース・マネージャで管理できるようにします。


    注意:

    このオプションが使用できるのは、ナビゲーション・モデルを格納したディレクトリがApplication_Root/Portal/public_html/oracle/webcenter/portalappディレクトリか、そのサブディレクトリのいずれかである場合のみです。



    ヒント:

    このオプションをこの時点で選択しなくても、リソース・モデルを後からリソース・レジストリに追加できます。その場合は、リソース・モデルを右クリックして「ポータル・リソースの作成」を選択します。


  6. 「OK」をクリックします。

    新規ナビゲーション・モデルが「デザイン」ビュー(図10-2)で開きます。

    図10-2 「デザイン」ビューのナビゲーション・モデル

    図10-2の説明が続きます
    「図10-2 「デザイン」ビューのナビゲーション・モデル」の説明

  7. ナビゲーション・モデルの「デザイン」ビューの「ナビゲーション」列で新規ナビゲーション・モデルを選択し、必要に応じて一般プロパティを定義します。

    • 「ナビゲーション・フィルタ」フィールドに、特定の基準に基づいたナビゲーション・モデル内で選択済リソースを除外する際に使用するJavaクラスの名前を入力します。このJavaクラスは、oracle.adf.rc.spi.plugin.catalog.CatalogDefinitionFilterインタフェースを実装します。

      リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーション・モデルがページにレンダリングされてもそのリソースは表示されません。


      注意:

      また、リソースの「表示可能」フィールドにEL式を指定すると、目的のモデルの個別リソースを条件に基づいて非表示にすることも可能です。


    • 「表示可能」フィールドで、ナビゲーション・モデルをアプリケーションで使用可能にするかどうかを指定します。このフィールドは、EL値を取ります。デフォルト値は#{true}で、その場合、ナビゲーション・モデルが他のユーザーによって使用可能で、ナビゲーション・モデルのドロップダウン・リストで有効になります。

    • 「ナビゲーション属性」セクションを使用して、必要に応じてナビゲーション・モデルの表示オプションを設定します。使用可能なオプションは、個々のリソースのオプションと同じです。別の表示オプションの詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。

  8. ナビゲーション・モデル定義ファイルを保存します。

    ナビゲーションが作成されたので、それにリソースを追加できます。詳細は、第10.3項「ナビゲーション・モデルへのリソースの追加」を参照してください。

10.3 ナビゲーション・モデルへのリソースの追加

ナビゲーション・モデルのコンテンツを定義すると、デフォルトのナビゲーション・モデル(default-navigation-model.xml)にリソースを追加できます。デフォルトのナビゲーション・モデルは、WebCenter PortalのFrameworkアプリケーション・テンプレートを使用してアプリケーションを作成する際に自動的に作成されます。

独自のカスタム・ナビゲーション・モデルを作成して、リソースに追加することも可能です。詳細は、第10.2項「ナビゲーション・モデルの作成」を参照してください。

リソースをナビゲーション・モデルに追加するには、次の2つの方法があります。

ナビゲーション・モデルの「デザイン」ビューで、既存のリソースの変更および削除もできます。

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

10.3.1 リソースをナビゲーション・モデルにドラッグ・アンド・ドロップする方法

ナビゲーション・モデルの「デザイン」ビュー内の必要な場所にドラッグ・アンド・ドロップすることにより、次のリソースをナビゲーション・モデルに追加できます。

  • コンテンツ - 「アプリケーション・リソース」ペインまたは「リソース・パレット」のContent Server接続からコンテンツ・アイテムをナビゲーション・モデルにドラッグできます。

  • ページ - アプリケーション・ナビゲータからナビゲーション・モデルにページをドラッグする際に、目的のページ自体のみを追加するか、そのページに属するサブページに含まれるページ問合せを追加するかを選択するよう要求されます。

  • ポートレット - 「アプリケーション・リソース」ペインまたは「リソース・パレット」からポートレットをナビゲーション・モデルにドラッグできます。

  • タスク・フロー - 「アプリケーション・リソース」ペインまたは「リソース・パレット」からタスク・フローをナビゲーション・モデルにドラッグできます。

  • 外部アプリケーション - 「アプリケーション・リソース」ペインまたは「リソース・パレット」から外部アプリケーションをナビゲーション・モデルにドラッグできます。

  • URL - 「アプリケーション・リソース」ペインまたは「リソース・パレット」からURL接続をナビゲーション・モデルにドラッグできます。

  • ナビゲーション・モデル - ナビゲーション・モデルをアプリケーション・ナビゲータからドラッグし、それを別のナビゲーション・モデルに埋め込みます。

10.3.2 コンテンツ・アイテムをナビゲーション・モデルに追加する方法

ナビゲーション・モデルには、既存のコンテンツ・リポジトリ接続内の個々のコンテンツ・アイテムへのリンクを追加したり、すべてのコンテンツにアクセスできるフォルダを追加できます。

特定の問合せ基準に適合する一連のドキュメントをナビゲーション・モデルに含めることもできます。詳細は、第10.3.3項「問合せ結果に基づいたコンテンツをナビゲーション・モデルに追加する方法」を参照してください。

コンテンツ・アイテムを追加するには:


ヒント:

コンテンツ・アイテムをナビゲーション・モデルに追加するには、それをナビゲーション・モデルの「デザイン」ビューにドラッグ・アンド・ドロップすることもできます。


  1. アプリケーション・ナビゲータで、リソースを追加するナビゲーション・モデルを右クリックし、「開く」をクリックします。

  2. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、リソースを追加するナビゲーション・モデルのノードを選択します。

  3. 「新しいノードを追加します」をクリックして、「コンテンツ・アイテム」を選択します。

  4. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

    リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


    ヒント:

    IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


    図10-4 コンテンツ・アイテムのナビゲーション・モデルへの追加

    図10-4の説明が続きます
    「図10-4 コンテンツ・アイテムのナビゲーション・モデルへの追加」の説明

  5. 「URL」フィールドで、リソースにアクセスするURLを入力するか、これを参照します。手動でURLを入力する場合には、次の形式を使用してください。

    content://Content_Connection_Id/Document_Id


    注意:

    次の条件に当てはまる場合、実行時にリソースを使用可能にするには、(「アプリケーション・リソース」ペインで)適切な接続をアプリケーションに追加する必要があります。

    • 手動でURLを入力した場合

    • 「リソース・パレット」に接続が存在している場合


  6. 指定したページ・テンプレートを使用して、現在のページにリソースをレンダリングするには、「ページ・テンプレートでのURLのレンダリング」を選択します。

    ナビゲーションでリソースが選択されると、現在のページがそのリソースで上書きされるようにするには、「URLにリダイレクト」を選択します。

  7. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。


    注意:

    リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーション・モデルがページにレンダリングされてもそのリソースは表示されません。


  8. 「URL属性」セクションで、リソースに目的の表示オプションを指定します。詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。

  9. コンテンツ・プレゼンタ表示テンプレートを使用してコンテンツ・アイテムを表示する場合、「URLパラメータ」セクションで「追加」アイコンをクリックして「templateView」を選択します。

  10. templateViewパラメータの「値」フィールドに、次のようなコンテンツ・アイテムのレンダリングに使用する表示テンプレート・ビューIDを入力します。

    oracle.webcenter.content.templates.default.detail
    

    注意:

    コンテンツ・プレゼンタの表示テンプレートを使用してWikiページをFrameworkアプリケーションで表示すると、デフォルトでそのWikiページ内のリンクがドキュメント・ビューアで表示されます。コンテンツ・プレゼンタを使用してWikiページのリンクを表示する場合、adf-config.xmlファイルを編集する必要があります。詳細は、第31.3.5項「コンテンツ・プレゼンタでのWikiページ・リンクの表示」を参照してください。


  11. 必要に応じてさらにパラメータを追加します。その他のコンテンツ・プレゼンタ・パラメータについては、第30.7.1項「コンテンツ・プレゼンタ・タスク・フローのパラメータと即時利用可能な表示テンプレート」を参照してください。

  12. ナビゲーション・モデル定義ファイルを保存します。

10.3.3 問合せ結果に基づいたコンテンツをナビゲーション・モデルに追加する方法

ナビゲーション・モデルにコンテンツ問合せを追加して、特定の検索基準に一致するすべてのドキュメントを含めることができます。


注意:

単一のファイルまたは特定フォルダ内の全ファイルをナビゲーション・モデルに追加するには、第10.3.4項「ページ、ポートレット、タスク・フロー、外部アプリケーションまたはWebページをナビゲーション・モデルに追加する方法」を参照してください。


コンテンツ問合せを追加するには:

  1. アプリケーション・ナビゲータで、リソースを追加するナビゲーション・モデルを右クリックし、「開く」をクリックします。

  2. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、リソースを追加するナビゲーション・モデルのノードを選択します。

  3. 「新しいノードを追加します」アイコンをクリックして、「コンテンツ問合せ」を選択します。

  4. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

    リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


    ヒント:

    IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


    図10-5 ナビゲーション・モデルへのコンテンツ問合せの追加

    図10-5の説明が続きます
    「図10-5 ナビゲーション・モデルへのコンテンツ問合せの追加」の説明

  5. 「リポジトリ」フィールドで、検索するコンテンツのコンテンツ・リポジトリを入力するか参照します。


    注意:

    次の条件に当てはまる場合、実行時にリソースを使用可能にするには、(「アプリケーション・リソース」ペインで)適切な接続をアプリケーションに追加する必要があります。

    • 手動でリポジトリ名を入力した場合

    • 「リソース・パレット」に接続が存在している場合


  6. 「問合せ」フィールドに、ナビゲーション・モデルに含めるコンテンツを特定する問合せ基準を入力します。例:

    select * from cmis:document WHERE cmis:name LIKE 'Foo%'
    

    問合せのフォーマット方法と例の詳細は、『Oracle Fusion Middleware Content Management REST Service開発者ガイド』を参照してください。

  7. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。


    注意:

    リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーションがページにレンダリングされてもそのリソースは表示されません。


  8. 「フォルダの内容の挿入」を選択し、問合せの結果をフォルダの下に表示するのではなく、ナビゲーションに直接表示します。

  9. 「コンテンツ問合せ属性」セクションで、リソースに目的の表示オプションを指定します。詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。

  10. コンテンツ・プレゼンタ表示テンプレートを使用してコンテンツ問合せの結果を表示する場合、「URLパラメータ」セクションで「追加」アイコンをクリックして「templateView」を選択します。

  11. templateViewパラメータの「値」フィールドに、次のようなコンテンツ問合せ結果のレンダリングに使用する表示テンプレート・ビューIDを入力します。

    oracle.webcenter.content.templates.default.list.simple
    

    注意:

    コンテンツ・プレゼンタ表示テンプレートを使用してWikiページを表示すると、デフォルトでそのWikiページ内のリンクがドキュメント・ビューアで表示されます。コンテンツ・プレゼンタを使用してWikiページのリンクを表示する場合、adf-config.xmlファイルを編集する必要があります。詳細は、第31.3.5項「コンテンツ・プレゼンタでのWikiページ・リンクの表示」を参照してください。


  12. 必要に応じてさらにパラメータを追加します。その他のコンテンツ・プレゼンタ・パラメータについては、第30.7.1項「コンテンツ・プレゼンタ・タスク・フローのパラメータと即時利用可能な表示テンプレート」を参照してください。


    注意:

    ナビゲーション・モデルに同じポートレットへのリンクを2度含める(最初のリンクはパラメータ値を指定し、2番目は指定しない)場合、最初のリンクに設定したパラメータが保持され、2番目のリンクにも使用されます。パラメータが2番目のリンクに使用されないようにするには、そのパラメータ値を明示的にNULLに設定する必要があります。


  13. ナビゲーション・モデル定義ファイルを保存します。

10.3.4 ページ、ポートレット、タスク・フロー、外部アプリケーションまたはWebページをナビゲーション・モデルに追加する方法

次のタイプのリソースへのリンクをナビゲーション・モデルに追加できます。

  • 外部リンク: 任意の外部WebページへのHypertextリンク


    注意:

    「外部リンク」オプションを使用してmailto:リンクをナビゲーションに含める場合、ナビゲーションUIはこのタイプのリンクを明示的に処理する必要があります。詳細は、第11.2.3項「WebCenter Portalアプリケーションのページ・テンプレート作成に関する必要な知識」を参照してください。


  • 外部アプリケーション: 任意の登録済の外部アプリケーションへのリンク。

  • ページ: アプリケーション内の任意のJSPXページへのリンク。

    このオプションにより、単一ページへのリンクをナビゲーション・モデルに追加できます。ページ階層全体を含める方法については、第10.3.5項「ページ階層をナビゲーション・モデルに追加する方法」を参照してください。

  • タスク・フロー: アプリケーション内の任意のタスク・フロー、またはWebCenter Portalタスク・フロー(リソース・パレットで使用可)へのリンク。


    注意:

    この方法でナビゲーションを直接タスク・フローに指定すると、ユーザーはタスク・フローをカスタマイズできません。ユーザーがタスク・フローをカスタマイズできるようにするには、タスク・フローをページに追加し、そのページをナビゲーション・モデルに追加します。


  • ポートレット: 任意の登録済のポートレット・プロデューサのポートレットへのリンク。


    注意:

    この方法でナビゲーションを直接ポートレットに指定すると、ユーザーはポートレットをカスタマイズできません。ユーザーがポートレットをカスタマイズできるようにするには、ポートレットをページに追加し、そのページをナビゲーション・モデルに追加します。


  • その他: カスタム・リソースへのリンク。詳細は、第10.3.7.1項「リンクをカスタム・リソースに追加する方法」を参照してください。

リンクをページ、ポートレット、タスク・フロー、外部アプリケーションまたはWebページに追加するには:


ヒント:

ポートレット、タスク・フロー、外部アプリケーションまたはWebページをナビゲーション・モデルに追加するには、それをナビゲーション・モデルの「デザイン」ビューにドラッグ・アンド・ドロップすることもできます。

リンクを単一ページに追加するには、そのページをナビゲーション・モデルの「デザイン」ビューにドラッグして、ポップアップ・メニューから「ページ・リンク」を選択します。


  1. アプリケーション・ナビゲータで、リソースを追加するナビゲーション・モデルを右クリックし、「開く」をクリックします。

  2. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、リソースを追加するナビゲーション・モデルのノードを選択します。

  3. 「新しいノードを追加します」アイコンをクリックして、「リンク」を選択します。

  4. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

    リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


    ヒント:

    IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


    図10-6 ナビゲーション・モデルへのリンクの追加

    図10-6の説明が続きます
    「図10-6 ナビゲーション・モデルへのリンクの追加」の説明

  5. 「タイプ」ドロップダウン・リストから、ナビゲーション・モデルに追加するリソースのタイプ(「外部リンク」「外部アプリケーション」「ページ」「タスクフロー」「ポートレット」)を選択します。

  6. 「ファクトリ・クラス」フィールドには、リソース・タイプの適切なファクトリ・クラスが自動的に移入され、編集できません。


    注意:

    「その他」のタイプのリソースを追加すると、「ファクトリ・クラス」フィールドが編集可能になり、リソースのファクトリ・クラスを入力する必要があります。詳細は、第10.3.7.1項「リンクをカスタム・リソースに追加する方法」を参照してください。


  7. 「URL」フィールドで、リソースにアクセスするURLを入力するか、これを参照します。表10-1に、様々なリソース・タイプに使用するURL形式を示します。

    表10-1 様々なリソース・タイプのURLの形式

    リソース・タイプ アプリケーション内での場所 URL形式

    外部リンク

    なし

    Webページへの絶対パスまたは相対パス

    注意: 「外部リンク」オプションを使用してmailto:リンクをナビゲーションに含める場合、ナビゲーションUIはこのタイプのリンクを明示的に処理する必要があります。詳細は、第11.2.3項「WebCenter Portalアプリケーションのページ・テンプレート作成に関する必要な知識」を参照してください。

    外部アプリケーション

    「アプリケーション・リソース」ペイン内の外部アプリケーション接続

    extapp://External_Application_Id
    

    ページ

    アプリケーション・ナビゲータ

    page://Path_to_Page/Page_Name
    

    例:

    page://oracle/webcenter/portalapp/pages/myPage.jspx
    

    ADFライブラリからのタスク・フロー

    リソース・パレット

    taskflow://Path_to_TaskFlow/TaskFlow_Definition_File_Name#TaskFlow_Id
    

    アプリケーション内のタスク・フロー

    アプリケーション・ナビゲータ

    taskflow://Path_to_TaskFlow/TaskFlow_Definition_File_Name#TaskFlow_Id
    

    ポートレット

    「アプリケーション・リソース」ペインまたは「リソース・パレット」内のポートレット・プロデューサ接続

    portlet://Producer_Id/Portlet_Id
    


    注意:

    次の条件に当てはまる場合、実行時にリソースを使用可能にするには、(「アプリケーション・リソース」ペインで)適切な接続をアプリケーションに追加する必要があります。

    • 手動でURLを入力した場合(ドラッグ・アンド・ドロップや「リソースの選択」ダイアログを使用しないで)

    • リンクの「タイプ」「外部アプリケーション」または「ポートレット」の場合

    • 「リソース・パレット」に接続が存在している場合


  8. 指定したページ・テンプレートを使用して、現在のページにリソースをレンダリングするには、「ページ・テンプレートでのURLのレンダリング」を選択します。

    ナビゲーションでリソースが選択されると、現在のページがそのリソースで上書きされるようにするには、「URLにリダイレクト」を選択します。

  9. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。


    注意:

    リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーション・モデルがページにレンダリングされてもそのリソースは表示されません。


  10. 「URL属性」セクションで、リソースに目的の表示オプションを指定します。詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。

  11. 「URLパラメータ」セクションで、必要に応じて、選択したリソースでサポートしているパラメータの値を入力します。

  12. ナビゲーション・モデル定義ファイルを保存します。

10.3.5 ページ階層をナビゲーション・モデルに追加する方法

ページの階層をナビゲーション・モデルに追加できます。階層内の選択済ページの下にあるすべてのページが、ナビゲーション・モデルに含まれます。

アプリケーション内に単一のページ階層しかない場合でも、ナビゲーション・モデルではアプリケーションのページ階層内のすべてのノードを開始点として使用できます。


注意:

ナビゲーション・モデルに単一ページを含めるのみの場合は、「リンク」ナビゲーション・タイプを使用してください。詳細は、第10.3.4項「ページ、ポートレット、タスク・フロー、外部アプリケーションまたはWebページをナビゲーション・モデルに追加する方法」を参照してください。


ページ階層を追加するには:


ヒント:

ページ階層のセクションをナビゲーション・モデルに追加するには、ページ(すでにページ階層に追加してある)をアプリケーション・ナビゲータからナビゲーション・モデルの「デザイン」ビューにドラッグ・アンド・ドロップします。表示されるポップアップ・メニューから「ページ問合せ」を選択します。


  1. アプリケーション・ナビゲータで、リソースを追加するナビゲーション・モデルを右クリックし、「開く」をクリックします。

  2. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、リソースを追加するナビゲーション・モデルのノードを選択します。

  3. 「新しいノードを追加します」アイコンをクリックして、「ページ問合せ」を選択します。

  4. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

    リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


    ヒント:

    IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


    図10-7 ナビゲーション・モデルへのページ問合せの追加

    図10-7の説明が続きます
    「図10-7 ナビゲーション・モデルへのページ問合せの追加」の説明

  5. 「スコープ」フィールドはFrameworkアプリケーションに適用できないため(有効範囲は常に現在のアプリケーション)、このフィールドは空白のままにします。

    有効範囲は、特定のページがページ問合せのルートとして指定されていない場合に、WebCenter Portal: Spacesでホーム・スペースまたは特定のスペース内のすべてのページを表示するかどうかを決定します。

  6. 「パス」フィールドに、ページ問合せの開始点として使用するページ階層内のページに対応したXMLファイルのパスとファイル名を入力します。例:

    /oracle/webcenter/portalapp/pagehierarchy/pages/pages.xml
    /oracle/webcenter/portalapp/pagehierarchy/pages/productsPages.xml
    
  7. 「ページ・テンプレート」ドロップダウン・リストから、ナビゲーションでリソースが選択されている場合にそのリソースを表示するために使用するページ・テンプレートを選択します。

  8. 「ページ・スタイル」ドロップダウン・リストから、ナビゲーション・モデルに含めるページのスタイルを選択します。たとえば、「Wiki」を選択した場合、「Wiki」ページ・スタイルを使用するページのみがナビゲーションに含められます。

  9. 「ページ可視性」ドロップダウン・リストから、階層で非表示としてフラグが付けられている場合でもページを含めるかどうかを選択します。

  10. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。


    注意:

    リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーションがページにレンダリングされてもそのリソースは表示されません。


  11. 「フォルダの内容の挿入」を選択し、階層のサブページを親ページのフォルダの下に表示するのではなく、ナビゲーションに直接表示します。

  12. 「ページ問合せ属性」セクションで、リソースに目的の表示オプションを指定します。詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。

  13. 「ページ問合せパラメータ」セクションで、必要に応じて、ページ・テンプレートでサポートされている任意のパラメータの値を入力します。

  14. ナビゲーション・モデル定義ファイルを保存します。

10.3.6 別のナビゲーション・モデルをナビゲーション・モデル内に埋め込む方法

ナビゲーション・モデルを相互にネストできます。たとえば、複雑なナビゲーション・モデルの場合、複数の個別のモデルに分割し、すべてを1つの包括的なナビゲーション・モデル内にネストしたほうが容易な場合もあります。ネストしたナビゲーション・モデルを使用して、ナビゲーション・モデルの開発を別々のユーザーに委任したり、ナビゲーションの別々の部分へのアクセスを制御したりできます。

ナビゲーション・モデルに別のナビゲーション・モデルを埋め込むには:


ヒント:

ナビゲーション・モデルに別のナビゲーション・モデルを埋め込むには、埋め込むナビゲーション・モデルをアプリケーション・ナビゲータからナビゲーション・モデルの「デザイン」ビューにドラッグ・アンド・ドロップします。


  1. アプリケーション・ナビゲータで、リソースを追加するナビゲーション・モデルを右クリックし、「開く」をクリックします。

  2. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、リソースを追加するナビゲーション・モデルのノードを選択します。

  3. 「新しいノードを追加します」アイコンをクリックして、「ナビゲーション」を選択します。

  4. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

    リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


    ヒント:

    IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


    図10-8 ナビゲーション・モデルへの別のナビゲーション・モデルの埋込み

    図10-8の説明が続きます
    「図10-8 ナビゲーション・モデルへの別のナビゲーション・モデルの埋込み」の説明

  5. 「パス」フィールドで、次のように、埋め込むナビゲーション・モデルのナビゲーション・モデル定義ファイルの場所とファイル名を入力するか参照します。

    /oracle/webcenter/portalapp/navigations/myNavigation2.xml
    
  6. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。


    注意:

    リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーションがページにレンダリングされてもそのリソースは表示されません。


  7. 「ナビゲーション属性」セクションで、リソースに目的の表示オプションを指定します。詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。

  8. ナビゲーション・モデル定義ファイルを保存します。

10.3.7 ナビゲーション・モデル・データを拡張する方法

ナビゲーション・モデルに既知のリソースを追加するだけでなく、実行時に動的に生成されるモデルにリソースを追加することも可能です。

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

10.3.7.1 リンクをカスタム・リソースに追加する方法

ページ、ポートレット、タスク・フローなどWebCenter Portal対応でサポートされる様々なリソースへのリンクを追加するには、適切な「タイプ」のリンクを追加してそのリソースのURLを指定します。詳細は、第10.3.4項「ページ、ポートレット、タスク・フロー、外部アプリケーションまたはWebページをナビゲーション・モデルに追加する方法」を参照してください。

サード・パーティのリソースにリンクする場合は、タイプ「その他」のリンクを追加し、サード・パーティのURLResourceFactory実装クラスを指定します。

リンクをカスタム・リソースに追加するには:

  1. アプリケーション・ナビゲータで、リソースを追加するナビゲーション・モデルを右クリックし、「開く」をクリックします。

  2. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、リソースを追加するナビゲーション・モデルのノードを選択します。

  3. 「新しいノードを追加します」アイコンをクリックして、「リンク」を選択します。

  4. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

    リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


    ヒント:

    IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


  5. 「タイプ」ドロップダウン・リストから、「その他」を選択します。

    図10-9 ナビゲーション・モデルへのカスタム・リソースの追加

    図10-9の説明が続きます
    「図10-9 ナビゲーション・モデルへのカスタム・リソースの追加」の説明

  6. 「ファクトリ・クラス」フィールドで、カスタム・リソースのURLを解決できるURLResourceFactory実装クラスを入力するか参照します。

  7. 「URL」フィールドに、リソースにアクセスするためのURLを入力します。

  8. 指定したページ・テンプレートを使用して、現在のページにリソースをレンダリングするには、「ページ・テンプレートでのURLのレンダリング」を選択します。

    ナビゲーションでリソースが選択されると、現在のページがそのリソースで上書きされるようにするには、「URLにリダイレクト」を選択します。

  9. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。


    注意:

    リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーションがページにレンダリングされてもそのリソースは表示されません。


  10. 「URL属性」セクションで、リソースに目的の表示オプションを指定します。詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。

  11. 「URLパラメータ」セクションで、必要に応じて、選択したリソースでサポートしているパラメータの値を入力します。

  12. ナビゲーション・モデル定義ファイルを保存します。

10.3.7.2 コンポーネントをナビゲーション・モデルに追加する方法

カスタム・コンポーネントをナビゲーション・モデルに追加できます。単一のADF Facesコンポーネント、2つ以上のコンポーネントを含む複合オブジェクト、内部に任意のHTMLコンテンツを追加できるJSF Verbatimタグなど、様々なコンポーネントを追加できます。カタログに追加可能な任意のHTMLの例は、YouTubeビデオです。

カスタム・コンポーネントを追加するには:

  1. アプリケーション・ナビゲータで、リソースを追加するナビゲーション・モデルを右クリックし、「開く」をクリックします。

  2. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、リソースを追加するナビゲーション・モデルのノードを選択します。

  3. 「新しいノードを追加します」アイコンをクリックして、「コンポーネント」を選択します。

  4. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

    リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


    ヒント:

    IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


    図10-10 ナビゲーション・モデルへのカスタム・コンポーネントの追加

    図10-10の説明が続きます
    「図10-10 ナビゲーション・モデルへのカスタム・コンポーネントの追加」の説明

  5. 「コンポーネント・ファクトリ」フィールドに、oracle.adf.rc.component.XmlComponentFactoryなど、oracle.adf.rc.component.ComponentFactoryインタフェースを実装し、一連のパラメータに基づいてコンポーネントのインスタンスを作成するJavaクラスを入力または参照します。

    名前を入力すると、クラスパスから有効なファクトリ・クラスがフィールドに自動的に入力されます。

    詳細は、第C.4項「カタログへの動的リソースの追加に使用可能なファクトリ・クラス」を参照してください。

  6. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。


    注意:

    リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーションがページにレンダリングされてもそのリソースは表示されません。


  7. 「コンポーネント属性」セクションで、リソースに目的の表示オプションを指定します。詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。

  8. 「コンポーネント・パラメータ」セクションに、コンポーネントを定義するパラメータを追加します。

    たとえば、XMLコンポーネントを追加する場合、「パラメータ」セクションで「追加」アイコンをクリックし、「xml」を選択します。表示される新しい行で、「値」フィールドにコンポーネントのXMLコードを指定します。


    注意:

    「xml」パラメータは、oracle.adf.rc.component.XmlComponentFactoryをコンポーネント・ファクトリとして選択している場合にのみ表示されます。


    コンポーネントを正しく機能させるには、次の例のように、カスタム・コンポーネントIDが#になるように指定し、ネームスペースを指定する必要があります。

    <cust:panelCustomizable id="#" xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable"/>
    

    #という値により、コンポーネントに対し、動的に一意のIDが生成されます。

  9. ナビゲーション・モデル定義ファイルを保存します。

10.3.7.3 カスタム・フォルダをナビゲーション・モデルに追加する方法

実行時にコンテンツを動的に表示するように構成されるカスタム・フォルダをナビゲーション・モデルに追加できます。カスタム・フォルダはリソースを含むフォルダとして追加されません。つまり、リソースを動的に表示する、ファクトリ・クラスへのリファレンスのみが含まれます。

カスタム・フォルダを追加するには:

  1. アプリケーション・ナビゲータで、リソースを追加するナビゲーション・モデルを右クリックし、「開く」をクリックします。

  2. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、リソースを追加するナビゲーション・モデルのノードを選択します。

  3. 「新しいノードを追加します」アイコンをクリックして、「カスタム・フォルダ」を選択します。

  4. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

    リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


    ヒント:

    IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


    図10-11 ナビゲーション・モデルへのカスタム・フォルダの追加

    図10-11の説明が続きます
    「図10-11 ナビゲーション・モデルへのカスタム・フォルダの追加」の説明

  5. 「パス」フィールドに、カスタム・フォルダのMDSパスを入力します。

  6. 「初期コンテキスト・ファクトリ」フィールドで、javax.naming.spi.InitialContextFactoryインタフェースを実装して一連のパラメータに基づいてフォルダを生成するJavaクラスを入力または参照します。

    詳細は、第C.4項「カタログへの動的リソースの追加に使用可能なファクトリ・クラス」を参照してください。

  7. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。


    注意:

    リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーションがページにレンダリングされてもそのリソースは表示されません。


  8. 「フォルダの内容の挿入」を選択し、カスタム・フォルダの内容をフォルダの下に表示するのではなく、ナビゲーションに直接表示します。

  9. 「カスタム・フォルダ属性」セクションで、リソースに目的の表示オプションを指定します。詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。

  10. 「カスタム・フォルダ・パラメータ」セクションで、ファクトリ・クラスを実装する際に定義したパラメータを追加します。これらのパラメータは、アプリケーションのその他のアーティファクトにバインドできます。

  11. ナビゲーション・モデル定義ファイルを保存します。

10.3.7.4 カスタム・コンテンツ・プロバイダをナビゲーション・モデルに追加する方法

カスタム・コンテンツ・プロバイダは、実行時に0以上のナビゲーション・アイテムを動的に生成します。これはカスタム・フォルダに非常に似ていますが、カスタム・フォルダでは、実行時にナビゲーション・モデルがレンダリングされると、空の場合でも必ずフォルダが表示される点が異なっています。カスタム・コンテンツ・プロバイダを使用すると、フォルダ内にコンテンツが存在する場合にのみ、実行時にフォルダが表示されます。

カスタム・コンテンツ・プロバイダを追加するには:

  1. アプリケーション・ナビゲータで、リソースを追加するナビゲーション・モデルを右クリックし、「開く」をクリックします。

  2. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、リソースを追加するナビゲーション・モデルのノードを選択します。

  3. 「新しいノードを追加します」アイコンをクリックして、「カスタム・コンテンツ」を選択します。

  4. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

    リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


    ヒント:

    IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


    図10-12 ナビゲーション・モデルへのカスタム・コンテンツ・プロバイダの追加

    図10-12の説明が続きます
    「図10-12 ナビゲーション・モデルへのカスタム・コンテンツ・プロバイダの追加」の説明

  5. 「コンテンツ・プロバイダ」フィールドで、oracle.adf.rc.spi.plugin.catalog.CustomContentProviderV2インタフェースを実装するJavaクラスを入力または参照します。

    詳細は、第C.4項「カタログへの動的リソースの追加に使用可能なファクトリ・クラス」を参照してください。

  6. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。


    注意:

    リソースはセキュリティに基づいて自動的にフィルタ処理されます。ユーザーが特定のリソースへのアクセス権を持たない場合には、ナビゲーションがページにレンダリングされてもそのリソースは表示されません。


  7. 「カスタム・コンテンツ属性」セクションで、リソースに目的の表示オプションを指定します。詳細は、第10.3.9項「リソースの表示オプションの設定方法」を参照してください。


    注意:

    通常、カスタム・コンテンツでは、属性を指定する必要がありません。コンテンツ・プロバイダで生成されたリソースの属性は、コンテンツ・プロバイダで指定されます。


  8. 「カスタム・コンテンツ・パラメータ」セクションで、フォルダ上のパラメータを定義します。ここで定義するパラメータは、CustomContentProviderV2実装に渡され、この実装により解釈されます。

  9. ナビゲーション・モデル定義ファイルを保存します。

10.3.8 ナビゲーション・モデルでリソースを編成する方法

フォルダをナビゲーション・モデルに追加して、リソースのサブセットを作成したり、類似したリソースをグループ化できます。また、セパレータを追加し、ナビゲーション・モデルをリソースのグループに分割することもできます。フォルダとセパレータにより、ページ内でレンダリングされる際にナビゲーション・モデルのアイテムを分類でき、アイテムの検索が簡単になります。

相互に関連してドラッグしたり、階層になるよう別のアイテム内でドラッグして、ナビゲーション・モデル内のアイテムを再配置できます。

リソースを編成するには:

  1. アプリケーション・ナビゲータで、編成するリソースが属するナビゲーション・モデルを右クリックし、「開く」を選択します。

  2. フォルダまたはセパレータを追加するには:

    1. ナビゲーション・モデルの「デザイン」ビューの左側の「ナビゲーション」列で、フォルダまたはセパレータを追加するナビゲーション・モデルのノードを選択します。

    2. 「新しいノードを追加します」アイコンをクリックして、「フォルダ」または「セパレータ」を選択します。

    3. 「ID」フィールドには自動的に生成されたIDが移入されます。このIDを保持することはできますが、もう少し説明的なIDに変更することもできます。IDはナビゲーション・モデル内で一意である必要があります。

      リソースがナビゲーション・モデルの最上位にある場合、IDをwc_navtitleまたはwcnav_externalIdにすることはできません。これらのIDは予約されています。


      ヒント:

      IDが一意ではないか、IDに無効な文字を入れた場合、フィールドの境界線が赤くなります。


    4. 「表示可能」フィールドで、リソースをナビゲーションに表示するかどうかを指定します。デフォルト値はEL式#{true}です。これは、リソースが常にすべてのユーザーに表示されることを意味します。リソースがすべてのユーザーに対して常に非表示になるようにするにはfalseまたは#{false}を入力します。あるいは、リソースの表示条件を指定するEL式を入力します。フィールドが空の場合、値はデフォルトでtrueになります。

  3. リソースをナビゲーション・モデル内に移動するには、アイテムを選択して目的の場所にドラッグします。

  4. 1つのリソース(子アイテム)を別のリソース(親アイテム)の下にインデントさせるには、子アイテムを選択して親アイテムの最上位にドラッグします。

  5. リソースの親を変更するには、右クリックして「親の変更」を選択します。

  6. ナビゲーション・モデル定義ファイルを保存します。

10.3.9 リソースの表示オプションの設定方法

様々なリソース用表示オプションを指定して、ナビゲーションがページ上でレンダリングされる際の外観と動作を決定できます。使用できる表示オプションは、リソースのタイプの応じて異なります。

リソースの表示オプションを設定するには:

  1. アプリケーション・ナビゲータで、表示オプションを設定するリソースが属するナビゲーション・モデルを右クリックし、「開く」を選択します。

  2. ナビゲーション・モデルの「デザイン」ビュー内の、左側にある「ナビゲーション」列でリソースを選択します。

  3. 「URL属性」パネルで、「追加」アイコンをクリックして設定する属性を選択します。表10-0に、使用可能な属性を示します。

    表10-2 リソースの属性

    属性 説明

    タイトル

    ナビゲーション・モデルがページにレンダリングされる際にリソースに対して表示されるタイトル。

    アクセス・キー

    ユーザーがマウスを使用せずにリソースにアクセスする際に入力するキーのニーモニック(単一文字)。

    説明

    リソースの説明。

    アイコンURI

    リソースを視覚的に表すアイコン。これは、ナビゲーション・モデルがページにレンダリングされる際にタイトルの隣に表示されます。

    件名

    リソースの検索を容易にするキーワード。

    ターゲット

    リソースが選択された際に表示されるコンテナ・ページ上の場所。同一のブラウザ・ウィンドウ(_self)、新規ウィンドウ(_blank)、ポップアップ(_popup)のいずれかか、ナビゲーションUIでサポートされるその他の場所となります。

    注意: ポップアップはページではサポートされていません。

    ツールチップ

    ユーザーがマウスをタイトル上に置いたときにリソースに関する追加情報を提示するテキスト。

    変更済

    リソースの最終変更日。この属性は、サイト・マップの作成に使用されます。

    変更頻度

    リソースが変更される頻度(alwayshourlydailyweeklymonthlyyearlynever)。この属性は、サイト・マップの作成に使用されます。

    重要性

    ナビゲーション・モデル内のその他のリソースに対するこのリソースの優先度(0.0から1.0)。この属性は、サイト・マップの作成に使用されます。

    外部ID

    ページの静的リンクからナビゲーション・モデル内のノードへ直接参照できるID。

    この属性が定義されたデフォルトのナビゲーション・モデルのノードヘは、ページのaf:goLinkコンポーネントから/faces/wcnav_externalId/externalIdを使用するか、ナビゲーション・モデル内の「外部リンク」ナビゲーション・アイテムから/wcnav_externalId/externalIdを使用してアクセスできます。それ以外に、その階層を使用してノードにアクセスする方法があり、この方が速くアクセスできますが、アプリケーションの開発につれて変更される可能性があります。

    デフォルト以外のナビゲーション・モデルのノードに直接アクセスするには、たとえばwcnav.modelPath URLパラメータを次のように設定して、ナビゲーション・モデルのパスを指定する必要があります。

    /faces/wcnav_externalId/myNavigationItem?wcnav .modelPath=/oracle/webcenter/siteresources/scopedMD/
    s7f446cab_f622_4b68_a83e_b7eaf28b52ec/navigation/gsr0271c712_721a_4565_9f0e_755784a7093b/
    myProjectNavigationModel.xml
    

  4. 「値タイプ」ドロップダウン・リストから、次のいずれかを選択します。

    • リテラル文字列 - 属性に対する値として文字列を指定します

    • リソース・バンドル - リソース・バンドルを使用して、属性のローカライズ値を指定します。

  5. 「表示値」フィールドに、属性の値を入力します。リソース・バンドルを使用している場合、「参照」アイコンをクリックしてローカライズ値を検索するリソース・バンドルを選択します。

  6. ナビゲーション・モデル定義ファイルを保存します。

10.4 デフォルトのナビゲーション・モデルの選択

デフォルトのナビゲーション・モデルには、デフォルトでアプリケーションが使用する必要のあるナビゲーション・モデルを選択するのに便利な方法が用意されています。ページ・テンプレート・デザイナは、このデフォルトのナビゲーション・モデルを、実際の名前がわからなくても参照できます。たとえば、ナビゲーションEL式では、#{navigationContext.defaultNavigationModel}のように、デフォルトのナビゲーション・モデルが参照されることが多くあります。

最初にFrameworkアプリケーションを作成すると、シードされたナビゲーション・モデル(default-navigation-model.xml)がデフォルトのナビゲーション・モデルとして設定されます。続いて独自のナビゲーション・モデルを作成すると、使用するたびにこのナビゲーション・モデルを明示的に参照するのではなく、それをデフォルトとして設定できます。

アプリケーションにデフォルトのナビゲーション・モデルを設定するには、adf-config.xmlファイルのoracle.webcenter.portalapp.navigation.modelプリファレンスを編集します。

デフォルトのナビゲーション・モデルを選択するには:

  1. アプリケーション・ナビゲータの「アプリケーション・リソース」ペインで、adf-config.xmlファイルを右クリックして、「開く」を選択します。


    ヒント:

    adf-config.xmlファイルを探すには、「ディスクリプタ」ノードを開き、さらに「ADF META-INF」ノードを開きます。


  2. 「ソース」タブをクリックします。

  3. 次のidを使用して、ADFプリファレンスを見つけます。

    oracle.webcenter.portalapp.navigation.model
    
  4. value属性をポータルのデフォルトとして使用するナビゲーション・モデルのパスに設定します。

    value="oracle/webcenter/portalapp/navigations/myNavigationModel.xml"
    

    例10-1に、完全なプリファレンス要素の例を示します。

    例10-1 デフォルトのナビゲーション・モデルのADFプリファレンス

    <portal:adf-portal-config>
      <preferences>
        ...
        <preference id="oracle.webcenter.portalapp.navigation.model"
            desc="Default Navigation Model"
            value="oracle/webcenter/portalapp/navigations/myNavigationModel.xml"
            resourceType="navigation" display="true"/>
        ...
      </preferences>
    </portal:adf-portal-config>
    
  5. adf-config.xmlファイルを保存します。

10.5 ナビゲーション・レンダラの編集

ナビゲーション・レンダラは、次のようなページ以外のナビゲーション・リソースをレンダリングするJSPXページです。

これらのリソースのレンダリング方法を変更するには、ナビゲーション・レンダラ・ページを編集します。たとえば、ナビゲーション・レンダラ・タスク・フローの前または後にイメージを追加したり、フローからストレッチ・レイアウトに変更することができます。

ナビゲーション・レンダラ・ページはデフォルトでは非表示のため、編集できるようにするには、まずアプリケーションでこれを表示する必要があります。


注意:

非常に多くの場合、既存のナビゲーション・レンダラを編集して、各自の要件に適合できるようにする必要があります。しかし、必要な場合には独自のナビゲーション・レンダラ・ページを作成できます。たとえば、ナビゲーション・レンダラでは、contentファセットが期待されます。別のファセットを使用する場合には、独自のページを作成して、テンプレートの適切な場所にナビゲーション・レンダラ・タスク・フローを配置できます。

独自のナビゲーション・レンダラ・ページを作成することにした場合は、そのナビゲーション・レンダラ・タスク・フローを格納するナビゲーション・レンダラ・リージョンを含める必要があります。

アプリケーションのナビゲーション・レンダラとしてページを設定するには、ナビゲーション・レンダラADFプリファレンス(oracle.webcenter.portalapp.navigation.renderer)を編集して適切なファイルを指すようにします。ADFプリファレンスの編集方法の詳細は、第10.4項「デフォルトのナビゲーション・モデルの選択」を参照してください。


ナビゲーション・レンダラを編集するには:

  1. アプリケーション・ナビゲータで、アプリケーション・プロジェクトを右クリックして「プロジェクト・プロパティ」を選択します。

  2. 「プロジェクトのソース・パス」ノードを開き、「Webアプリケーション」を選択します。

  3. 「除外」タブを選択します。

  4. ナビゲーション・レンダラ・ファイル(navigation-renderer.jspx)を選択して、「削除」をクリックし、除外ファイルのリストからそのファイルを削除します。

  5. 「OK」をクリックします。

    ナビゲーション・レンダラJSPXファイルは、アプリケーション・ナビゲータで次のノードの下にリストされるようになります。

    /oracle/webcenter/portalapp/pages/
    
  6. navigation-renderer.jspxを右クリックして、「開く」を選択します。

  7. 「ソース」タブをクリックして、必要に応じてファイルを編集します。

  8. 終了したら、navigation-renderer.jspxファイルを保存します。

10.6 REDIRECT_OPTIONSコンテキスト・パラメータの設定

アプリケーションで部分ページ・リフレッシュ(PPR)が使用されていない場合、ユーザーがナビゲーション・モデルのリソースにナビゲートするたびに、ブラウザのURLが変更されます。しかし、ブラウザで表示されているURLは現在のページを示さず、最後に表示されたページのURLが表示されます。

ブラウザで現在のページのURLを表示できるようにするには、web.xmlファイルでoracle.webcenter.navigationframework.REDIRECT_OPTIONSコンテキスト・パラメータを設定します。


注意:

oracle.webcenter.navigationframework.REDIRECT_OPTIONSコンテキスト・パラメータを設定すると、ナビゲーションごとにリクエスト/レスポンスが追加され、パフォーマンスに影響を及ぼします。


REDIRECT_OPTIONSコンテキスト・パラメータを設定するには:

  1. アプリケーション・ナビゲータで、web.xmlファイルを右クリックし、「開く」を選択します。

  2. 概要エディタで、「コンテキスト初期化パラメータ」セクションを開きます。

  3. 「コンテキスト初期化パラメータの作成」アイコンをクリックします。

  4. 「名前」フィールドに、oracle.webcenter.navigationframework.REDIRECT_OPTIONSと入力します。

  5. 「値」フィールドに、toPrettyURLと入力します。

    これにより、web.xmlファイルに次のように追加されます。

    <context-param>
     <param-name>oracle.webcenter.navigationframework.REDIRECT_OPTIONS</param-name>
     <param-value>toPrettyURL</param-value>
    </context-param>
     
    
  6. web.xmlファイルを保存します。

10.7 ナビゲーション・モデルの実行時管理の有効化

Frameworkアプリケーションのリソース・マネージャを使用すると、管理者権限のあるユーザーは、ナビゲーション・モデルなどポータル・リソースを実行時に作成および変更できるようになります。リソース・マネージャでナビゲーションを公開することによって、管理者は実行時にそのナビゲーションを管理できます。アプリケーションのデプロイ後にさらにナビゲーションを作成して公開する場合には、JDeveloperからランタイム・アプリケーションにそれらのナビゲーションを公開できます。


注意:

実行時にナビゲーション・モデルを作成した場合に、設計時環境にインポートして戻さないときは、新規ナビゲーション・モデルがアプリケーションの再デプロイ時に失われることがあります。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』のリソース・カスタマイズの保存に関する項を参照してください。


リソース・マネージャでナビゲーションを公開するには、第16.2.1項「リソースをリソース・マネージャに追加する方法」を参照してください。

ナビゲーション・レジストリ・ファイル(navigation-registry.xml)を編集して、実行時にユーザーがナビゲーション・モデルに追加できるリソースを正確に制御することもできます。

ナビゲーション・モデルの実行時の機能については、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』の章ナビゲーションの使用に関する項を参照してください。

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

10.7.1 ナビゲーション・レジストリ・ファイルの編集方法

ナビゲーション・レジストリは、ユーザーが実行時にナビゲーション・モデルに追加できるリソースを登録するための専用リソース・カタログです。各Frameworkアプリケーションには、アプリケーションの作成時に作成される1つのナビゲーション・レジストリ・ファイルnavigation-registry.xmlが含まれます。このファイルを編集して、含めるリソースを変更できます。たとえば、ユーザーが実行時に他のナビゲーション・モデルを埋め込むことができないようにする場合、ナビゲーション・リファレンス・リソースをナビゲーション・レジストリから削除できます。

ナビゲーション・レジストリを編集するには:

  1. アプリケーション・ナビゲータで、navigation-registry.xmlファイルを右クリックします。


    ヒント:

    このファイルは、Application_Root/oracle/webcenter/portalapp/navigationsの下にあります。


  2. このファイルをその他のリソース・カタログと同じ方法で編集します。詳細は、第15.2.3項「リソース・カタログのコンテンツの管理方法」を参照してください。

    次のリソースをナビゲーション・レジストリに追加できます。

    • フォルダ

    • リンク

      • タスク・フロー

      • ポートレット

      • コンテンツ

      • その他

    • リソース・カタログ

    • コンポーネント

    • カスタム・フォルダ

    • カスタム・コンテンツ

    ナビゲーション・レジストリの既存のリソースを変更および削除して、レジストリのリソースを再配置することもできます。

  3. 終了したら、navigation-registry.xmlファイルを保存します。

10.7.2 デプロイしたナビゲーション・モデルのさらなる開発を有効にする方法

シード済ナビゲーション・モデルをリソース・マネージャで変更または削除することはできません。管理権限のあるユーザーは、シード済ナビゲーション・モデルのコピーを作成してそれを編集または削除することも、独自のナビゲーション・モデルを作成することもできます。

ユーザーがナビゲーション・モデルを実行時に作成または編集する場合は、さらなる拡張のためにJDeveloperにナビゲーション・モデルを戻す必要があることがあります。これを実行するには、デプロイ済アプリケーションからナビゲーション・モデルをダウンロードし、JDeveloperで編集して、アプリケーションにアップロードして戻します。設計時、このタイプのラウンドトリップ開発には、ダウンロードしたナビゲーション・モデルのインポート、JDeveloperでの編集、およびデプロイ済アプリケーションにアップロードして戻すためのエクスポートが含まれます。

また、アプリケーションのデプロイ後に新規ナビゲーション・モデルを作成した場合、JDeveloperからそのナビゲーション・モデルをエクスポートして、それをデプロイ済アプリケーションにアップロードできます。

この項では、JDeveloperでナビゲーション・モデルをインポートおよびエクスポートする方法について説明します。次のサブセクションが含まれます:

ラウンドトリップ開発の詳細は、第16.4項「リソースのラウンドトリップ開発の有効化」を参照してください。

10.7.2.1 ナビゲーション・モデルのインポート

リソース・マネージャからナビゲーション・モデルをダウンロードすると、EARファイルが作成されます。JDeveloperにEARファイルをインポートする際には、EARファイルのファイルは、フォルダApplication_Root/Portal/public_html/oracle/webcenter/siteresources/scopedMD/scope_GUIDに抽出されます。設計時の他のナビゲーション・モデルと同じように、ナビゲーション・モデルを開いて編集できます。編集後に、更新済のナビゲーション・モデルをデプロイ済アプリケーションにエクスポートする必要があります。

リソースのインポートの詳細な手順は、第16.4.2項「ポータル・リソースをJDeveloperにインポートする方法」を参照してください。

10.7.2.2 ナビゲーション・モデルのエクスポート

次の理由でエクスポートの実行が必要になります。

  • すでにデプロイしたアプリケーションで新規ナビゲーション・モデルを公開します。

  • デプロイしたアプリケーションからインポートして変更したナビゲーション・モデルをコピーして戻します。

JDeveloperからナビゲーション・モデルをエクスポートすると、EARファイルが作成されます。管理者権限のあるユーザーは、この後、リソース・マネージャを使用してこのEARファイルをデプロイしたアプリケーションにアップロードできます。

リソースのエクスポートの詳細な手順は、第16.4.3項「ポータル・リソースをJDeveloperからエクスポートする方法」を参照してください。

10.8 WebCenter Portal: Spacesのナビゲーション・モデルの使用

WebCenter Portal: Spacesには、そのまま各自のスペースで使用できるシード済ナビゲーション・モデルが用意されています。これらのデフォルトのナビゲーション・モデルが要件に適さない場合には、WebCenter Portal: Spaces内で独自のナビゲーション・モデルを作成できます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のナビゲーションの使用に関する項を参照してください。

ただし、WebCenter Portal: Spacesでは、必要とするすべての機能を備えたナビゲーション・モデルを作成するためのコントロール機能がすべて提供されていない可能性があります。そのような場合、JDeveloperでは、もともとWebCenter Portal: Spacesで作成したナビゲーション・モデルを編集して、WebCenter Portal: Spacesにアップロードして戻すことが可能です。

WebCenter Portalには特別なJDeveloperワークスペース(DesignWebCenterSpaces.jws)が用意されており、ナビゲーション・モデルなどのリソースを開発してWebCenter Portal: Spacesにアップロードする際に利用できます。第55章「JDeveloperを使用したSpacesアプリケーションの拡張」には、サンプルのワークスペースの場所、およびWebCenterSpacesResourcesプロジェクトを使用してカスタムのナビゲーション・モデルやWebCenter Portal: Spacesのその他のタイプのリソースを作成する方法が記載されています。

JDeveloperでWebCenter Portal: Spacesナビゲーション・モデルを使用している場合、次の点を考慮してください。