この章では、WebCenter Sitesのテンプレート・コードに基づいてガジェットを作成するためのガイドラインについて説明します。
この章には次の項が含まれます。
ガイドのこの項を利用するには、次のものが必要です。
WebCenter Sitesのベーシック・アセット・モデル、フレックス・アセット・モデル、テンプレート作成に関する開発者向けの知識。
Google Gadget API。関連するリソースには次のURLからアクセスできます。
OpenSocial標準に関する知識。ガジェットのユーザーによるプリファレンスの設定が可能な環境を作成するために必要です。OpenSocialのドキュメントは次の場所にあります。
WebCenter SitesのFirstSiteIIサンプル・サイトにインストールされたGadgetsアプリケーションのサンプル・ガジェット。Gadgetsアプリケーションのインストールと構成の詳細は、『Oracle Fusion Middleware WebCenter Sitesインストレーション・ガイド』を参照してください。Gadgetsアプリケーションの詳細は、『Oracle Fusion Middleware WebCenter Sitesユーザーズ・ガイド』を参照してください。
Gadgetsアプリケーションには、4つのサンプル・ガジェットが含まれています。これらは、FirstSiteIIサンプル・サイトで有効になっています。このガイドで説明するプロセスを使用して、独自のガジェットを開発できます。サンプル・ガジェットは次のとおりです。
Listガジェット: ヘッドラインと記事のサマリー、および完全な記事へのリンクを提供します。
ThumbListガジェット: 各製品の説明とサムネイルが含まれた製品のリストを提供します。
Slideshowガジェット: 一連の製品イメージをスライドショーとしてレンダリングします。ユーザーは、サムネイルをクリックして拡大したイメージを表示できます。拡大したイメージをクリックすると、製品の詳細が記載されたページが開かれます。
RSS Feed: RSSフィードから取得したヘッドラインのリストを提供します。それぞれのヘッドラインには、完全な記事へのリンクがあります。
この章の残りの部分では、ガジェットの主なコンポーネントに関する情報を提供し、サンプル・ガジェットについて詳しく説明します。
この項の内容は、次のとおりです。
FirstSiteIIにサンプル・ガジェットをインストールすると、ガジェットの作成とレンダリングのための基本的なコンポーネントがインストールされます。これらのコンポーネントは、データ・モデル、テンプレート、およびガジェットのコンテンツを提供するサンプル・アセットです。
FW_CSGadgetアセット・タイプ(その説明はCS-Based Gadget)。すべてのサンプル・ガジェットのタイプはFW_CSGadgetです。
FW_RSSアセット・タイプ(その説明はRSS Feed)。このアセット・タイプは、RSS Feedガジェットのコンテンツ・ソースとしてURLを指定する際に使用します。
FW_CSGadget/GenerateGadgetXMLテンプレート。Gadgetsアプリケーションによってアクセスされます。このテンプレートは、ガジェット・ディスクリプタXML (ガジェット仕様XMLとも呼ばれる)をレンダリングするために使用されます。
FW_CSGadget/ListSiteGadgetsテンプレート。現在のコンテンツ管理サイトに各ガジェットのガジェット・ディスクリプタURLを提供します。
サンプル・アセットは、ガジェットのコンテンツを提供するか、ガジェットをレンダリングします。サンプル・アセットは、次に示すようにサンプル・ガジェットによって参照されます。
ガジェットのコンテンツの提供元は次のとおりです。
Content_CタイプのContentアセット(Content_Pタイプの親を持つ)。スポーツ記事を表します。これらのアセットは、Listガジェットによって使用されます。
Product_CタイプのProductアセット(Product_Pタイプの親を持つ)。スポーツ製品を表します。これらのアセットは、ThumbListおよびSlideshowガジェットによって使用されます。
Media_CタイプのMediaアセット(Media_Pタイプの親を持つ)。Productアセットによって使用されるイメージを表します。これらのアセットは、ThumbListおよびSlideshowガジェットによって使用されます。
Recommendation (AdvCols)アセット。ContentおよびProductアセットをカプセル化します。Recommendationアセットは、List、ThumbList、Slideshowの各サンプル・ガジェットによって使用されます。
FW_RSSタイプのコンテンツ。RSS Feedガジェットのコンテンツ・ソースとしてURLを指定します。
次のように、テンプレートはガジェットをレンダリングします。
GenerateGadgetXMLテンプレートはGadgetsアプリケーションによってアクセスされ、次のようなテンプレートを呼び出します。
FW_CSGadgetタイプ付きテンプレート。各サンプル・ガジェットに存在します。次のテンプレートは、Gadgetsアプリケーションが認識できるガジェット・ディスクリプタXMLの本体を出力します。G_List、G_RSS、G_Slideshow、G_ThumbListの各テンプレートです。
G_JSONという名前のタイプ付きテンプレート。サンプル・ガジェットで参照されるContent_C、Media_C、Product_C、Recommendation (AdvCols)の各アセットに存在します。これらのテンプレートは、ガジェット内で表示される各アセットのHTMLレンダリングに必要なデータを含む、JSONフォーマットの出力を提供します。テンプレートは、ガジェット・コードからのリモート・リクエストを介して呼び出されます。
サンプル・ガジェットでは、次のイメージ・ファイルが使用されます。
この項では、WebCenter Sitesのサンプル・ガジェットと、これらで使用するアセットについて説明します。各アセットは、Gadgetsアプリケーションがリクエストを開始するときのアセットのコール順で記載されています。ガイドのこの項では、主にListガジェットを使用して様々な概念について説明します。
この項の内容は、次のとおりです。
Listガジェットは、Contentアセットのリスト・ビューを含むRecommendationアセットをレンダリングします。それぞれのヘッドラインには、完全な記事へのリンクがあります。

