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

前
 
次
 

12 ポータルのルック・アンド・フィールの設計

ポータルの構築時は、ポータルのルック・アンド・フィールを決定することが重要です。また、ルック・アンド・フィールがポータル全体で整合性を持つようにするとよいです。ポータル・ページ全体にわたるこの種類の整合性は、ページ・テンプレートおよびページ・スタイルを使用して実現できます。

この章では、ページ・テンプレートおよびページ・スタイルの作成と管理に関する情報を提供します。また、実行時にタスク・フローを作成する際に使用できるマッシュアップ・スタイルを作成する方法について説明します。この項の内容は、次のとおりです。

12.1 ページ・テンプレートおよびページ・スタイルの概要

ページ・テンプレートでは、ユーザーの画面に個々のページおよびページ・グループをどのように表示するかが定義されます。ページ・テンプレートを使用してページを表示する場合、それらのページでは常に、アプリケーション全体の構造およびレイアウトにおいて整合性が確保されます。たとえば、「サイド・ナビゲーション - フロー」ページでは、ページの左側にナビゲーション・パネルが表示され、メイン・コンテンツ領域内の各コンポーネントのサイズは、その子のサイズに基づいて計算されます。

一方、ページ・スタイルでは、ポータル内の新規ページのレイアウトが指定され、初期コンテンツが指定されることもあります。たとえば、「Web」ページ・スタイルは、1列のレイアウトを指定し、ユーザーが自身のアプリケーションで外部Webコンテンツを公開できるようにします。「空白」ページ・スタイルは、1列のレイアウトを指定し、それに基づくページにユーザーはほとんど制限なくコンテンツ・タイプを追加できます。

ページ・テンプレートおよびページ・スタイルは、JDeveloperで作成および公開できるJSPXページです。ページ・テンプレートは、設計時および実行時のポータル・ページ作成に使用できる一方、ページ・スタイルは、実行時のページ作成にのみ使用できます。この項では、設計時に作成できる様々なページ・テンプレートおよびページ・スタイルについて説明します。この項の内容は、次のとおりです。


注意:

スキンも、アプリケーションの背景色、画面フォント、および一部のスキンの場合のアプリケーションのボタンとアイコンに使用する図形やイメージを指定することによって、ポータルのルック・アンド・フィールの定義に使用できます。ただし、スキンについては、この章では説明していません。詳細は、第15章「スキンの作成および管理」を参照してください。


12.1.1 ページ・テンプレート

ページ・テンプレートでは通常、ポータル・アプリケーションのページのレイアウトおよびデフォルトのナビゲーション・モデルが定義されます。ページ・テンプレートは、共通のルック・アンド・フィールを提示します。図12-1は、ページ・テンプレートに基づいたポータルのサンプルを示しており、次のものが備わっています。

  • 会社ロゴが表示され、サインイン、カスタマ・サービスおよびホームのリンクが含まれるヘッダー。

  • ポータル内の別のリソースにアクセスするためのデフォルトのタブ・ナビゲーション。

  • ログイン・タスク・フローといくつかの便利なリンクが備わったサイドバー。

  • 著作権情報といくつかの免責事項が記載されたフッター。

  • コンテンツを追加するための中央領域。

図12-1 ページ・テンプレートを使用したポータルのサンプル

図12-1の説明が続きます
「図12-1 ページ・テンプレートを使用したポータルのサンプル」の説明

ページ・テンプレートは、参照ベースであり、継承を使用します。つまり、ページ・テンプレートを変更すると、そのテンプレートを参照するすべてのページで自動的にその変更が継承されます。JDeveloperでページ・テンプレートを作成および公開でき、設計時と実行時の両方で、ページの作成に使用できます。図12-2で示しているように、設計時には、「JSFページの作成」ダイアログでページ・テンプレートを選択できます。

図12-2 「JSFページの作成」ダイアログの「ページ・テンプレート」オプション

JDeveloperの「ページ・テンプレート」オプション

図12-3で示しているように、実行時には、アプリケーションの「構成」ページでページ・テンプレートを選択することによって、そのページ・テンプレートを適用できます。

図12-3 アプリケーションの「構成」ページの「ページ・テンプレート」オプション

「構成」タブの「ページ・テンプレート」オプション

図12-4で示しているように、管理者または受任者は、公開されたページ・テンプレートをリソース・マネージャで管理できます。

図12-4 リソース・マネージャ内のページ・テンプレート

図12-4の説明が続きます
「図12-4 リソース・マネージャ内のページ・テンプレート」の説明

詳細は、第12.2項「ページ・テンプレートの使用」を参照してください。

12.1.2 ページ・スタイル

ページ・スタイルは、実行時に作成するページに使用するJSPXページです。ページ・スタイルには、新規作成されたページのレイアウトが示され、ページでサポートされるコンテンツ・タイプも示される場合があります。

ユーザーがページ・スタイルを使用してページを作成する場合、ページ・スタイルからレイアウトおよび初期コンテンツが、新規作成されたページにコピーされます。ページ・テンプレートとは異なり、ページ・スタイルは参照ベースではありません。つまり、ページ・スタイルを変更した場合、その変更が、そのページ・スタイルを使用するページに継承されることはありません。

通常、ページ・スタイルには、指定したページの有用性と外観を強化するコンポーネントが含まれます。これらのコンポーネントには、インプレースHTMLテキスト・エディタ、イメージ、レイアウト・ボックス、ハイパーリンクなどが含まれます。コンテンツ・コントリビュータを使用すると、ページにコンテンツをさらに移入できます。図12-5は、ページ・スタイルに基づいたポータル・ページのサンプルを示しています。

図12-5 ページ・スタイルを使用したページのサンプル

ページ・スタイルを使用したページのサンプル

JDeveloperでページ・スタイルを作成できますが、それらのページ・スタイルは、実行時にページを作成する際にのみ使用されます。アプリケーションで公開するページ・スタイルは、次のように使用および管理できます。

  • 図12-6で示しているように、管理者または受任者は、公開されたページ・スタイルをリソース・マネージャで管理できます。

    図12-6 リソース・マネージャ内のページ・スタイル

    図12-6の説明が続きます
    「図12-6 リソース・マネージャ内のページ・スタイル」の説明

  • ユーザーは、使用可能なページ・スタイルに基づいてページを作成できます。リソース・マネージャでは、「ページの作成」オプションを使用できます。このオプションは、ページ - 新規作成タスク・フローが含まれるその他のアプリケーション・ページでも使用できます。ユーザーが「ページの作成」オプションをクリックすると、図12-7に示しているように、「ページの作成」ダイアログに一連の事前定義済スタイルが表示されます。ユーザーは、スタイルを選択し、それに基づいてページを作成できます。レイアウトが新規ページにすでに配置されているため、ユーザーはページの様々な領域にコンテンツを追加するだけです。

    図12-7 デフォルトのスタイルの「ページの作成」ダイアログ

    図12-7の説明が続きます
    「図12-7 デフォルトのスタイルの「ページの作成」ダイアログ」の説明

JDeveloperでページ・スタイルを作成する手順の詳細は、第12.3項「ページ・スタイルの使用」を参照してください。実行時のページ・スタイル管理の詳細は、Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイドのページ・スタイルの使用に関する項を参照してください。

12.1.3 マッシュアップ・スタイル

マッシュアップ・スタイルは、ページ・スタイルとさほど違いはありませんが、タスク・フローを作成するために実行時に使用される点が異なります。またビジネス・マッシュアップとも言われます。

マッシュアップ・スタイルは、マッシュアップを作成するために実行時にのみ使用されますが、JDeveloperで作成および公開することができます。詳細は、第12.4項「マッシュアップ・スタイルの使用」を参照してください。

