Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド 11g リリース1 (11.1.1.7.0) B72084-02 |
|
前 |
次 |
ポータルの構築時は、ポータルのルック・アンド・フィールを決定することが重要です。また、ルック・アンド・フィールがポータル全体で整合性を持つようにするとよいです。ポータル・ページ全体にわたるこの種類の整合性は、ページ・テンプレートおよびページ・スタイルを使用して実現できます。
この章では、ページ・テンプレートおよびページ・スタイルの作成と管理に関する情報を提供します。また、実行時にタスク・フローを作成する際に使用できるマッシュアップ・スタイルを作成する方法について説明します。次のサブセクションが含まれます:
ページ・テンプレートでは、ユーザーの画面に個々のページおよびページ・グループをどのように表示するかが定義されます。ページ・テンプレートを使用してページを表示する場合、それらのページでは常に、アプリケーション全体の構造およびレイアウトにおいて整合性が確保されます。たとえば、「サイド・ナビゲーション - フロー」ページでは、ページの左側にナビゲーション・パネルが表示され、メイン・コンテンツ領域内の各コンポーネントのサイズは、その子のサイズに基づいて計算されます。
一方、ページ・スタイルでは、ポータルの新しいページについて、レイアウトや(場合によっては)初期コンテンツが決定されます。たとえば、Webページ・スタイルには1列のレイアウトがあり、このスタイルを使用すると、ユーザーはアプリケーションに外部Webコンテンツを公開できます。また、空白のページ・スタイルには1列のレイアウトがあり、このスタイルに基づいたページにユーザーが追加できるコンテンツのタイプにいくつかの制限が設けられます。
ページ・テンプレートおよびページ・スタイルは、JDeveloperで作成および公開できるJSPXページです。ページ・テンプレートは、設計時および実行時のポータル・ページ作成に使用できる一方、ページ・スタイルは、実行時のページ作成にのみ使用できます。この項では、設計時に作成できる様々なページ・テンプレートおよびページ・スタイルについて説明します。次のサブセクションが含まれます:
注意: スキンも、アプリケーションの背景色、画面フォント、および一部のスキンの場合のアプリケーションのボタンとアイコンに使用する図形やイメージを指定することによって、ポータルのルック・アンド・フィールの定義に使用できます。ただし、スキンについては、この章では説明していません。詳細は、第14章「スキンの作成および管理」を参照してください。 |
ページ・テンプレートでは通常、ポータル・アプリケーションのページのレイアウトおよびデフォルトのナビゲーション・モデルが定義されます。ページ・テンプレートは、共通のルック・アンド・フィールを提示します。図11-1に、ページ・テンプレートに基づくサンプル・ポータルを示します。このサンプルの内容は次のようになります。
会社ロゴが表示され、サインイン、カスタマ・サービスおよびホームのリンクが含まれるヘッダー。
ポータル内の別のリソースにアクセスするためのデフォルトのタブ・ナビゲーション。
ログイン・タスク・フローといくつかの便利なリンクが備わったサイドバー。
著作権情報といくつかの免責事項が記載されたフッター。
コンテンツを追加するための中央領域。
ページ・テンプレートは、参照ベースであり、継承を使用します。つまり、ページ・テンプレートを変更すると、そのテンプレートを参照するすべてのページで自動的にその変更が継承されます。JDeveloperでページ・テンプレートを作成および公開でき、設計時と実行時の両方で、ページの作成に使用できます。図11-2に示すように、設計時に「JSFページの作成」ダイアログでページ・テンプレートを選択できます。
図11-3で示しているように、実行時には、アプリケーションの「構成」ページでページ・テンプレートを選択することによって、そのページ・テンプレートを適用できます。
図11-4で示しているように、管理者または受任者は、公開されたページ・テンプレートをリソース・マネージャで管理できます。
詳細は、第11.2項「ページ・テンプレートの使用」を参照してください。
ページ・スタイルは、実行時に作成するページに使用するJSPXページです。ページ・スタイルには、新規作成されたページのレイアウトが示され、ページでサポートされるコンテンツ・タイプも示される場合があります。
ユーザーがページ・スタイルを使用してページを作成する場合、レイアウトと初期コンテンツが、ページ・スタイルから新規作成されたページにコピーされます。ページ・テンプレートとは異なり、ページ・スタイルは参照ベースではありません。つまり、ページ・スタイルを変更しても、その変更は、スタイルを使用するページに継承されません。
通常、ページ・スタイルには、指定したページの有用性と外観を強化するコンポーネントが含まれます。これらのコンポーネントには、インプレースHTMLテキスト・エディタ、イメージ、レイアウト・ボックス、ハイパーリンクなどが含まれます。コンテンツ・コントリビュータを使用すると、ページにコンテンツをさらに移入できます。図11-5は、ページ・スタイルに基づいたポータル・ページのサンプルを示しています。
JDeveloperでページ・スタイルを作成できますが、それらのページ・スタイルは、実行時にページを作成する際にのみ使用されます。アプリケーションで公開するページ・スタイルは、次のように使用および管理できます。
図11-6で示しているように、管理者または受任者は、公開されたページ・スタイルをリソース・マネージャで管理できます。
ユーザーは、使用可能なページ・スタイルに基づいてページを作成できます。リソース・マネージャでは、「ページの作成」オプションを使用できます。このオプションは、ページ - 新規作成
タスク・フローが含まれるその他のアプリケーション・ページでも使用できます。ユーザーが「ページの作成」オプションをクリックすると、図11-7に示しているように、「ページの作成」ダイアログに一連の事前定義済スタイルが表示されます。ユーザーは、スタイルを選択し、それに基づいてページを作成できます。レイアウトが新規ページにすでに配置されているため、ユーザーはページの様々な領域にコンテンツを追加するだけです。
JDeveloperでページ・スタイルを作成する手順の詳細は、第11.3項「ページ・スタイルの使用」を参照してください。実行時のページ・スタイル管理の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページ・スタイルの使用に関する項を参照してください。
マッシュアップ・スタイルは、ページ・スタイルとさほど違いはありませんが、タスク・フローを作成するために実行時に使用される点が異なります。またビジネス・マッシュアップとも言われます。
マッシュアップ・スタイルは、マッシュアップを作成するために実行時にのみ使用されますが、JDeveloperで作成および公開することができます。詳細は、第11.4項「マッシュアップ・スタイルの使用」を参照してください。
図11-8で示しているように、管理者または受任者のみが、公開されたマッシュアップ・スタイルを実行時リソース・マネージャで作成および管理できます。
マッシュアップ・スタイルは、「新規タスク・フローの作成」ダイアログ・ボックス(図11-9)に表示されます。このボックスは、「リソース・マネージャ - タスク・フローでの作成」ページをクリックすると起動します。ユーザーは、そのスタイルに基づいて、スタイルを選択してマッシュアップを作成できます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のタスク・フローの作成と管理に関する項を参照してください。
コンテンツ・プレゼンタ表示テンプレートは、コンテンツ・プレゼンタがFrameworkアプリケーション・ページでコンテンツ・アイテムをレンダリングする方法の定義に使用されます。ページ・スタイルおよびマッシュアップ・スタイルと同様に、コンテンツ・プレゼンタ・テンプレートも、リソース・マネージャで実行時に管理できます。これらのテンプレートについては、この章では説明していません。詳細は、第28章「コンテンツ・プレゼンタ表示テンプレートの作成」を参照してください。
「JSFページの作成」ダイアログで、任意の数のカスタム・ページ・テンプレートを作成して、それらをユーザーに公開できます。この項では、ページ・テンプレートの作成およびページ・テンプレートの実行時管理の有効化に関する情報を提供します。次のサブセクションが含まれます:
WebCenter Portalアプリケーション・テンプレートを使用してアプリケーションを作成するときに、「標準ポータル機能のアプリケーションの構成」オプションを選択した場合、2つのシード済テンプレートpageTemplate_globe.jspx
およびpageTemplate_swooshy.jspx
がアプリケーションに追加されます。
これらのテンプレートは双方とも、基本的に同じ機能を提供しますが、グラフィックは異なります。これらのテンプレートには、次の機能が含まれます。
ポータルのホーム・ページへのリンク
タグ・ライン
ようこそメッセージ
シード済「管理」ページへのリンク
ユーザーのログイン時にログアウト・リンクに変換されるログイン領域
ナビゲーション・バー
テンプレートに基づいてページにコンテンツを追加するための領域
著作権情報
図11-11に、前述の各機能がコールアウトされるpageTemplate_globe.jspx
ページ・テンプレートを示します。
特定の要件を満たすようにこのデフォルトのページ・テンプレートを編集することも、さらに一般的には、独自のページ・テンプレートを作成することもできます。独自のページ・テンプレートの作成を選択した場合でも、シード済ページ・テンプレートは、独自のテンプレートで実現できる様々なものを見つける際に役立つツールです。
WebCenterアプリケーションに固有のページ・テンプレートの側面については、次の項で説明しています。JSFページ・テンプレートの一般情報は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のページ・テンプレートの使用に関する項を参照してください。
ページ・テンプレートを作成するには:
アプリケーション・ナビゲータで、ページ・テンプレートを作成するノード(たとえば、/oracle/webcenter/portalapp/pagetemplates
)を右クリックし、「新規」を選択します。
「新規ギャラリ」で、「Web層」を開き、「JSF」を選択して、「JSFページ・テンプレート」を選択し、「OK」をクリックします。
「JSFページ・テンプレートの作成」ダイアログ(図11-12)で、「ファイル名」フィールドに、ページ・テンプレートを表すJSPXファイルの名前(myCompanyPageTemplate.jspx
など)を入力します。
このファイル名によって、アプリケーション・ナビゲータでページ・テンプレートが識別されます。
「ディレクトリ」フィールドに、ページ・テンプレートを作成する場所のフル・ディレクトリ・パスを入力します。
注意: WebCenter Portalアプリケーションにおいて、実行時リソース・マネージャで新規ページ・テンプレートを公開するには、ページ・テンプレートを |
「ページ・テンプレート名」フィールドに、ページ・テンプレートの表示名を入力します。
表示名は、JSFページの作成ウィザードの「ページ・テンプレート」ドロップダウン・リストに表示され、ユーザーがこのテンプレートを選択して新規作成ページに使用できるようになります。このため、このテンプレートの使用対象のページ・タイプをユーザーが簡単に識別できるようなページ・テンプレート名にする必要があります。
ページ・テンプレートとして、いずれかの事前定義済レイアウトを使用する場合は、「クイック・スタート・レイアウトの使用」を選択します。
ページ・テンプレートにADFm Modelデータ・バインディングを使用する場合は、「関連ADFmページ定義の作成」を選択します。
ページ定義をページ・テンプレートに関連付けると、モデル要素が含まれるオブジェクト(タスク・フローやポートレットなど)をページ・テンプレートに組み込むことができるようになります。また、ユーザーは、実行時に別のページ・テンプレートに切り替えることができるようになります。
注意: シード済ページ・テンプレートにはすべて関連ページ定義があるため、WebCenter Portalアプリケーションでページ・テンプレートを作成する場合はこのオプションを選択することを強くお薦めします。アプリケーション内では、すべてのページ・テンプレートに関連ページ定義があるか、それとも関連ページ定義があるページ・テンプレートはないかのいずれかである必要があります。 関連ページ定義のあるページ・テンプレートと、関連ページ定義のないページ・テンプレートを組み合せると、ユーザーは実行時にテンプレートを切り替えることができなくなります。 |
このオプションを選択したら、「モデル・パラメータ」タブをクリックして、「新規」アイコンをクリックし、ADFm宣言データ・バインディング・レイヤーで設定されるデータ・バインドされたコンポーネントにモデル・パラメータを定義できます。これらのパラメータの値は、コール元のページによって実行時に設定できます。
注意: デフォルトで、ページ・テンプレート定義名は、ページ・テンプレート名に基づいて付けられます。ページ定義を別の名前で作成しないでください。 |
「ファセット定義」タブをクリックして、ページ・テンプレートを使用して作成したページにコンテンツを挿入できるようにする、ページ・テンプレート内の領域を定義します。WebCenter Portalアプリケーションでの使用が意図されたページ・テンプレートには、content
というファセット定義を少なくとも1つは含める必要があります。
「新規」アイコンをクリックして、「ファセット定義」タブに新規行を追加します。
新規ファセット定義の「名前」フィールドに、content
と入力します。
「説明」フィールドに、たとえばMain content area
など、ファセット定義の簡単な説明を入力します。
必要に応じて、追加のファセット定義を作成します。
ページ・テンプレート内の必要な場所にファセットを追加する方法は、手順12を参照してください。
例11-1に、pageTemplate_globe.jspx
シード済WebCenter Portalアプリケーション・ページ・テンプレートの<af:xmlContent>
セクションのcontent
ファセット定義を示します。
例11-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>
「属性」タブをクリックして、「新規」アイコンをクリックし、テンプレートを使用するページからテンプレート自体に値を渡すための属性を定義します。これらの値をページ・テンプレートで使用することにより、テンプレートを使用する個々のページに実際に表示されるものを制御できるようになります。
たとえば、pageTemplate_globe.jspx
WebCenter Portalアプリケーション・シード済ページ・テンプレートには、シード済「管理」ページへのリンクが含まれます。現行ページが「管理」ページである場合、リンクの表示は必要ありません。テンプレートでは、isAdminPage
という属性を使用して、現行ページがシード済「管理」ページかどうかが識別されます。この属性の値は、テンプレートを使用するページによって設定され、「管理」ページへのリンクを表示するかどうかを判別します。
例11-2に、ページ・テンプレートのisAdminPage
属性定義を示します。
例11-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>
例11-3は、シード済「管理」ページにリンクをレンダリングするかどうかを指定するisAdminPage
属性の値を使用するページ・テンプレートを示しています。
例11-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;"/>
例11-4は、シード済「管理」ページでisAdminPage
属性をtrue
に設定して、ユーザーが「管理」ページを表示するときにページ・テンプレートでリンクがレンダリングされないようにする方法を示しています。
例11-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>
「OK」をクリックします。
ページ・テンプレートが作成され、ビジュアル・エディタで開かれます。
コンポーネント・パレットからコンポーネントをドラッグして、ビジュアル・エディタ内のページ・テンプレートにドロップします。
ナビゲーションUIは、ページ・テンプレートの重要な側面です。ナビゲーションUIをページ・テンプレートに追加する処理の詳細は、第13章「ポータル・ナビゲーションの視覚化」を参照してください。
ポートレット、タスク・フロー、コンテンツなど、その他のリソースをページ・テンプレートに追加する処理の詳細は、第12章「ポータルへのリソースの追加」を参照してください。
ページ・テンプレートで提供できるその他の機能として、ログイン/ログアウトや検索のフィールドがあります。シード済ページ・テンプレートには、ログイン・フォームの例が含まれています。
ページ・テンプレート全体で、式言語(EL)式を使用して、定数値のかわりに変数値を指定できます。一般的なEL式については、付録F「式言語式」を参照してください。
ユーザーがページ・テンプレートに基づいたページに独自のコンテンツを配置できるページ・テンプレート内の領域について、次の操作を行います。
コンポーネント・パレットから「FacetRef」コンポーネントをドラッグし、ページ・テンプレート内の該当する場所にそれをドロップします。
ファセット参照の挿入ダイアログで、ファセット名ドロップダウン・リストから、ページ・テンプレートのこの領域に使用するファセットを選択します。新しいファセット名を入力する場合、JDeveloperでは、ページ・テンプレート定義ファイルに新しいファセット定義を作成します。
例11-5は、pageTemplate_globe.jspx
WebCenter Portalアプリケーション・シード済ページ・テンプレートにコンテンツ・ファセットが組み込まれる方法を示しています。
WebCenter Portalアプリケーションで使用するためにページ・テンプレートを作成する場合、次を考慮してください。
ページ・テンプレートをリソース・マネージャで必ず公開できるように、/oracle/webcenter/portalapp
ディレクトリ内にページ・テンプレートのJSPXファイルを作成します。すぐに使用できるように、ページ・テンプレートを格納できるpagetemplates
サブディレクトリがすでに用意されています。
シード済ページ・テンプレートは、独自のページ・テンプレートに組み込むことができる機能の例が用意されている貴重なソースです。シード済ページ・テンプレートに基づいてページ・テンプレートを作成するのではない場合でも、シード済ページ・テンプレートはアイデアをつかむ上で検討に値します。たとえば、シード済ページ・テンプレートには、再利用できるログイン・フォームが含まれています。シード済ページ・テンプレートには、ナビゲーションUIの有用な例も含まれています。
「ページ・テンプレートの作成」ダイアログで、「関連ADFmページ定義の作成」オプションを選択する必要があります。このオプションを選択しないと、ユーザーが実行時にページ・テンプレートを切り替えることができなくなります。ページ・テンプレートの切替えが機能するように、次のいずれかの条件を満たす必要があります。
アプリケーション内のすべてのページ・テンプレートに関連ページ定義があります。
アプリケーション内のいずれのページ・テンプレートにも関連ページ定義がません。
このため、WebCenter Portalアプリケーション・テンプレートで提供されるシード済ページ・テンプレートには関連ページ定義があるので、ページ・テンプレートの切替えが機能するように、このアプリケーション内で作成する他のページ・テンプレートにもページ・テンプレートの関連ページ定義を指定する必要があります。
ページ・テンプレートには少なくとも1つのファセット定義を含める必要があり、そのファセット定義の名前をcontent
にする必要があります。
ページ・テンプレートによって参照されるナビゲーション・モデルに、mailto:
リンクを使用する外部リンク・ナビゲーション・アイテムが含まれる場合、ページ・テンプレートではこれらのアイテムを明示的に処理する必要があります。例11-6では、JSTLを使用してナビゲーション・アイテムのexternalURL
を調査し、これが文字列mailto:
で開始しているかどうかを確認しています。その文字列で開始している場合は、ADF Faces goLink
コンポーネントを使用してリンクがレンダリングされます。
ページ・テンプレートに、コンテンツ・アイテムを表示するためのコンテンツ・プレゼンタ・タスク・フローが含まれている場合、次のように、コンテンツが表示されるよう、そのタスク・フローのプロパティを手動で変更する必要があります。
datasource
: connection_name
#dDocName:content_ID
datasourceType
: dsTypeSingleNode
taskFlowInstId
: 一意の識別子
コンテンツ・プレゼンタ・タスク・フローの詳細は、表30-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">
ページの作成時に、そのページで使用する特定のページ・テンプレートを選択します。これによって、ページ・テンプレートへの静的参照が、ページの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式を使用してページ・テンプレートの実行時切替えを有効にすることもできます。
注意: ページ・テンプレート間の実行時の切替えは、ページ定義が関連付けられた状態でページ・テンプレートが作成されている場合にのみ可能です。 |
ページ・テンプレートの実行時切替えを有効にするには:
アプリケーション・ナビゲータで、ページのJSPXファイルを右クリックし、「開く」を選択します。
「ソース」タブをクリックします。
次のコードを置き換えます。
<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>
JSPXページを右クリックし、「ページ定義に移動」を選択します。
「ソース」タブをクリックします。
次のコードを置き換えます。
<page path="pathToPageTemplatePageDef" id="pageTemplateBinding" Refresh="ifNeeded"/>
置換後:
<page viewId="${preferenceBean.defaultPageTemplate}"
id="pageTemplateBinding" Refresh="ifNeeded"/>
アプリケーション・ナビゲータの「アプリケーション・リソース」ペインで、adf-config.xml
ファイルを右クリックして、「開く」を選択します。
ヒント:
|
「ソース」タブをクリックします。
次のIDを使用して、ADFプリファレンスを見つけます。
oracle.webcenter.portalapp.pagetemplate.pageTemplate
ページに適用するページ・テンプレートに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"/>
ページ・テンプレートの初期作成後に、そのページ・テンプレートに変更を加えることができます。加えるすべての変更が、そのページ・テンプレートを使用するすべてのページに自動的に公開されます。
ページ・テンプレートを編集するには:
編集するページ・テンプレートを特定します。
ページ・テンプレートを右クリックし、「開く」を選択します。
ビジュアル・エディタで、ページ・テンプレートのレイアウトやコンテンツに変更を加えます。
新規ファセット定義または属性を追加するには、「構造」ウィンドウでaf:pageTemplateDef
タグを選択して、プロパティ・インスペクタを使用します。
ページ・テンプレート定義ファイルを保存します。
反復開発が有効な場合、ページ・テンプレートに加えた変更はすべて実行中アプリケーションですぐに確認できます。反復開発の詳細は、第1.5項「反復開発の準備」を参照してください。
ページ・テンプレートがポータル内で必要ではなくなった場合、それを削除できます。ページ・テンプレートを削除する際に、そのページ・テンプレートへの直接参照があるページを実行しようとすると、例外が発生します。
ページ・テンプレートを削除するには:
削除するページ・テンプレートを特定します。
ページ・テンプレートを右クリックし、「削除」を選択します。
「削除の確認」ダイアログによって、アプリケーション内でそのページ・テンプレートが使用されているかどうかが識別されます。詳細を表示するには、「使用方法の表示」をクリックします。
この情報を使用して、テンプレートを本当に削除するのかどうかを決断できます。
続行してページ・テンプレートを削除する場合は、「はい」をクリックします。操作を取り消す場合は、「いいえ」をクリックします。
WebCenter Portalアプリケーションのリソース・マネージャを使用すると、管理権限のあるユーザーは、ページ・テンプレートなどのポータル・リソースを実行時に作成および変更できるようになります。リソース・マネージャでページ・テンプレートを公開することによって、管理者はそれらのテンプレートを実行時に管理できるようになります。アプリケーションのデプロイ後にさらにページ・テンプレートを作成して公開する場合には、JDeveloperからランタイム・アプリケーションにそれらのページ・テンプレートをエクスポートできます。
注意: 実行時にページ・テンプレートを作成した場合に、設計時環境にインポートして戻さないときは、新規ページ・テンプレートがアプリケーションの再デプロイ時に失われることがあります。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』のリソース・カスタマイズの保存に関する項を参照してください。 |
リソース・マネージャでページ・テンプレートを公開するには、第16.2.1項「リソースをリソース・マネージャに追加する方法」を参照してください。
ページ・テンプレートの実行時機能の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページ・テンプレートの使用に関する項の章を参照してください。
シード済ページ・テンプレートをリソース・マネージャで変更または削除することはできません。ただし、管理権限のあるユーザーは、シード済ページ・テンプレートのコピーを作成してそれを編集または削除することも、独自のページ・テンプレートを作成することもできます。
ユーザーがページ・テンプレートを実行時に作成または編集する場合は、さらなる拡張のためにJDeveloperにページ・テンプレートを戻す必要があることがあります。これを実行するには、デプロイ済アプリケーションからページ・テンプレートをダウンロードし、JDeveloperで編集して、アプリケーションにアップロードして戻します。設計時、このタイプのラウンドトリップ開発には、ダウンロードしたページ・テンプレートのインポート、JDeveloperでの編集、およびデプロイ済アプリケーションにアップロードして戻すためのエクスポートが含まれます。
また、アプリケーションのデプロイ後に新規ページ・テンプレートを作成した場合、JDeveloperからそのページ・テンプレートをエクスポートして、それをデプロイ済アプリケーションにアップロードできます。
この項では、JDeveloperでページ・テンプレートをインポートおよびエクスポートする方法について説明します。次のサブセクションが含まれます:
ラウンドトリップ開発の詳細は、第16.4項「リソースのラウンドトリップ開発の有効化」を参照してください。
リソース・マネージャからページ・テンプレートをダウンロードすると、EARファイルが作成されます。JDeveloperにEARファイルをインポートする際には、EARファイルのファイルは、フォルダApplication_Root
/Portal/public_html/oracle/webcenter/siteresources/scopedMD/scope_GUID
に抽出されます。設計時の他のページ・テンプレートと同じように、そのページ・テンプレートを開いて編集できます。編集後に、更新済のページ・テンプレートをデプロイ済アプリケーションにエクスポートする必要があります。
リソースのインポートの詳細な手順は、第16.4.2項「ポータル・リソースをJDeveloperにインポートする方法」を参照してください。
次の理由でエクスポートの実行が必要になります。
すでにデプロイしたアプリケーションで新規ページ・テンプレートを公開します。
デプロイしたアプリケーションからインポートして変更したページ・テンプレートをコピーして戻します。
JDeveloperからページ・テンプレートをエクスポートすると、EARファイルが作成されます。管理者権限のあるユーザーは、この後、リソース・マネージャを使用してこのEARファイルをデプロイしたアプリケーションにアップロードできます。アップロード後は、そのページ・テンプレートを管理したり、アプリケーション・ページの作成に使用したりできます。
リソースのエクスポートの詳細な手順は、第16.4.3項「ポータル・リソースをJDeveloperからエクスポートする方法」を参照してください。
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にアップロードする際に利用できます。第55章「JDeveloperを使用したSpacesアプリケーションの拡張」には、サンプルのワークスペースの場所、およびWebCenterSpacesResources
プロジェクトを使用してカスタムのページ・テンプレートやWebCenter Portal: Spacesのその他のタイプのリソースを作成する方法が記載されています。詳細は、第55章「JDeveloperを使用したSpacesアプリケーションの拡張」を参照してください。
WebCenter Portal: Spacesで使用するためにページ・テンプレートをJDeveloperで作成または編集する場合、次を考慮してください。
ページ・テンプレートには、content
というファセット定義を含める必要があります。
ページ・テンプレートには、class="WCPGTEMPLATE"
と指定されたUIコンポーネントを少なくとも1つ含める必要があります。スキンを実行時に編集することによって、基本タブでテンプレートの背景をターゲットにすることができますが、それは現行スタイルによります。
ページ・スタイルは、JSPXページです。「ページの作成」ダイアログで、任意の数のカスタム・ページ・スタイルを作成して、それらをユーザーに公開できます。この項では、ページ・スタイルの作成およびページ・スタイルの実行時管理の有効化に関する情報を提供します。次の項が含まれます:
ページ・スタイルを最初から作成することも、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; } }
第18.6.1項「実行時に作成したページ用のテンプレートを作成する方法」に、ページ・スタイル作成方法の詳細を示しています。
例11-7に、サンプル・ページ・スタイル/oracle/webcenter/portalapp/pages/pageStyles/TemplateFlowingTwoColumn.jspx
のコードを示します。このコードにより、35パーセントと65パーセントの割合で2つの列を送り提供するように設計される基本ページが作成されます。例11-8に、関連するページ定義ファイル/oracle/webcenter/portalapp/pages/pageStyles/TemplateFlowingTwoColumnPageDef.jspx
を示します。
関連項目: 第18.3.4.2項「カスタム・スタイル」には、カスタムのページ・スタイルおよびそれらのページ定義を格納できる場所、およびそれらのスタイルが実行時に「ページの作成」ダイアログに必ず表示されるようにする方法に関する情報が示されています。 |
例11-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>
例11-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>
リソース・マネージャでページ・スタイルを公開することによって、管理者はそれらのページ・スタイルを実行時に管理できるようになります。アプリケーションのデプロイ後であっても、アプリケーションを再デプロイする必要なく、追加のページ・スタイルを作成してエクスポートできます。実行時に、リソース・マネージャには、エクスポートしたページ・スタイルをアップロードするオプションが用意されています。
注意: 実行時にページ・スタイルを作成した場合に、設計時環境にインポートして戻さないときは、新規ページ・スタイルがアプリケーションの再デプロイ時に失われることがあります。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』のリソース・カスタマイズの保存に関する項を参照してください。 |
ページ・スタイルをリソース・マネージャで公開するには、アプリケーションのgeneric-site-resources.xml
ファイルにそのページ・スタイルの有効なエントリが必要です。ページ・スタイルのJSPXファイルの、ポップアップ・メニューの次のオプションを使用して、リソース・マネージャでページ・スタイルを登録または登録解除します。
注意:
|
ポータル・リソースの作成: generic-site-resources.xml
ファイルにページ・スタイルのエントリを作成します。
エントリを作成する間に、表11-1で説明する属性を設定する必要があります。この表に示した属性は、ページ・スタイルに固有のものです。すべてのリソースに共通の汎用手順は、第16.2.1項「リソースをリソース・マネージャに追加する方法」を参照してください。
表11-1 ページ・スタイルのプロパティ
プロパティ | 説明 |
---|---|
表示名 |
ページ・スタイルの表示名。 |
リソース・タイプ |
公開されるリソースのタイプ。これは、JSPXファイルの特定の内部検証に基づいて自動的に移入される読取り専用フィールドです。 |
アイコンURL |
「ページの作成」ダイアログにページ・スタイル名とともに表示するイメージへのパス。 これはオプション設定です。 イメージ・ファイルへの絶対パスを指定します。たとえば、WebCenter Portal: Spacesからインポートしたページ・スタイルの場合、「アイコンURL」は次の形式になります。 APPLICATION_ROOT/oracle/webcenter/siteresources/scopedMD/shared/FILE_NAME |
説明 |
ページ・スタイルの説明。 |
コンテンツ・ディレクトリ |
イメージ、JavaScript、スタイル・シート、HTMLファイルなど、ページ・スタイルの依存オブジェクトが含まれるディレクトリ。 リソースに関連付けられているオブジェクトは、 |
ポータル・リソースの更新: ページ・スタイルのエントリの作成時に定義した属性を編集します。詳細は、第16.2.3項「ポータル・リソースのプロパティを更新する方法」を参照してください。
ポータル・リソースの削除: generic-site-resources.xml
ファイルから、選択したページ・スタイルのエントリを削除します。詳細は、第16.2.4項「リソースをリソース・マネージャから削除する方法」を参照してください。
シード済ページ・スタイルを実行時に変更または削除することはできません。ただし、管理者権限のあるユーザーは、シード済ページ・スタイルのコピーを作成してそのプロパティを編集したり、コピーを削除したりできます。
リソース・マネージャの「ソースの編集」オプションを使用すると、ユーザーは、コピーしたページ・スタイルまたはカスタムのページ・スタイルのコンテンツを実行時に変更できます。ただし、テキスト編集は実行時ソース・エディタよりJDeveloperで行う方が簡単なため、ユーザーは、ページ・スタイルをダウンロードして、それをJDeveloperで編集し、デプロイ済アプリケーションにアップロードして戻すことを選択できます。設計時、このタイプのラウンドトリップ開発には、ダウンロードしたページ・スタイルのインポート、JDeveloperでの編集、およびデプロイ済アプリケーションにアップロードして戻すためのエクスポートが含まれます。
この項では、JDeveloperでページ・スタイルをインポートおよびエクスポートする方法について説明します。
リソース・マネージャからページ・スタイルをダウンロードすると、次のオブジェクトが含まれる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固有の権限マッピングを削除する必要があります。つまり、スタイルのページ定義から |
リソースのインポートの詳細な手順は、第16.4.2項「ポータル・リソースをJDeveloperにインポートする方法」を参照してください。
すでにデプロイしたアプリケーションで新規ページ・スタイルを公開します。
デプロイしたアプリケーションからインポートして変更したページ・スタイルをコピーして戻します。
ページ・スタイルをJDeveloperからエクスポートすると、ページ・スタイルのJSPX、ページ・スタイルのページ定義ファイル、generic-site-resources.xml
ファイルおよびページ・スタイルに関連付けられているイメージが含まれるshared
フォルダが含まれるEARファイルが作成されます。管理者権限のあるユーザーは、この後、リソース・マネージャを使用してこのEARファイルをデプロイしたアプリケーションにアップロードできます。アップロード後は、そのページ・スタイルを管理したり、アプリケーション・ページの作成に使用したりできます。
リソースをインポートする手順の詳細は、第16.4.3項「ポータル・リソースをJDeveloperからエクスポートする方法」を参照してください。
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にアップロードする際に利用できます。第55章「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>
ページ・スタイルの一般的な前提条件は、「ポータル・リソースとして公開するページ・スタイルの要件」を参照してください。ページ・スタイルを作成する手順は、第11.3.1項「ページ・スタイルを作成する方法」を参照してください。
マッシュアップ・スタイルは、新規タスク・フローを実行時に作成するためのテンプレートとして使用できるADFタスク・フローです。ただし、マッシュアップ・スタイルには1つのビュー・フラグメントしか指定できません。また、マッシュアップ・スタイルが、EL値などを使用してコードを参照する場合、そのコードはデプロイ済アプリケーションに含まれる必要があります。
マッシュアップ・スタイルの作成を選択する目的として、次の場合があります。
タスク・フローに特定の整合性のあるレイアウトを提供します。
マッシュアップ・スタイル(スペース・ピッカー・ドロップダウンを使用するマッシュアップ・スタイルなど)から作成されたタスク・フローで順に使用可能なパラメータ・フォームまたはUIピッカーをシードします。このスタイルに基づくタスク・フローが「アクティビティ・ストリーム」タスク・フローに移入される場合、ピッカー・ドロップダウンを、「アクティビティ・ストリーム」タスク・フローの入力パラメータに関連付けることができます。「アクティビティ・ストリーム」タスク・フローは、選択したスペースに固有のアクティビティを表示します。
データに個別にバインドできる事前定義済UIを提供します。たとえば、マッシュアップ・スタイルでフロー・データ・レイアウトを作成し、そこからタスク・フローを作成し、データ・コントロールをドロップしてから、フロー・データ・レイアウトをデータ・コントロールにバインドできます。
リソース・マネージャには、管理権限のあるユーザーがタスク・フローを作成および管理できる「タスク・フロー」ページが用意されています。ユーザーが「タスク・フロー」ページの「作成」をクリックすると、図11-13に示しているように、「新規タスク・フローの作成」ダイアログに、ユーザーが使用できるシード済マッシュアップ・スタイルが表示されます。
注意: ADFタスク・フローの管理 実行時にマッシュアップ・スタイルを管理するしくみと同様に、リソース・マネージャでもタスク・フローを作成および管理できます。リソース・マネージャの「タスク・フロー」ページを使用すると、ユーザーはタスク・フローを作成、編集、削除、インポートおよびエクスポートできます。 JDeveloperで作成したカスタム・タスク・フローをポータル・リソースとしてエクスポートすることはできませんが、実行時に作成したタスク・フローをインポートして、それを変更し、ランタイム・アプリケーションにエクスポートして戻すことはできます。タスク・フローのインポート、変更およびエクスポートの手順は、マッシュアップ・スタイルのものと同じです。このため、この項で示したエクスポート、インポート、および編集の各タスクは、タスク・フローおよびマッシュアップ・スタイルに適用できます。 カスタム・タスク・フローの追加とエクスポートの詳細は、第12.3項「ポータルへのカスタム・タスク・フローの追加」を参照してください。 |
この項では、マッシュアップ・スタイルを作成して、それが実行時に公開されるように構成する方法を説明します。この項の内容は、次のとおりです。
マッシュアップ・スタイルの作成は、タスク・フローの作成と同じですが、マッシュアップ・スタイルは、実行時にタスク・フローを作成するためのテンプレートとして使用することのみを目的として作成します。マッシュアップ・スタイルをリソース・マネージャで公開した場合にのみ、それらを実行時に使用できます。
ポータル・リソースとして公開するマッシュアップ・スタイルの要件
リソース・マネージャでマッシュアップ・スタイルを公開するには、マッシュアップ・スタイルをJDeveloperで作成する際に次の要件を考慮に入れる必要があります。
/oracle/webcenter/portalapp
ディレクトリ内にタスク・フロー定義XMLファイルを作成します。マッシュアップ・スタイル用のサブディレクトリ(たとえば、mashupstyles
)を作成することも、portalapp
ディレクトリにマッシュアップ・スタイルを直接保存することもできます。
マッシュアップ・スタイルとして使用するタスク・フローにはビュー・フラグメントを1つのみ作成し、このJSFFビュー・フラグメントにページ定義を作成します。
コンポーザ・タグ・ライブラリからビュー・フラグメントにPanel Customizable
コンポーネントを追加します。これによって、このマッシュアップ・スタイルに基づくタスク・フローに、実行時に値を移入できるようになります。
例11-9に、バグ詳細データベースのレコードをアクティビティ・ストリーム形式でリストできるサンプル・マッシュアップ・スタイルのコードを示します。このスタイルは、アクセスするデータ・ソースの知識と、データ・ソースで使用可能な列に基づいて作成されます。この例の説明は、次のとおりです。
dataPresenter.dummyData.collectionModel
は、マッシュアップ・スタイルを実行時に使用する場合に、該当するデータ・コントロール参照に置換する必要があるNULLのデータ・ソースです。
#{row.
COLUMN
}
エントリは、マッシュアップ・スタイルの使用時にデータ・コントロールからデータ列を参照するプレースホルダーです。
#{empty row.COLUMN ?'#{row.COLUMN}' : row.COLUMN}
は、dataPresenter.dummyData.collectionModel
が置換され、データが適切にバインドされるまで、このマッシュアップ・スタイルを使用して作成されるタスク・フローに#{row.COLUMN}
を表示するために使用します。このような構成を使用することによって、このマッシュアップ・スタイルから作成されたタスク・フローから、ユーザーが使用可能なデータ・スロットに関するヒントを確実に受け取れるようになります。
例11-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タスク・フローの作成に関する項を参照してください。
リソース・マネージャでマッシュアップ・スタイルを公開することによって、管理者はそれらのスタイルを管理したり、スタイルに基づいてタスク・フローを作成したりできるようになります。選択したマッシュアップ・スタイルをJDeveloperからエクスポートして、管理者が実行時にそれらのスタイルを変更したり削除したりできるようにすることも可能です。
マッシュアップ・スタイルの実行時管理は、ページ・スタイルの管理と同様です。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページ・スタイル・リソースの使用に関する項を参照してください。
注意: 実行時にマッシュアップ・スタイルを作成した場合に、設計時環境にインポートして戻さないときは、新規マッシュアップ・スタイルがアプリケーションの再デプロイ時に失われることがあります。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』のリソース・カスタマイズの保存に関する項を参照してください。 |
マッシュアップ・スタイルをリソース・マネージャで公開するには、アプリケーションのgeneric-site-resources.xml
ファイルにそのマッシュアップ・スタイルの有効なエントリが必要です。タスク・フロー定義のXMLファイルの、ポップアップ・メニューの次のオプションを使用して、リソース・マネージャでマッシュアップ・スタイルを登録または登録解除します。
注意:
|
ポータル・リソースの作成: generic-site-resources.xml
ファイルにマッシュアップ・スタイルのエントリを作成します。
エントリを作成する間に、表11-2で説明する属性を設定する必要があります。この表に示した属性は、マッシュアップ・スタイルに固有のものです。すべてのリソースに共通の汎用手順は、第16.2.1項「リソースをリソース・マネージャに追加する方法」を参照してください。
ポータル・リソースの更新: マッシュアップ・スタイルのエントリの作成時に定義した属性を編集します。詳細は、第16.2.3項「ポータル・リソースのプロパティを更新する方法」を参照してください。
ポータル・リソースの削除: generic-site-resources.xml
ファイルから、マッシュアップ・スタイルのエントリを削除します。詳細は、第16.2.4項「リソースをリソース・マネージャから削除する方法」を参照してください。
シード済マッシュアップ・スタイルをリソース・マネージャで変更または削除することはできません。ただし、管理者権限のあるユーザーは、シード済マッシュアップ・スタイルのコピーを作成してそのプロパティを編集したり、コピーを削除したりできます。
リソース・マネージャの「ソースの編集」オプションを使用すると、ユーザーは、コピーしたマッシュアップ・スタイルまたはカスタムのマッシュアップ・スタイルのコンテンツを実行時に変更できます。ただし、テキスト編集は実行時ソース・エディタよりJDeveloperで行う方が簡単なため、ユーザーは、マッシュアップ・スタイルをダウンロードして、それをJDeveloperで編集し、デプロイ済アプリケーションにアップロードして戻すことを選択できます。設計時に、このタイプのラウンドトリップ開発には、ダウンロードしたマッシュアップ・スタイルのインポート、JDeveloperでの編集、およびデプロイ済アプリケーションにアップロードして戻すためのエクスポートが含まれます。
この項では、JDeveloperでマッシュアップ・スタイルをエクスポートおよびインポートする方法について説明します。
リソース・マネージャからマッシュアップ・スタイルをダウンロードすると、次のオブジェクトが含まれる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がアプリケーションのクラスパスの場所を指していると、 |
リソースのインポートの詳細な手順は、第16.4.2項「ポータル・リソースをJDeveloperにインポートする方法」を参照してください。
すでにデプロイしたアプリケーションで新規マッシュアップ・スタイルを公開します。
デプロイしたアプリケーションからインポートして変更したマッシュアップ・スタイルをコピーして戻します。
マッシュアップ・スタイルをJDeveloperからエクスポートすると、タスク・フロー定義ファイル、ビュー・フラグメントJSFF、ビュー・フラグメント・ページ定義ファイル、generic-site-resources.xml
ファイルおよびマッシュアップ・スタイルに使用するイメージが含まれるshared
フォルダが含まれるEARファイルが作成されます。管理者権限のあるユーザーは、リソース・マネージャを使用して、このEARファイルをデプロイ済アプリケーションにアップロードできます。アップロード後は、そのマッシュアップ・スタイルを管理したり、タスク・フローの作成に使用したりできます。
手順の詳細は、第16.4.3項「ポータル・リソースをJDeveloperからエクスポートする方法」を参照してください。
Spacesには、そのまま使用できるシード済マッシュアップ・スタイルがいくつか用意されています。これらのデフォルトのスタイルが要件に適さない場合には、Spaces内で独自のマッシュアップ・スタイルを作成できます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のマッシュアップ・スタイルの使用に関する項の章を参照してください。
ただし、Spacesでは、必要とするすべての機能を備えたマッシュアップ・スタイルを作成するためのコントロール機能がすべて提供されていない可能性があります。そのような場合は、JDeveloperで独自のマッシュアップ・スタイルを作成してから、それをSpacesにアップロードできます。Spacesから既存のマッシュアップ・スタイルをダウンロードして、それをJDeveloperで編集した後か、いずれかのサンプル・マッシュアップ・スタイルを起点として使用した後に、Spacesにアップロードして戻すこともできます。
Oracle WebCenter Portalには特別なJDeveloperワークスペース(DesignWebCenterSpaces.jws
)が用意されており、マッシュアップ・スタイルなどのリソースを開発してSpacesにアップロードする際に利用できます。第55章「JDeveloperを使用したSpacesアプリケーションの拡張」には、サンプルのワークスペースの場所、およびWebCenterSpacesResources
プロジェクトを使用してカスタムのマッシュアップ・スタイルやSpacesのその他のタイプのリソースを作成する方法が記載されています。
マッシュアップ・スタイルの作成および編集の主要タスクは、FrameworkアプリケーションとSpacesアプリケーションで同じです。マッシュアップ・スタイルを作成する手順は、第11.4.1項「マッシュアップ・スタイルを作成する方法」を参照してください。
マッシュアップ・スタイルの一般的な前提条件は、「ポータル・リソースとして公開するマッシュアップ・スタイルの要件」を参照してください。