Listガジェットのアセットは、ガジェット内でレンダリングされるRecommendationアセット、およびガジェットをレンダリングするテンプレート(G_List)を参照します。該当するアセットは次のとおりです。
FW_CSGadgetタイプのListGadgetアセット。これは、レンダリングされるRecommendationアセットを参照します。
G_Listテンプレート。これは、Gadgetsアプリケーションがガジェットをレンダリングする際に使用するガジェット・ディスクリプタXMLの本体を生成します。このプロセスの概要は、第92章「Gadgets: テンプレート・フロー」で説明されています。
G_JSONテンプレート。これは、Recommendationアセットとそのコンテンツをレンダリングします。
AdvCols/G_JSON and Content_C/G_JSON
ガジェット内でレンダリングされるRecommendation (AdvCols)アセット。
Recommendationに含まれるContentアセット。
ThumbListガジェットは、Recommendationアセットをレンダリングする点でListガジェットに似ています。ガジェットには、Productアセットのリスト・ビューが含まれます。それぞれのヘッドラインには、製品ページへのリンクがあります。ただし、このガジェットの各製品には、Mediaアセットからのサムネイル・イメージも含まれます。このイメージは、Image属性を介してProductアセットに関連付けられています。
該当するアセットは次のとおりです。
FW_CSGadgetタイプのThumbListGadgetアセット。これは、レンダリングされるRecommendation、およびガジェットをレンダリングするテンプレート(G_ThumbList)を参照します。
G_ThumbListテンプレート。これは、Gadgetsアプリケーションがガジェットをレンダリングする際に使用するガジェット・ディスクリプタXMLの本体を生成します。
G_JSONテンプレート。これは、Recommendationアセットとそのコンテンツ(AdvCols/G_JSON、Product_C/G_JSONおよびMedia_C/G_JSON)をレンダリングします。
ガジェット内でレンダリングされるRecommendation (AdvCols)アセット。
Recommendationアセットに含まれるProductアセット。
各ProductアセットのImage属性によって参照されるMediaアセット。
SlideshowガジェットはThumbListガジェットと同じコンテンツを使用しますが、そのコンテンツはまったく異なる方法で表示されます。このガジェットは、製品イメージが並んだサムネイル・ストリップを表示します。ストリップ内のイメージをクリックすると、ガジェット領域内で許可されている最大サイズでイメージが表示されます。フルサイズのイメージをクリックすると、製品の詳細ページが開きます。

該当するアセットは次のとおりです。
SlideshowGadgetアセット。これは、レンダリングされるRecommendationアセット、およびガジェットをレンダリングするテンプレート(G_Slideshow)を参照します。
G_Slideshowテンプレート。これは、Gadgetsアプリケーションがガジェットをレンダリングする際に使用するガジェット・ディスクリプタXMLの本体を生成します。
G_JSONテンプレート。これは、Recommendationアセットとそのコンテンツ(AdvCols/G_JSON、Product_C/G_JSONおよびMedia_C/G_JSON)をレンダリングします。
ガジェット内でレンダリングされるRecommendation (AdvCols)アセット。
Recommendationアセットに含まれるProductアセット。
各ProductアセットのImage属性によって参照されるMediaアセット。
RSS Feedガジェットは、RSSフィードの最新の項目を表示します。このガジェットでは、組込みのフィード読込み機能を実行するためにGoogle Gadget APIを利用しています。

該当するアセットは次のとおりです。
FW_CSGadgetタイプのRSSGadgetアセット。これは、リクエストされるフィード(FW_RSS)、およびガジェットをレンダリングするテンプレート(G_RSS)を参照します。
G_RSSテンプレート。これは、Gadgetsアプリケーションがガジェットをレンダリングする際に使用するガジェット・ディスクリプタXMLの本体を生成します。
ガジェット内でリクエストされるフィードのURLを含むFW_RSSアセット。
サンプル・ガジェットは、新しいアセット・タイプFW_CSGadgetに基づいています。ガジェットをレンダリングするために必要な情報を指定する際に使用します。これは、次の属性を含むベーシック・アセット・タイプです。
Name of descriptor template。ガジェットのディスクリプタXMLを生成するために呼び出されるFW_CSGadgetテンプレートの名前を指定する際に使用します。Listガジェットの場合、テンプレートはFW_CSGadget/G_Listです(したがって、G_Listはこのフィールドで指定され、後でタイプ付きテンプレートとして解決されます)。
DataAssetアソシエーション。単一の任意の型のアセット・アソシエーションです。このアソシエーションは、ガジェットのメイン・コンテンツを提供するアセットを参照します。たとえば、ListガジェットのDataAssetアソシエーションは、ガジェットがレンダリングするContentアセットの静的なリストを保持しているRecommendationアセットを参照します。

ディスクリプタ・テンプレート属性は、FW_CSGadget/GenerateGadgetXMLによって読み取られます。DataAssetアソシエーションは、ディスクリプタ・テンプレート自体(たとえば、G_List)によって読み取られます。