図12-8で示しているように、管理者または受任者のみが、公開されたマッシュアップ・スタイルを実行時リソース・マネージャで作成および管理できます。

図12-8 リソース・マネージャ内のマッシュアップ・スタイル

図12-8の説明が続きます
「図12-8 リソース・マネージャ内のマッシュアップ・スタイル」の説明

マッシュアップ・スタイルは、「新規タスク・フローの作成」ダイアログ・ボックス(図12-9)に表示されます。このダイアログ・ボックスは、リソース・マネージャの「タスク・フロー」ページの「作成」をクリックすると起動します。ユーザーは、スタイルを選択し、そのスタイルに基づいてマッシュアップを作成できます。詳細は、Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイドのタスク・フローの作成と管理に関する項を参照してください。

図12-9 デフォルトのスタイルが表示される「新規タスク・フローの作成」ダイアログ

図12-9の説明が続きます
「図12-9 デフォルトのスタイルが表示される「新規タスク・フローの作成」ダイアログ」の説明

12.1.4 コンテンツ・プレゼンタ表示テンプレート

コンテンツ・プレゼンタ表示テンプレートは、コンテンツ・プレゼンタがFrameworkアプリケーション・ページでコンテンツ・アイテムをレンダリングする方法の定義に使用されます。ページ・スタイルおよびマッシュアップ・スタイルと同様に、コンテンツ・プレゼンタ・テンプレートも、リソース・マネージャで実行時に管理できます。これらのテンプレートについては、この章では説明していません。詳細は、第29章「コンテンツ・プレゼンタ表示テンプレートの作成」を参照してください。

12.2 ページ・テンプレートの使用

「JSFページの作成」ダイアログで、任意の数のカスタム・ページ・テンプレートを作成して、それらをユーザーに公開できます。この項では、ページ・テンプレートの作成およびページ・テンプレートの実行時管理の有効化に関する情報を提供します。この項の内容は、次のとおりです。

12.2.1 WebCenter Portalアプリケーション・シード済ページ・テンプレートの概要

WebCenter Portalアプリケーション・テンプレートを使用してアプリケーションを作成するときに、「標準ポータル機能のアプリケーションの構成」オプションを選択した場合、2つのシード済テンプレートpageTemplate_globe.jspxおよびpageTemplate_swooshy.jspxがアプリケーションに追加されます。

図12-10 アプリケーション・ナビゲータ内のシード済ページ・テンプレート

図12-10の説明が続きます
「図12-10 アプリケーション・ナビゲータ内のシード済ページ・テンプレート」の説明

これらのテンプレートは双方とも、基本的に同じ機能を提供しますが、グラフィックは異なります。これらのテンプレートには、次の機能が含まれます。

  1. ポータルのホーム・ページへのリンク

  2. タグ・ライン

  3. ようこそメッセージ

  4. シード済「管理」ページへのリンク

  5. ユーザーのログイン時にログアウト・リンクに変換されるログイン領域

  6. ナビゲーション・バー

  7. テンプレートに基づいてページにコンテンツを追加するための領域

  8. 著作権情報

図12-11は、前述の機能それぞれが付記されたpageTemplate_globe.jspxページ・テンプレートを示しています。

図12-11 pageTemplate_globe.jspxシード済ページ・テンプレート

図12-11の説明が続きます
「図12-11 pageTemplate_globe.jspxシード済ページ・テンプレート」の説明

特定の要件を満たすようにこのデフォルトのページ・テンプレートを編集することも、さらに一般的には、独自のページ・テンプレートを作成することもできます。独自のページ・テンプレートの作成を選択した場合でも、シード済ページ・テンプレートは、独自のテンプレートで実現できる様々なものを見つける際に役立つツールです。

12.2.2 ページ・テンプレートを作成する方法

WebCenterアプリケーションに固有のページ・テンプレートの側面については、次の項で説明しています。JSFページ・テンプレートの一般情報は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のページ・テンプレートの使用に関する項を参照してください。

ページ・テンプレートを作成する手順は次のとおりです。

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

  2. 「新規ギャラリ」で、「Web層」を開き、「JSF」を選択して、「JSFページ・テンプレート」を選択し、「OK」をクリックします。

  3. 「JSFページ・テンプレートの作成」ダイアログ(図12-12)の「ファイル名」フィールドに、ページ・テンプレートを表すJSPXファイルの名前(たとえば、myCompanyPageTemplate.jspx)を入力します。

    このファイル名によって、アプリケーション・ナビゲータでページ・テンプレートが識別されます。

    図12-12 「JSFページ・テンプレートの作成」ダイアログ

    図12-12の説明が続きます
    「図12-12 「JSFページ・テンプレートの作成」ダイアログ」の説明

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


    注意:

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


  5. 「ページ・テンプレート名」フィールドに、ページ・テンプレートの表示名を入力します。

    表示名は、JSFページの作成ウィザードの「ページ・テンプレート」ドロップダウン・リストに表示され、ユーザーがこのテンプレートを選択して新規作成ページに使用できるようになります。このため、このテンプレートの使用対象のページ・タイプをユーザーが簡単に識別できるようなページ・テンプレート名にする必要があります。

  6. ページ・テンプレートとして、いずれかの事前定義済レイアウトを使用する場合は、「クイック・スタート・レイアウトの使用」を選択します。

  7. ページ・テンプレートにADFm Modelデータ・バインディングを使用する場合は、「関連ADFmページ定義の作成」を選択します。

    ページ定義をページ・テンプレートに関連付けると、モデル要素が含まれるオブジェクト(タスク・フローやポートレットなど)をページ・テンプレートに組み込むことができるようになります。また、ユーザーは、実行時に別のページ・テンプレートに切り替えることができるようになります。


    注意:

    シード済ページ・テンプレートにはすべて関連ページ定義があるため、WebCenter Portalアプリケーションでページ・テンプレートを作成する場合はこのオプションを選択することを強くお薦めします。アプリケーション内では、すべてのページ・テンプレートに関連ページ定義があるか、それとも関連ページ定義があるページ・テンプレートはないかのいずれかである必要があります。

    関連ページ定義のあるページ・テンプレートと、関連ページ定義のないページ・テンプレートを組み合せると、ユーザーは実行時にテンプレートを切り替えることができなくなります。


    このオプションを選択したら、「モデル・パラメータ」タブをクリックして、「新規」アイコンをクリックし、ADFm宣言データ・バインディング・レイヤーで設定されるデータ・バインドされたコンポーネントにモデル・パラメータを定義できます。これらのパラメータの値は、コール元のページによって実行時に設定できます。


    注意:

    デフォルトで、ページ・テンプレート定義名は、ページ・テンプレート名に基づいて付けられます。ページ定義を別の名前で作成しないでください。


  8. 「ファセット定義」タブをクリックして、ページ・テンプレートを使用して作成したページにコンテンツを挿入できるようにする、ページ・テンプレート内の領域を定義します。WebCenter Portalアプリケーションでの使用が意図されたページ・テンプレートには、contentというファセット定義を少なくとも1つは含める必要があります。

    1. 「新規」アイコンをクリックして、「ファセット定義」タブに新規行を追加します。

    2. 新規ファセット定義の「名前」フィールドに、contentと入力します。

    3. 「説明」フィールドに、たとえばMain content areaなど、ファセット定義の簡単な説明を入力します。

    4. 必要に応じて、追加のファセット定義を作成します。

    5. ページ・テンプレート内の必要な場所にファセットを追加する方法は、手順12を参照してください。

    例12-1は、pageTemplate_globe.jspx WebCenter Portalアプリケーション・シード済ページ・テンプレートの<af:xmlContent>セクション内のcontentファセット定義を示しています。

    例12-1 Globeシード済ページ・テンプレートのcontentファセット

    <af:xmlContent>
      <component xmlns="http://xmlns.oracle.com/adf/faces/rich/component">
        <display-name>Globe Page Template</display-name>
        <facet>
          <description>Facet for content</description>
          <facet-name>content</facet-name>
        <facet>
        ...
      </component>
    </af:xmlContent>
    
  9. 「属性」タブをクリックして、「新規」アイコンをクリックし、テンプレートを使用するページからテンプレート自体に値を渡すための属性を定義します。これらの値をページ・テンプレートで使用することにより、テンプレートを使用する個々のページに実際に表示されるものを制御できるようになります。

    たとえば、pageTemplate_globe.jspx WebCenter Portalアプリケーション・シード済ページ・テンプレートには、シード済「管理」ページへのリンクが含まれます。現行ページが「管理」ページである場合、リンクの表示は必要ありません。テンプレートでは、isAdminPageという属性を使用して、現行ページがシード済「管理」ページかどうかが識別されます。この属性の値は、テンプレートを使用するページによって設定され、「管理」ページへのリンクを表示するかどうかを判別します。

    例12-2は、ページ・テンプレートのisAdminPage属性定義を示しています。

    例12-2 Globeシード済ページ・テンプレートの属性定義

    <af:xmlContent>
      ...
        <attribute>
          <attribute-name>isAdminPage</attribute-name>
          <attribute-class>java.lang.Boolean</attribute-class>
          <default-value>#{false}</default-value>    </attribute>
      ...
    </af:xmlContent>
    

    例12-3は、シード済「管理」ページにリンクをレンダリングするかどうかを指定するisAdminPage属性の値を使用するページ・テンプレートを示しています。

    例12-3 「管理」ページのリンクのレンダリングに使用する条件値

    <af:pageTemplateDef var="attrs">
      ...
      <af:goLink id="pt_glnk1" text="Administration"
                 destination="/admin"
                 rendered="#{attrs.showAdmin !attrs.isAdminPage}"
                 inlineStyle="font-size:small; color:White;"/>
    

    例12-4は、シード済「管理」ページでisAdminPage属性をtrueに設定して、ユーザーが「管理」ページを表示するときにページ・テンプレートでリンクがレンダリングされないようにする方法を示しています。

    例12-4 ページ・テンプレートの属性の値の設定

    <af:pageTemplate value="#{bindings.pageTemplateBinding.templateModel}" id="pt1">
      <f:attribute name="isAdminPage" value="#{true}"/>
    

    シード済ページ・テンプレートには、そのほか次の属性が含まれています。

    <attribute>
      <attribute-name>contentWidth</attribute-name>
      <attribute-class>java.lang.String</attribute-class>
      <default-value>960px</default-value>
    </attribute>
    
    <attribute>
      <attribute-name>showNavigation</attribute-name>
      <attribute-class>java.lang.Boolean</attribute-class>
      <default-value>#{true}</default-value>
    </attribute>
    
    <attribute>
      <attribute-name>showGreetings</attribute-name>
      <attribute-class>java.lang.Boolean</attribute-class>
      <default-value>#{securityContext.authenticated}</default-value>
    </attribute>
    
    <attribute>
      <attribute-name>showLogin</attribute-name>
      <attribute-class>java.lang.Boolean</attribute-class>
      <default-value>#{true}</default-value>
    </attribute>
    
    <attribute>
      <attribute-name>showAdmin</attribute-name>
      <attribute-class>java.lang.Boolean</attribute-class>
      <default-value>
        #{WCSecurityContext.userInAppRole['Administrator']}
      </default-value>
    </attribute>
    
  10. 「OK」をクリックします。

    ページ・テンプレートが作成され、ビジュアル・エディタで開かれます。

  11. コンポーネント・パレットからコンポーネントをドラッグして、ビジュアル・エディタ内のページ・テンプレートにドロップします。

    ナビゲーションUIは、ページ・テンプレートの重要な側面です。ナビゲーションUIをページ・テンプレートに追加する処理の詳細は、第14章「ポータル・ナビゲーションの視覚化」を参照してください。

    ポートレット、タスク・フロー、コンテンツなど、その他のリソースをページ・テンプレートに追加する処理の詳細は、第13章「ポータルへのリソースの追加」を参照してください。

    ページ・テンプレートで提供できるその他の機能として、ログイン/ログアウトや検索のフィールドがあります。シード済ページ・テンプレートには、ログイン・フォームの例が含まれています。

    ページ・テンプレート全体で、式言語(EL)式を使用して、定数値のかわりに変数値を指定できます。一般的なEL式の説明は、付録G「式言語式」を参照してください。

  12. ユーザーがページ・テンプレートに基づいたページに独自のコンテンツを配置できるページ・テンプレート内の領域について、次の操作を行います。

    1. コンポーネント・パレットから「FacetRef」コンポーネントをドラッグし、ページ・テンプレート内の該当する場所にそれをドロップします。

    2. 「ファセット参照の挿入」ダイアログで、「ファセット名」ドロップダウン・リストから、ページ・テンプレート内のこの領域で使用するファセットを選択します。新規ファセット名を入力すると、JDeveloperによってページ・テンプレート定義ファイルに新規ファセット定義が作成されます。

    例12-5は、pageTemplate_globe.jspx WebCenter Portalアプリケーション・シード済ページ・テンプレートにコンテンツ・ファセットが組み込まれる方法を示しています。

    例12-5 Globeシード済ページ・テンプレートのcontentファセット

    <af:pageTemplateDef var="attrs">
      <af:panelGroupLayout id="pt_root" layout="scroll">
        <af:panelGroupLayout id="pt_pg12" layout="vertical">
          ...
          <af:facetRef facetName="content"/>
          ...
        </af:panelGroupLayout>
      </af:panelGroupLayout>
      ...
    <af:pageTemplateDef>
    

12.2.3 WebCenter Portalアプリケーションのページ・テンプレート作成に関する必要な知識

WebCenter Portalアプリケーションで使用するためにページ・テンプレートを作成する場合、次を考慮してください。

  • ページ・テンプレートをリソース・マネージャで必ず公開できるように、/oracle/webcenter/portalappディレクトリ内にページ・テンプレートのJSPXファイルを作成します。すぐに使用できるように、ページ・テンプレートを格納できるpagetemplatesサブディレクトリがすでに用意されています。

  • シード済ページ・テンプレートは、独自のページ・テンプレートに組み込むことができる機能の例が用意されている貴重なソースです。シード済ページ・テンプレートに基づいてページ・テンプレートを作成するのではない場合でも、シード済ページ・テンプレートはアイデアをつかむ上で検討に値します。たとえば、シード済ページ・テンプレートには、再利用できるログイン・フォームが含まれています。シード済ページ・テンプレートには、ナビゲーションUIの有用な例も含まれています。

  • 「ページ・テンプレートの作成」ダイアログで、「関連ADFmページ定義の作成」オプションを選択する必要があります。このオプションを選択しないと、ユーザーが実行時にページ・テンプレートを切り替えることができなくなります。ページ・テンプレートの切替えが機能するように、次のいずれかの条件を満たす必要があります。

    • アプリケーション内のすべてのページ・テンプレートに関連ページ定義がある。

    • アプリケーション内のいずれのページ・テンプレートにも関連ページ定義がない。

    このため、WebCenter Portalアプリケーション・テンプレートで提供されるシード済ページ・テンプレートには関連ページ定義があるので、ページ・テンプレートの切替えが機能するように、このアプリケーション内で作成する他のページ・テンプレートにもページ・テンプレートの関連ページ定義を指定する必要があります。

  • ページ・テンプレートには少なくとも1つのファセット定義を含める必要があり、そのファセット定義の名前をcontentにする必要があります。

  • ページ・テンプレートによって参照されるナビゲーション・モデルに、mailto:リンクを使用する外部リンク・ナビゲーション・アイテムが含まれる場合、ページ・テンプレートではこれらのアイテムを明示的に処理する必要があります。例12-6では、JSTLを使用してナビゲーション・アイテムのexternalURLを調査し、これが文字列mailto:で開始しているかどうかを確認しています。その文字列で開始している場合は、ADF Faces goLinkコンポーネントを使用してリンクがレンダリングされます。

    例12-6 mailto:リンクのレンダリング

    ...
    <c:choose>
      <c:when test="${fn:startsWith(node.externalURL, 'mailto:')}">
        <af:goLink id="pt_gl_mail" text="#{node.title}"
                   destination="#{node.externalURL}"/>
      </c:when>
      <c:otherwise>
        ...
      </c:otherwise>
    </c:choose>
    ...
    
  • ページ・テンプレートに、コンテンツ・アイテムを表示するためのコンテンツ・プレゼンタ・タスク・フローが含まれている場合、次のように、コンテンツが表示されるよう、そのタスク・フローのプロパティを手動で変更する必要があります。

    • datasource: connection_name#dDocName:content_ID

    • datasourceType: dsTypeSingleNode

    • taskFlowInstId: 一意の識別子

    コンテンツ・プレゼンタ・タスク・フローの詳細は、表31-4「コンテンツ・プレゼンタのタスク・フローのパラメータ」を参照してください。

  • ページ・テンプレートを実行時に管理できるようにする場合、イメージ、JavaScript、スタイル・シート、HTMLファイルなど、ページ・テンプレートの依存オブジェクトを次のディレクトリの下に格納する必要があります。このディレクトリは、設計時に作成されるページ・テンプレートのデフォルトのコンテンツ・ディレクトリです。

    Application_Root/Portal/public_html/oracle/webcenter/portalapp/shared
    

    また、ベスト・プラクティスとして、依存オブジェクトをsharedディレクトリの下のリソース固有のサブディレクトリに格納することをお薦めします。たとえば、Template1というページ・テンプレートのイメージは、次の場所に格納できます。

    /oracle/webcenter/portalapp/shared/pageTemplates/Template1
    

    これによって、追加リソースをランタイムからインポートした場合に生じる可能性のある競合が回避されます。

    リソースをポータル・リソースとして追加する場合、コンテンツ・ディレクトリが、該当するsharedディレクトリを必ず指すようにする必要があります。

    ページ・テンプレート内の依存オブジェクトを参照するには、次の形式を使用します。

    /oracle/webcenter/portalapp/shared/objectFileName
    

    次に例を示します。

    <af:image source="/oracle/webcenter/portalapp/shared/pageTemplates/Template1/logo.gif" id="pt_12">
    

12.2.4 ページ・テンプレートの実行時切替えの有効化

ページの作成時に、そのページで使用する特定のページ・テンプレートを選択します。これによって、ページ・テンプレートへの静的参照が、ページのJSPXファイルに追加されます。次に例を示します。

<af:pageTemplate
    viewId="/oracle/webcenter/portalapp/pagetemplates/pageTemplate_globe.jspx"
    value="#{bindings.pageTemplateBinding  }"
    id="pt1">
  <f:facet name="content"/>
</af:pageTemplate>

ページ・テンプレートのバインディングが、ページのページ定義ファイルに作成されます。次に例を示します。

<executables>
  <variableIterator id="variables"/>
  <page path="oracle.webcenter.portalapp.pagetemplates.pageTemplate_globePageDef"
        id="pageTemplateBinding" Refresh="ifNeeded"/>
</executables>

対象のページに別のページ・テンプレートを使用するには、これら両方の参照を変更する必要があります。

これらの参照を変更し、EL式を使用してページ・テンプレートの実行時切替えを有効にすることもできます。


注意:

ページ・テンプレート間の実行時の切替えは、ページ定義が関連付けられた状態でページ・テンプレートが作成されている場合にのみ可能です。


ページ・テンプレートの実行時切替えを有効にする手順は次のとおりです。

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

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

  3. 次のコードを置き換えます。

    <af:pageTemplate viewId="pathToPageTemplate"
                     value="#{bindings.pageTemplateBinding}"
                     id="ptId">
      <f:facet name="content"/>
    </af:pageTemplate>
    

    置換後:

    <af:pageTemplate value="#{bindings.pageTemplateBinding.templateModel}"
                     id="ptId">
      <f:facet name="content"/>
    </af:pageTemplate>
    
  4. JSPXページを右クリックし、「ページ定義に移動」を選択します。

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

  6. 次のコードを置き換えます。

    <page path="pathToPageTemplatePageDef"
          id="pageTemplateBinding" Refresh="ifNeeded"/>
    

    置換後:

    <page viewId="${preferenceBean.defaultPageTemplate}"
          id="pageTemplateBinding" Refresh="ifNeeded"/>
    
  7. アプリケーション・ナビゲータの「アプリケーション・リソース」ペインで、adf-config.xmlファイルを右クリックして、「開く」を選択します。


    ヒント:

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


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

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

    oracle.webcenter.portalapp.pagetemplate.pageTemplate
    
  10. ページに適用するページ・テンプレートにvalue属性を設定します。次に例を示します。

    <portal:preference
      id="oracle.webcenter.portalapp.pagetemplate.pageTemplate"
      desc="Default Page Template"
      value="/oracle/webcenter/portalapp/pagetemplates/pageTemplate_globe.jspx"
      resourceType="Template" display="true"/>
    

12.2.5 ページ・テンプレートを編集する方法

ページ・テンプレートの初期作成後に、そのページ・テンプレートに変更を加えることができます。加えるすべての変更が、そのページ・テンプレートを使用するすべてのページに自動的に公開されます。

ページ・テンプレートを編集する手順は次のとおりです。

  1. 編集するページ・テンプレートを特定します。

  2. ページ・テンプレートを右クリックし、「開く」を選択します。

  3. ビジュアル・エディタで、ページ・テンプレートのレイアウトやコンテンツに変更を加えます。

  4. 新規ファセット定義または属性を追加するには、「構造」ウィンドウでaf:pageTemplateDefタグを選択して、プロパティ・インスペクタを使用します。

  5. ページ・テンプレート定義ファイルを保存します。

    反復開発が有効な場合、ページ・テンプレートに加えた変更はすべて実行中アプリケーションですぐに確認できます。反復開発の詳細は、第1.5項「反復開発の準備」を参照してください。

12.2.6 ページ・テンプレートを削除する方法

ページ・テンプレートがポータル内で必要ではなくなった場合、それを削除できます。ページ・テンプレートを削除する際に、そのページ・テンプレートへの直接参照があるページを実行しようとすると、例外が発生します。

ページ・テンプレートを削除する手順は次のとおりです。

  1. 削除するページ・テンプレートを特定します。

  2. ページ・テンプレートを右クリックし、「削除」を選択します。

  3. 「削除の確認」ダイアログによって、アプリケーション内でそのページ・テンプレートが使用されているかどうかが識別されます。詳細を表示するには、「使用方法の表示」をクリックします。

    この情報を使用して、テンプレートを本当に削除するのかどうかを決断できます。

  4. 続行してページ・テンプレートを削除する場合は、「はい」をクリックします。操作を取り消す場合は、「いいえ」をクリックします。

12.2.7 ページ・テンプレートの実行時管理を有効にする方法

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


注意:

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


リソース・マネージャでページ・テンプレートを公開するには、第17.2.1項「リソースをリソース・マネージャに追加する方法」を参照してください。

ページ・テンプレートの実行時機能の詳細は、Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイドの「ページ・テンプレートの使用」の章を参照してください。

12.2.8 デプロイしたページ・テンプレートのさらなる開発を有効にする方法

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

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

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

この項では、JDeveloperでページ・テンプレートをインポートおよびエクスポートする方法について説明します。この項の内容は、次のとおりです。

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

12.2.8.1 ページ・テンプレートのインポート

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

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

12.2.8.2 ページ・テンプレートのエクスポート

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

  • すでにデプロイしたアプリケーションで新規ページ・テンプレートを公開する。

  • デプロイしたアプリケーションからインポートして変更したページ・テンプレートをコピーして戻す。

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

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

12.2.9 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から既存のページ・テンプレートをダウンロードして、それをJDeveloperで編集した後か、いずれかのサンプル・ページ・テンプレートを起点として使用した後に、WebCenter Portal: Spacesにアップロードして戻すこともできます。

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

WebCenter Portal: Spacesで使用するためにページ・テンプレートをJDeveloperで作成または編集する場合、次を考慮してください。

  • ページ・テンプレートには、contentというファセット定義を含める必要があります。

  • ページ・テンプレートには、class="WCPGTEMPLATE"と指定されたUIコンポーネントを少なくとも1つ含める必要があります。スキンを実行時に編集することによって、基本タブでテンプレートの背景をターゲットにすることができますが、それは現行スタイルによります。

12.3 ページ・スタイルの使用

ページ・スタイルは、JSPXページです。「ページの作成」ダイアログで、任意の数のカスタム・ページ・スタイルを作成して、それらをユーザーに公開できます。この項では、ページ・スタイルの作成およびページ・スタイルの実行時管理の有効化に関する情報を提供します。この章の内容は、次のとおりです。

12.3.1 ページ・スタイルを作成する方法

ページ・スタイルを最初から作成することも、ADFページ・テンプレートを使用して作成することもでき、作成した後はそれを必要なレイアウト・コンポーネントで設計できます。ただし、カスタム・アプリケーションで使用するページ・スタイルの作成には前提条件がいくつかあります。

ポータル・リソースとして公開するページ・スタイルの要件

  • スタイルをリソース・マネージャで必ず公開できるように、/oracle/webcenter/portalappディレクトリ内にページ・スタイルのJSPXファイルを作成します。ページ・スタイル用のサブディレクトリ(たとえば、pagestyles)を作成することも、そのまま使用できるpagesディレクトリにページ・スタイルを保存することもできます。

    ページ・スタイルを実行時リソース・マネージャで公開できるのは、/oracle/webcenter/portalapp構造内にそのページ・スタイルが存在する場合のみです。

  • ページ・スタイルがページ・テンプレートに基づいている場合は、ページ・スタイルのJSPXの設計時に、contentファセット、またはページ・テンプレートで定義されているその他のファセットを追加して、ページ・コンテンツが含まれるようにします。

  • ページをカスタマイズ可能にするには、コンテンツ・ファセット内にPage Customizableコンポーネントを追加します。Page Customizableには、子であるPanel Customizableコンポーネントがデフォルトで含まれているため、ユーザーは実行時にコンテンツをページに追加できます。

  • ページ・スタイルに使用するADFテンプレートを動的に選択できるようにするには、ページ・スタイルのJSPXで、pageTemplateにEL値を指定します。次の例で示しているように、ページ・テンプレートIDを返すマネージドBeanメソッドに、EL式を使用してvalue属性を設定します。

    <af:pageTemplate value="#{bindings.pageTemplateBinding.templateModel}" id="T">
    

    これは、使用するADFテンプレートが、現行のユーザーやスコープなどの条件に基づいて決定される場合に有用です。

  • ページ・スタイルから作成した新規ページのルック・アンド・フィールが、配置先のポータルと必ず同じになるように設定できます。このためには、現在適用されているページ・テンプレートに基づいたADFテンプレートを使用するようにページ・スタイルを構成します。これを実現するには、次の例で示しているように、ページ・スタイルのページ定義ファイル内のページ・テンプレートのページ定義にEL参照を挿入する必要があります。

    <page viewId="#{preferenceBean.defaultPageTemplateViewId}" 
          id="pageTemplateBinding" Refresh="ifNeeded"/>
    
  • 次の例で示しているように、現在適用されているページ・テンプレートのIDを返すメソッドを使用してマネージドBeanを作成します。

    public class siteTemplatesManager {
        final private String templateA = "/templateA.jspx";
        final private String templateB = "/templateB.jspx";
        private String currentSiteTemplateViewId;
        
        public siteTemplatesManager() {
            super();
            currentSiteTemplateViewId = templateA;
        }
        public String gettemplateViewId() {
            return currentSiteTemplateViewId;
        }
        public void settemplateAViewId(ActionEvent ae) {
            currentSiteTemplateViewId = templateA;
        }
        public void settemplateBViewId(ActionEvent ae) {
            currentSiteTemplateViewId = templateB;
        }
    }
    

第19.6.1項「実行時に作成したページ用のテンプレートを作成する方法」に、ページ・スタイル作成方法の詳細を示しています。

例12-7は、サンプル・ページ・スタイルのコード/oracle/webcenter/portalapp/pages/pageStyles/TemplateFlowingTwoColumn.jspxを示しています。これによって、フローして、割合が35パーセントと65パーセントの2つの列を提供するよう設計された基本ページが作成されます。例12-8は、関連ページ定義ファイル/oracle/webcenter/portalapp/pages/pageStyles/TemplateFlowingTwoColumnPageDef.jspxを示しています。


関連項目:

第19.3.4.2項「カスタム・スタイル」には、カスタムのページ・スタイルおよびそれらのページ定義を格納できる場所、およびそれらのスタイルが実行時に「ページの作成」ダイアログに必ず表示されるようにする方法に関する情報が示されています。


例12-7 カスタムのページ・スタイルのソース・コード

<?xml version='1.0' encoding='utf-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:pe="http://xmlns.oracle.com/adf/pageeditor"
xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
xmlns:trh="http://myfaces.apache.org/trinidad/html" version="2.1">
 <jsp:directive.page deferredSyntaxAllowedAsLiteral="true"/>
 <jsp:directive.page contentType="text/html;charset=utf-8"/>
 <f:view>
  <af:document title="#{pageDocBean.title}" id="docrt">
   <af:form usesUpload="true" id="f1">
    <af:pageTemplate value="#{bindings.pageTemplateBinding.templateModel}"
    id="T">
     <f:facet name="content">
      <pe:pageCustomizable id="pcl1">
       <af:panelGroupLayout id="pgl1" layout="scroll"
       styleClass="replace_with_scheme_name"
       inlineStyle="replace_with_inline_style">
        <trh:tableLayout id="tl1" width="100%">
         <trh:rowLayout id="rl1">
          <trh:cellFormat id="cf1" width="35%" valign="top">
           <cust:panelCustomizable id="hm_pnc1" layout="scroll"/>
          </trh:cellFormat>
          <trh:cellFormat id="cf2" width="65%" valign="top">
           <cust:panelCustomizable id="hm_pnc2" layout="scroll"/>
          </trh:cellFormat>
         </trh:rowLayout>
        </trh:tableLayout>
        <trh:tableLayout id="tl2"/>
       </af:panelGroupLayout>
       <f:facet name="editor">
        <pe:pageEditorPanel id="pep1"/>
       </f:facet>
      </pe:pageCustomizable>
     </f:facet>
    </af:pageTemplate>
   </af:form>
  </af:document>
 </f:view>
</jsp:root>

例12-8 カスタムのページ・スタイルのページ定義

<pageDefinition version="11.1.1.41.30" id="TemplateFlowingTwoColumnPageDef"
  Package="oracle.webcenter.siteresources.scopedMD.s8bba98ff_4cbb_40b8_beee_296c916a23ed.pageStyle.gsr2b052c53_0eba_43fd_81e2_7f12dbb885a5">
  <parameters/>
  <executables>
    <page viewId="#{preferenceBean.defaultPageTemplate}" 
          id="pageTemplateBinding" Refresh="ifNeeded"/> 
    <taskFlow id="pageeditorpanel" taskFlowId="#{pageEditorBean.pageEditorPanel}"/>
  </executables>
</pageDefinition>

12.3.2 ページ・スタイルの実行時管理を有効にする方法

リソース・マネージャでページ・スタイルを公開することによって、管理者はそれらのページ・スタイルを実行時に管理できるようになります。アプリケーションのデプロイ後であっても、アプリケーションを再デプロイする必要なく、追加のページ・スタイルを作成してエクスポートできます。実行時に、リソース・マネージャには、エクスポートしたページ・スタイルをアップロードするオプションが用意されています。


注意:

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


ページ・スタイルをリソース・マネージャで公開するには、アプリケーションのgeneric-site-resources.xmlファイルにそのページ・スタイルの有効なエントリが必要です。ページ・スタイルのJSPXファイルの、ポップアップ・メニューの次のオプションを使用して、リソース・マネージャでページ・スタイルを登録または登録解除します。


注意:

/oracle/webcenter/portalappディレクトリにページ・スタイルを作成した場合にのみ、ポップアップ・メニューにリソース・マネージャ固有のオプションが表示されます。


  • ポータル・リソースの作成: generic-site-resources.xmlファイルにページ・スタイルのエントリを作成します。

    エントリの作成時には、表12-1に示している属性を設定する必要があります。この表に示した属性は、ページ・スタイルに固有のものです。すべてのリソースに共通の汎用手順は、第17.2.1項「リソースをリソース・マネージャに追加する方法」を参照してください。

    表12-1 ページ・スタイルのプロパティ

    プロパティ 説明

    表示名

    ページ・スタイルの表示名。

    リソース・タイプ

    公開されるリソースのタイプ。これは、JSPXファイルの特定の内部検証に基づいて自動的に移入される読取り専用フィールドです。

    アイコンURL

    「ページの作成」ダイアログにページ・スタイル名とともに表示するイメージへのパス。

    これはオプション設定です。

    イメージ・ファイルへの絶対パスを指定します。たとえば、WebCenter Portal: Spacesからインポートしたページ・スタイルの場合、「アイコンURL」は次の形式になります。

    APPLICATION_ROOT/oracle/webcenter/siteresources/scopedMD/shared/FILE_NAME
    

    説明

    ページ・スタイルの説明。

    コンテンツ・ディレクトリ

    イメージ、JavaScript、スタイル・シート、HTMLファイルなど、ページ・スタイルの依存オブジェクトが含まれるディレクトリ。

    リソースに関連付けられているオブジェクトは、/oracle/webcenter/portalapp/sharedディレクトリに格納されている場合にのみレンダリングされます。


  • ポータル・リソースの更新: ページ・スタイルのエントリの作成時に定義した属性を編集します。詳細は、第17.2.3項「ポータル・リソースのプロパティを更新する方法」を参照してください。

  • ポータル・リソースの削除: generic-site-resources.xmlファイルから、選択したページ・スタイルのエントリを削除します。詳細は、第17.2.4項「リソースをリソース・マネージャから削除する方法」を参照してください。

12.3.3 デプロイしたページ・スタイルのさらなる開発を有効にする方法

シード済ページ・スタイルを実行時に変更または削除することはできません。ただし、管理者権限のあるユーザーは、シード済ページ・スタイルのコピーを作成してそのプロパティを編集したり、コピーを削除したりできます。

リソース・マネージャの「ソースの編集」オプションを使用すると、ユーザーは、コピーしたページ・スタイルまたはカスタムのページ・スタイルのコンテンツを実行時に変更できます。ただし、テキスト編集は実行時ソース・エディタよりJDeveloperで行う方が簡単なため、ユーザーは、ページ・スタイルをダウンロードして、それをJDeveloperで編集し、デプロイ済アプリケーションにアップロードして戻すことを選択できます。設計時、このタイプのラウンドトリップ開発には、ダウンロードしたページ・スタイルのインポート、JDeveloperでの編集、およびデプロイ済アプリケーションにアップロードして戻すためのエクスポートが含まれます。

この項では、JDeveloperでページ・スタイルをインポートおよびエクスポートする方法について説明します。

12.3.3.1 ページ・スタイルのインポート

リソース・マネージャからページ・スタイルをダウンロードすると、次のオブジェクトが含まれるEARファイルが作成されます。

  • ページ・スタイルのJSPXファイル

  • ページ定義ファイル

  • generic-site-resources.xmlファイル

  • ページ・スタイルによって参照されるコンテンツ・ディレクトリ。デフォルトでは、このディレクトリはoracle/webcenter/siteresources/scopedMD/sharedです。sharedディレクトリにコンテンツが含まれない場合、EARファイルにこのフォルダが含まれることはありません。

generic-site-resources.xmlファイルには、インポートされるリソースのタイプの特定に役立つメタデータが含まれます。ページ・スタイルをランタイム・アプリケーションにエクスポートして戻すときにも、このメタデータが使用されます。

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


注意:

ページ・スタイルをWebCenter Portal: Spacesからインポートしたが、それをFrameworkアプリケーションで使用する場合は、ページ定義ファイルからWebCenter Portal: Spaces固有の権限マッピングを削除する必要があります。つまり、スタイルのページ定義から<permission>要素を削除します。権限マッピングを保持しておくと、エラーが発生する可能性があります。


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

12.3.3.2 ページ・スタイルのエクスポート

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

  • すでにデプロイしたアプリケーションで新規ページ・スタイルを公開する。

  • デプロイしたアプリケーションからインポートして変更したページ・スタイルをコピーして戻す。

ページ・スタイルをJDeveloperからエクスポートすると、ページ・スタイルのJSPX、ページ・スタイルのページ定義ファイル、generic-site-resources.xmlファイルおよびページ・スタイルに関連付けられているイメージが含まれるsharedフォルダが含まれるEARファイルが作成されます。管理者権限のあるユーザーは、この後、リソース・マネージャを使用してこのEARファイルをデプロイしたアプリケーションにアップロードできます。アップロード後は、そのページ・スタイルを管理したり、アプリケーション・ページの作成に使用したりできます。

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

12.3.4 Spacesのページ・スタイルを作成および管理する方法

Spacesには、そのまま使用できるシード済ページ・スタイルがいくつか用意されています。これらのデフォルトのスタイルが要件に適さない場合には、Spaces内で独自のページ・スタイルを作成できます。詳細は、Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイドの「ページ・スタイルの使用」の章を参照してください。

ただし、Spacesでは、必要とするすべての機能を備えたページ・スタイルを作成するためのコントロール機能がすべて提供されていない可能性があります。そのような場合は、JDeveloperで独自のページ・スタイルを作成してから、それをSpacesにアップロードできます。Spacesから既存のページ・スタイルをダウンロードして、それをJDeveloperで編集した後か、いずれかのサンプル・ページ・スタイルを起点として使用した後に、Spacesにアップロードして戻すこともできます。JDeveloperでは、その他のJSPXページとまったく同じようにページ・スタイルを作成して、Spacesにアップロードできます。

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

ページ・スタイルの作成および編集の主要タスクは、FrameworkアプリケーションとSpacesアプリケーションで同じですが、Spacesアプリケーションの場合に追加で考慮が必要な事項がいくつかあります。この項では、Spacesで使用するページ・スタイルに関する特別な考慮事項を示します。

Spacesで使用するページ・スタイルの要件

次の例で示しているように、CustomPagePermissionクラスを使用して、ページ・スタイルに権限を明示的にマップします。

<permission permissionClass="oracle.webcenter.page.model.security.CustomPagePermission" target="ps_targetusage">
  <privilege-map operation="administer" privilege="manage"/>
  <privilege-map operation="create" privilege="create"/>
  <privilege-map operation="delete" privilege="delete"/>
  <privilege-map operation="edit" privilege="update"/>
  <privilege-map operation="personalize" privilege="personalize"/>
  <privilege-map operation="view" privilege="view"/>
</permission>

ページ・スタイルの一般的な前提条件は、「ポータル・リソースとして公開するページ・スタイルの要件」を参照してください。ページ・スタイルを作成する手順は、第12.3.1項「ページ・スタイルを作成する方法」を参照してください。

12.4 マッシュアップ・スタイルの使用

マッシュアップ・スタイルは、新規タスク・フローを実行時に作成するためのテンプレートとして使用できるADFタスク・フローです。ただし、マッシュアップ・スタイルには1つのビュー・フラグメントしか指定できません。また、マッシュアップ・スタイルが、EL値などを使用してコードを参照する場合、そのコードはデプロイ済アプリケーションに含まれる必要があります。

マッシュアップ・スタイルの作成を選択する目的として、次の場合があります。

リソース・マネージャには、管理権限のあるユーザーがタスク・フローを作成および管理できる「タスク・フロー」ページが用意されています。ユーザーが「タスク・フロー」ページの「作成」をクリックすると、図12-13に示しているように、「新規タスク・フローの作成」ダイアログに、ユーザーが使用できるシード済マッシュアップ・スタイルが表示されます。

図12-13 シード済マッシュアップ・スタイル

マッシュアップ・スタイル

注意:

ADFタスク・フローの管理

実行時にマッシュアップ・スタイルを管理するしくみと同様に、リソース・マネージャでもタスク・フローを作成および管理できます。リソース・マネージャの「タスク・フロー」ページを使用すると、ユーザーはタスク・フローを作成、編集、削除、インポートおよびエクスポートできます。

JDeveloperで作成したカスタム・タスク・フローをポータル・リソースとしてエクスポートすることはできませんが、実行時に作成したタスク・フローをインポートして、それを変更し、ランタイム・アプリケーションにエクスポートして戻すことはできます。タスク・フローのインポート、変更およびエクスポートの手順は、マッシュアップ・スタイルのものと同じです。このため、この項で示したエクスポート、インポート、および編集の各タスクは、タスク・フローおよびマッシュアップ・スタイルに適用できます。

カスタム・タスク・フローの追加とエクスポートの詳細は、第13.3項「ポータルへのカスタム・タスク・フローの追加」を参照してください。


この項では、マッシュアップ・スタイルを作成して、それが実行時に公開されるように構成する方法を説明します。この項の内容は、次のとおりです。

12.4.1 マッシュアップ・スタイルを作成する方法

マッシュアップ・スタイルの作成は、タスク・フローの作成と同じですが、マッシュアップ・スタイルは、実行時にタスク・フローを作成するためのテンプレートとして使用することのみを目的として作成します。マッシュアップ・スタイルをリソース・マネージャで公開した場合にのみ、それらを実行時に使用できます。

ポータル・リソースとして公開するマッシュアップ・スタイルの要件

リソース・マネージャでマッシュアップ・スタイルを公開するには、マッシュアップ・スタイルをJDeveloperで作成する際に次の要件を考慮に入れる必要があります。

  • /oracle/webcenter/portalappディレクトリ内にタスク・フロー定義XMLファイルを作成します。マッシュアップ・スタイル用のサブディレクトリ(たとえば、mashupstyles)を作成することも、portalappディレクトリにマッシュアップ・スタイルを直接保存することもできます。

  • マッシュアップ・スタイルとして使用するタスク・フローにはビュー・フラグメントを1つのみ作成し、このJSFFビュー・フラグメントにページ定義を作成します。

  • コンポーザ・タグ・ライブラリからビュー・フラグメントにPanel Customizableコンポーネントを追加します。これによって、このマッシュアップ・スタイルに基づくタスク・フローに、実行時に値を移入できるようになります。

例12-9は、サンプルのマッシュアップ・スタイルのコードを示しています。このマッシュアップ・スタイルは、バグ詳細データベースからレコードをアクティビティ・ストリーム形式でリスト表示できるようにします。このスタイルは、アクセス先のデータ・ソースのナレッジおよびデータ・ソースで使用可能な列に基づいて作成されます。この例について、次に説明します。

  • dataPresenter.dummyData.collectionModelは、マッシュアップ・スタイルを実行時に使用する場合に、該当するデータ・コントロール参照に置換する必要があるNULLのデータ・ソースです。

  • #{row.COLUMN}エントリは、マッシュアップ・スタイルの使用時にデータ・コントロールからデータ列を参照するプレースホルダです。

  • #{empty row.COLUMN ?'#{row.COLUMN}' : row.COLUMN}は、dataPresenter.dummyData.collectionModelが置換され、データが適切にバインドされるまで、このマッシュアップ・スタイルを使用して作成されるタスク・フローに#{row.COLUMN}を表示するために使用します。このような構成を使用することによって、このマッシュアップ・スタイルから作成されたタスク・フローから、ユーザーが使用可能なデータ・スロットに関するヒントを確実に受け取れるようになります。

例12-9 サンプル・マッシュアップ・スタイル

<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
          xmlns:pe="http://xmlns.oracle.com/adf/pageeditor"
          xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
  <af:panelGroupLayout id="pgl1">
    <cust:panelCustomizable id="pc1">
      <table border="0" width="100%">
        <af:iterator id="i1"
                     value="#{dataPresenter.dummyData.collectionModel}"
                     var="row">
        <tr class="PortletText1">
          <td width="16px"> 
            <af:image id="img1"
                       source="http://abc.mycompany.com:80/webcenter/content/conn/UCM/Public/images/wiki/#{row.IMAGE}"/>
          </td>
          <td>
           <af:outputText id="otCol1"
                          value="#{empty row.PLAYER1 ? '#{row.PLAYER1}' : row.PLAYER1}"
                          inlineStyle="color:#333333; font-size:12px; font-weight:bold;"/>
           <af:spacer id="spacer1" width="5px"/>
           <af:outputText id="otCol2"
                          value="#{empty row.MESSAGE ? '#{row.MESSAGE}' : row.MESSAGE}"
                          inlineStyle="color:#333333; font-size:12px;"/>
                  <af:spacer id="spacer2" width="5px"/>                                                              
          <af:goLink id="gl1"
                       destination="https://bug.mycompany.com/pls/bug/webbug_edit.edit_info_top?rptno=#{empty row.RPTNO ? '#{row.RPTNO}' : row.RPTNO}"
                       targetFrame="_blank"
                       text="#{empty row.RPTNO ? '#{row.RPTNO}' : row.RPTNO"/>
          </td>
        </tr>
        <tr>
          <td></td>
          <td>
            <af:outputText id="otCol3"
                           value=""#{empty row.BUG_SUBJECT ? '#{row.BUG_SUBJECT}' : row.BUG_SUBJECT}"
                           inlineStyle="color:#666666; font-size:12px;"/>
          </td>
        </tr>
        <tr>
          <td></td>
          <td>
            <af:outputText id="otCol4"
                           value="#{empty row.TIMEOFDAY ? '#{row.TIMEOFDAY}' : row.TIMEOFDAY}"
                           inlineStyle="color:#666666; font-size:10px;"/>
          </td>
        </tr>
        </af:iterator>
      </table>
    </cust:panelCustomizable>
  </af:panelGroupLayout>
</jsp:root>

ADFタスク・フローの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFタスク・フローの作成に関する項を参照してください。

12.4.2 マッシュアップ・スタイルの実行時管理を有効にする方法

リソース・マネージャでマッシュアップ・スタイルを公開することによって、管理者はそれらのスタイルを管理したり、スタイルに基づいてタスク・フローを作成したりできるようになります。選択したマッシュアップ・スタイルをJDeveloperからエクスポートして、管理者が実行時にそれらのスタイルを変更したり削除したりできるようにすることも可能です。

マッシュアップ・スタイルの実行時管理は、ページ・スタイルの管理と同様です。詳細は、Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイドのページ・スタイル・リソースの使用に関する項を参照してください。


注意:

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


マッシュアップ・スタイルをリソース・マネージャで公開するには、アプリケーションのgeneric-site-resources.xmlファイルにそのマッシュアップ・スタイルの有効なエントリが必要です。タスク・フロー定義のXMLファイルの、ポップアップ・メニューの次のオプションを使用して、リソース・マネージャでマッシュアップ・スタイルを登録または登録解除します。


注意:

/oracle/webcenter/portalappディレクトリにマッシュアップ・スタイルを作成した場合にのみ、ポップアップ・メニューにリソース・マネージャ固有のオプションが表示されます。


  • ポータル・リソースの作成: generic-site-resources.xmlファイルにマッシュアップ・スタイルのエントリを作成します。

    エントリの作成時には、表12-2に示している属性を設定する必要があります。この表に示した属性は、マッシュアップ・スタイルに固有のものです。すべてのリソースに共通の汎用手順は、第17.2.1項「リソースをリソース・マネージャに追加する方法」を参照してください。

    表12-2 マッシュアップ・スタイルのプロパティ

    プロパティ 説明

    表示名

    スタイルの表示名。

    リソース・タイプ

    公開されるリソースのタイプ。ここではMashup Styleを選択する必要があります。

    アイコンURL

    「タスク・フローの新規作成」ダイアログにマッシュアップ・スタイル名とともに表示するイメージへのパス。

    これはオプション設定です。このイメージがクラスパスに含まれており、実行時にアクセスできる必要があります。

    説明

    マッシュアップ・スタイルの説明。


  • ポータル・リソースの更新: マッシュアップ・スタイルのエントリの作成時に定義した属性を編集します。詳細は、第17.2.3項「ポータル・リソースのプロパティを更新する方法」を参照してください。

  • ポータル・リソースの削除: generic-site-resources.xmlファイルから、マッシュアップ・スタイルのエントリを削除します。詳細は、第17.2.4項「リソースをリソース・マネージャから削除する方法」を参照してください。

12.4.3 デプロイ済アプリケーションでのマッシュアップ・スタイルのさらなる開発を有効にする方法

シード済マッシュアップ・スタイルをリソース・マネージャで変更または削除することはできません。ただし、管理者権限のあるユーザーは、シード済マッシュアップ・スタイルのコピーを作成してそのプロパティを編集したり、コピーを削除したりできます。

リソース・マネージャの「ソースの編集」オプションを使用すると、ユーザーは、コピーしたマッシュアップ・スタイルまたはカスタムのマッシュアップ・スタイルのコンテンツを実行時に変更できます。ただし、テキスト編集は実行時ソース・エディタよりJDeveloperで行う方が簡単なため、ユーザーは、マッシュアップ・スタイルをダウンロードして、それをJDeveloperで編集し、デプロイ済アプリケーションにアップロードして戻すことを選択できます。設計時に、このタイプのラウンドトリップ開発には、ダウンロードしたマッシュアップ・スタイルのインポート、JDeveloperでの編集、およびデプロイ済アプリケーションにアップロードして戻すためのエクスポートが含まれます。

この項では、JDeveloperでマッシュアップ・スタイルをエクスポートおよびインポートする方法について説明します。

12.4.3.1 マッシュアップ・スタイルのインポート

リソース・マネージャからマッシュアップ・スタイルをダウンロードすると、次のオブジェクトが含まれるEARファイルが作成されます。

  • タスク・フロー定義ファイル

  • ビュー・フラグメントJSFFファイル

  • ビュー・フラグメント・ページ定義ファイル

  • generic-site-resources.xmlファイル

  • マッシュアップ・スタイルによって参照されるコンテンツ・ディレクトリ。デフォルトでは、このディレクトリはoracle/webcenter/siteresources/scopedMD/sharedです。sharedディレクトリにコンテンツが含まれない場合、EARファイルにこのフォルダが含まれることはありません。

generic-site-resources.xmlファイルには、インポートされるリソースのタイプの特定に役立つメタデータが含まれます。マッシュアップ・スタイルをランタイム・アプリケーションにエクスポートして戻すときにも、このメタデータが使用されます。

JDeveloperにEARファイルをインポートする際には、EARのファイルは、フォルダApplication_Root/Portal/public_html/oracle/webcenter/siteresources/scopedMD/<scope_GUID>に抽出されます。設計時の他のタスク・フローと同じように、マッシュアップ・スタイルを開いて編集できます。編集後に、更新済のマッシュアップ・スタイルをランタイム・アプリケーションにエクスポートする必要があります。


注意:

JDeveloperで実行時マッシュアップ・スタイルを更新しているときに、アイコンURLがアプリケーションのクラスパスの場所を指していると、APPLICATION_ROOT/oracle/webcenter/siteresources/scopedMDディレクトリにアイコンを配置するよう求めるエラー・メッセージが表示される場合があります。マッシュアップ・スタイルの更新を続行するには、アイコンURLにNULL値を指定し、マッシュアップ・スタイルのアップロード後の実行時に適切な値に置換します。


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

12.4.3.2 マッシュアップ・スタイルのエクスポート

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

  • すでにデプロイしたアプリケーションで新規マッシュアップ・スタイルを公開する。

  • デプロイしたアプリケーションからインポートして変更したマッシュアップ・スタイルをコピーして戻す。

マッシュアップ・スタイルをJDeveloperからエクスポートすると、タスク・フロー定義ファイル、ビュー・フラグメントJSFF、ビュー・フラグメント・ページ定義ファイル、generic-site-resources.xmlファイルおよびマッシュアップ・スタイルに使用するイメージが含まれるsharedフォルダが含まれるEARファイルが作成されます。管理者権限のあるユーザーは、リソース・マネージャを使用して、このEARファイルをデプロイ済アプリケーションにアップロードできます。アップロード後は、そのマッシュアップ・スタイルを管理したり、タスク・フローの作成に使用したりできます。

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

12.4.4 Spacesのマッシュアップ・スタイルを作成および管理する方法

Spacesには、そのまま使用できるシード済マッシュアップ・スタイルがいくつか用意されています。これらのデフォルトのスタイルが要件に適さない場合には、Spaces内で独自のマッシュアップ・スタイルを作成できます。詳細は、Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイドの「マッシュアップ・スタイルの使用」の章を参照してください。

ただし、Spacesでは、必要とするすべての機能を備えたマッシュアップ・スタイルを作成するためのコントロール機能がすべて提供されていない可能性があります。そのような場合は、JDeveloperで独自のマッシュアップ・スタイルを作成してから、それをSpacesにアップロードできます。Spacesから既存のマッシュアップ・スタイルをダウンロードして、それをJDeveloperで編集した後か、いずれかのサンプル・マッシュアップ・スタイルを起点として使用した後に、Spacesにアップロードして戻すこともできます。

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

マッシュアップ・スタイルの作成および編集の主要タスクは、FrameworkアプリケーションとSpacesアプリケーションで同じです。マッシュアップ・スタイルを作成する手順は、第12.4.1項「マッシュアップ・スタイルを作成する方法」を参照してください。

マッシュアップ・スタイルの一般的な前提条件は、「ポータル・リソースとして公開するマッシュアップ・スタイルの要件」を参照してください。