コンテンツ管理ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

ポータル内でのコンテンツの配信

ポータルを開発する場合は、JSP タグ、コンテンツ API およびパーソナライゼーション ツールを使用して検索し、ポータル ユーザにコンテンツを表示します。

通常、JSP ページのコンテキスト内ではコンテンツの取得と表示が行われます。JSP ページ内で、API を直接、JSP タグ、コンテンツ セレクタまたはプレースホルダを使用してクエリまたはルールに基くコンテンツを取得することができます。

コンテンツ セレクタ、およびキャンペーンを使用してパーソナライゼーションのルールまたは条件に従って、パーソナライズされたコンテンツをユーザに配信することができます。このコンテキスト内では、JSP タグを使用して必要なコンテンツを取得します。

パーソナライズされたコンテンツの配信の詳細については、『WebLogic Portal の対話管理ガイド』を参照してください。

この章の内容は以下のとおりです。

 


JSP タグの操作

WebLogic Portal には、コンテンツの取得と表示のためにJSP タグが用意されています。

コンテンツの取得または検索は通常、JSP ページのコンテキスト内で行われます。コンテンツ API を使用してもコンテンツを取得することができます。

この節では、次のトピックについて説明します。

JSP タグを使用したコンテンツの取得

コンテンツを取得するために、4 つのコンテンツ固有の JSP タグが使用できます。JSP タグの詳細については、「WebLogic Portal Javadoc」を参照してください。表 10-1 には、コンテンツに関連する JSP タグを表示します。

表 10-1 コンテンツ JSP タグ
JSP タグ
使用方法
<cm:getNode>
明示的なパスに基づきコンテンツ ノードを取り出し、そのノードを変数に格納する。
<cm:search>
与えられたクエリに基づいてコンテンツ ノードを検索して取り出し、結果を変数に格納する。
<cm:getProperty>
コンテンツ ノードからプロパティ値を取り出し、変数として格納するか、JSP に出力する。
<cm: getBinaryProperty>
コンテンツ ノードに関連付けられたバイナリ プロパティを取り出す。

使用するタグにかかわらず、次の 2 つのメソッドを使用して JSP タグでコンテンツが取得されます。

リポジトリ パスを使用したコンテンツの取得

すべてのコンテンツは、固有のパスによってそのアドレスを示すことができます。このパスが、フォルダとコンテンツを作成すると、Portal Administration Console で表示されます。<cm:getNode> JSP タグ内で、リポジトリ パスを指定してコンテンツを取得することができます。たとえば、コンテンツ階層が Portal Administration Console で 図 10-1のように表示される場合に、CarPic を取り出すには、コード リスト 10-1 のコードを使用します。

図 10-1 コンテンツ階層

コンテンツ階層

 コード リスト 10-1  CarPic を取り出すコードのサンプル
<%@ taglib uri="content.tld" prefix="cm"%>
<cm:getNode path="/BEA Repository/Dev2Dev/CarPic" id="carpic" />

クエリを使用してコンテンツの取得

クエリを使用してもコンテンツを取得することができます。クエリの作成 の詳細については、『対話管理ガイド』の「条件式を使用するコンテンツ クエリの構築」を参照してください。

 


JSP タグを使用したコンテンツの表示

コンテンツを取得した後、ポータル内に表示する方法について判断する必要があります。コンテンツを表示するには、JSP タグおよびコンテンツ セレクタとプレースホルダなどのパーソナライゼーション ツールを使用することができます。この節では、JSP タグの説明と例を示します。コンテンツのパーソナライズの詳細については、『対話管理ガイド』を参照してください。

この節では、コンテンツを表示するために使用できる JSP タグの概要を説明します。

コンテンツ表示の JSP タグ

コンテンツは、表 10-2、JSP タグを使用したコンテンツの表示 に表示されるタグを使用してポータルに表示することができます。

表 10-2 JSP タグを使用したコンテンツの表示
JSP タグ
説明
<ad:adTarget>
広告サービスを使用して、広告クエリをコンテンツ管理システムに送信する。
<ad:render>
現在の JSP 内で仮想コンテンツ リポジトリからのコンテンツ ノードを表示する。
<ph:placeholder>
定義されたプレースホルダ、およびキャンペーンのルールおよびクエリに基づき、JSP 内でパーソナライズされた Web コンテンツを表示する。
<pz:contentQuery>
コンテンツ管理システムでコンテンツ属性検索を実行し、コンテンツ オブジェクトの配列を返す。
<pz:contentSelector>
Workshop for WebLogic を使用して定義されたコンテンツ セレクタを実装する。定義されたコンテンツ セレクタのルールおよびクエリに基づき、JSP 内でパーソナライズされた Web コンテンツを表示する。
<pz:div>
ユーザがWorkshop for WebLogic で定義された特定のユーザセグメントに属する場合、インライン コンテンツの一部を表示できるようにする。
<dt:displaytemplate>
リソースに対して JSP で表示できるような登録済みのビューを要求する。
このタグを使用するには、テンプレートとその該当するコンテンツ タイプを使用するように表示コンテンツ(ビュー) とマッピング ファイル作成する必要がある。テンプレートの設定方法については、「表示テンプレートを使用したコンテンツの表示」を参照。
<dt: displaycmtemplate>
コンテンツ管理リソース用の登録したビューを要求し、それは JSP で表示される。
このタグを使用するについては、コンテンツ タイプに応じてテンプレートを使用するには、表示テンプレート (ビュー) とマップするファイル (XML) を作成する必要がある。テンプレートの設定方法については、「表示テンプレートを使用したコンテンツの表示」を参照。

 


表示テンプレートを使用したコンテンツの表示

表示テンプレートでは、コンテンツ タイプに従ってコンテンツ用のビューを作成できます。コンテンツ タイプに基づきデフォルトのビューを作成することができるし、またはコンテンツ タイプへの複数のビューを作成することもできます。たとえば、画像の「サムネイル」 イメージだけでなくフルサイズ イメージを表示するビューも作成できるし、価格 (商品の場合) 、アドレス (画像は従業員ディレクトリの場合) などプロパティのリストも作成することができます。すべてのコンテンツタイプの表示テンプレートをリポジトリ内で設定できます。

ビューは、作成する JSP に基づいています。ビューは、その後、作成するコンフィグレーション ファイルで定義される。ビューを作成して、コンフィグレーション ファイル (XML) にマッピングした後、[表示テンプレート] タグでそれらのビュー (表示テンプレート) を参照することができます。

WebLogic Portal には、2 つのタイプの表示テンプレート タグがあります。<dt:displaycmtemplate> は、コンテンツ管理システムからリソースを表示します。他のポータル リソースを表示する場合、<dt:displaytemplate> タグを使用する必要があります。

これらのタグは、//WebLogic_Home/weblogic92/portal/lib/modules ディレクトリにある wlp-services-web-lib.war の一部です。

この節では、次のトピックについて説明します。

表示テンプレートで使用するビューの作成

ビューまたはテンプレートは、単なる JSP ページであり、関連するリソースを表示することができます。このページには、必要な JSP 機能を組み込むことができます。

Web アプリケーションの同じディレクトリにすべての表示テンプレートを格納することが、ベスト プラクティスです。

wlp-template-config.xml ファイルの作成

表示テンプレートを使用する前に、該当するリソースを作成されたビュー (JSP ページ) を関連付けるコンフィグレーション ファイルを作成する必要があります。たとえば、コンテンツ タイプで使用するビューを作成した場合、wlp-template-config.xml ファイルを使用してその関係をコンフィグレーションする必要があります。

wlp-template-config.xml ファイルは、次の //META-INF/schemas/wlp-template-config-9_0.xsd ディレクトリにある wlp-template-config.xsd に基づいています。

wlp-template-config.xml ファイルを作成した後、これは、EAR プロジェクトの //web-inf ディレクトリに配置する必要があります。

コード リスト 10-2 は、wlp-template-config.xml スキーマのコメント付きアウトラインです。

コード リスト 10-2 wlp-template-config.xml
<wlp-display-template> 
<!-- コンテンツ リポジトリのタイプおよびテンプレートを説明します --> 
<content-repository> 
	<!-- リポジトリの名前。(必須) --> 
	<name> </name> 
	<!-- 開発者に対する説明であり、エンド ユーザに表示されません (省略可能)  --> 
	<description> </description> 
	<!-- リポジトリが一致する場合のみ、このテンプレートを使用してコンテンツが表示されます。 (省略可能) --> 
	<default-template-uri> </default-template-uri> 
	<!-- コンテンツ タイプを説明します (省略可能) --> 
	<content-resource> 
	<!-- 開発者が提供した説明。このテキストは、エンド ユーザに表示されません (省略可能) --> 
	<description> </description> 
	<!-- コンテンツ タイプの名前。(必須) --> 
	<name> </name> 
	<!-- コンテンツ タイプが一致する場合のみ、このテンプレートを使用してコンテンツが表示されます。 (省略可能) --> 
	<default-template-uri> </default-template-uri> 
		<!-- ビューを説明します (省略可能) --> 
		<view> 
		<!-- ビューの名前。(必須) --> 
		<name> </name> 
		<!-- 開発者が書かれた説明であり、エンド ユーザに表示されません (省略可能)  -->
		<description> </description> 
		<!-- ビュー名が一致する場合のみ、このテンプレートを使用してコンテンツが表示されます。(必須) --> 
		<uri> </uri> 
		</view> 
	</content-resource> 
</content-repository> 
<!-- コンテンツ リポジトリにリンクされていないテンプレートを説明します --> 
<template-group> 
<name> </name> 
<description> </description> 
<default-template-uri> </default-template-uri> 
	<template> 
	<description> </description> 
<!-- テンプレートの名前。(必須) --> 
	<name> </name> 
	<default-template-uri> </default-template-uri> 
		<view> 
		<name> </name> 
		<description> </description> 
		<uri> </uri> 
		</view> 
	</template> 
</template-group> 
</wlp-display-template> 

コード リスト 10-3 は、有効な wlp-template-config.xml ファイルの例です。

 コード リスト 10-3 wlp-template-config.xml ドキュメントのサンプル
<wlp-display-template> 
<content-repository> 
<name>MyRepo</name> 
<default-template-uri>/MyDefault.jsp </default-template-uri> 
	<content-resource> 
		<name>thumbnail</name> 
		<view> 
			<name>small</name> 
			<uri>/smallview.jsp</uri> 
		</view> 
	</content-resource> 
	<content-resource> 
		<name>Product </name> 
		<default-template-uri>/MyProductDisplay.jsp</default-template-uri> 
	<view> 
		<name>small</name> 
		<uri>/product/smallview.jsp</uri> 
	</view> 
</content-resource> 
<content-resource> 
	<name>Camera </name> 	<default-template-uri>/MyCameraProductDisplay.jsp</default-template-uri> 
	<view> 
		<name>small</name> 
		<uri>/product/camera/smallview.jsp</uri> 
	</view> 
</content-resource> 
</content-repository> 
</wlp-display-template>

JSP 内の <dt:displaycmtemplate> の使用

<dt:displaycmtemplate> は、コンテンツ管理システムからリソースを表示します。表 10-3 は、使用するパラメータを表示します。

表 10-3 <dt:cmdisplaytemplate> JSP タグのパラメータ
パラメータ
使用方法
repositoryName
必須。
コンテンツ リポジトリの名前
resourceName
必須。
表示するコンテンツ タイプ。
view
省略可能。
見つかった場合は、表示するビュー (テンプレート) の名前。

<dt:displaycmtemplate> の例

この例には、カメラを拡張し、製品を拡張する DigitalCamera のコンテンツ タイプを表示します。タグに対して、タイプの継承の利用に関する例については、「タイプ継承を使用した <dt:displaycmtemplate> の例」を参照してください。

この例では、次の 2 つの部分があります。コード リスト 10-4 は、JSP タグの構文を示し、コード リスト 10-5 は、対応するコンフィグレーション ファイルを指定します。

コード リスト 10-4 <dt:displaycmtemplate> タグの使用方法
<dt:displaycmtemplate repositoryName="MyRepo" resourceName="DigitalCamera" view="small"/> 
 コード リスト 10-5 対応する wlp-template-config.xml
<wlp-display-template> 
<content-repository> 
<name>MyRepo</name> 
<default-template-uri>/MyDefault.jsp </default-template-uri> 
<content-resource> 
	<name>Product </name> 
	<default-template-uri>/MyProductDisplay.jsp</default-template-uri> 
	<view> 
		<name>small</name> 
		<uri>/product/smallview.jsp</uri> 
	</view> 
</content-resource> 
<content-resource> 
	<name>Camera </name> 
	<default-template-uri>/MyCameraProductDisplay.jsp</default-template-uri>
	<view> 
		<name>small</name> 
		<uri>/product/camera/smallview.jsp</uri> 
	</view> 
</content-resource> 
</content-repository> 
</wlp-display-template> 
<!-- このようなコンフィグレーションで、「product/camera/smallview.jsp」の uri を検索します。これは、デジタル カメラはカメラであり、カメラ リソースには小規模ビューがあるためです。-->

タイプ継承を使用した <dt:displaycmtemplate> の例

この例には、カメラを拡張し、製品を拡張する DigitalCamera のコンテンツ タイプを表示します。タグは、利用するビューを検索する時タイプの継承を使用することに注意してください。

この例では、次の 2 つの部分があります。コード リスト 10-6 は、JSP タグの構文を示し、コード リスト 10-7 は、対応するコンフィグレーション ファイルを指定します。

コード リスト 10-6 <dt:displaycmtemplate> タグの使用方法
<dt:displaycmtemplate repositoryName="MyRepo" resourceName="DigitalCamera" view="full"/> 
 コード リスト  10-7 対応する wlp-template-config.xml
<wlp-display-template> 
<content-repository> 
<name>MyRepo</name> 
<default-template-uri>/MyDefault.jsp </default-template-uri> 
<content-resource> 
	<name>Product </name> 
	<default-template-uri>/MyProductDisplay.jsp</default-template-uri> 
	<view> 
		<name>small</name> 
		<uri>/product/smallview.jsp</uri> 
	</view> 
	<view> 
		<name>full</name> 
		<uri>/product/fullview.jsp</uri> 
	</view> 
</content-resource> 
<content-resource> 
	<name>Camera </name> 
	<default-template-uri>/MyCameraProductDisplay.jsp</default-template-uri>
	<view> 
		<name>small</name> 
		<uri>/product/camera/smallview.jsp</uri> 
	</view> 
</content-resource> 
</content-repository> 
</wlp-display-template> 
<!-- このようなコンフィグレーションで、「product/fullview.jsp」の uri を見つかります。これは JSP タグであり、タイプの継承を利用することで、カメラは製品から継承することが分かるようになります。-->

JSP 内の <dt:displaytemplate> タグの使用

他のポータル リソースを表示する場合、<dt:displaytemplate> タグを使用する必要があります。表 10-4 には、タグ パラメータを表示します。

表 10-4 <dt: displaytemplate> JSP タグのパラメータ
パラメータ
使用方法
groupName
必須。
テンプレート グルーピングの名前
templateName
必須。
グループ内のテンプレートの一般カテゴリ
view
省略可能。
見つかった場合は、表示するビュー (テンプレート) の名前。


  ページの先頭       前  次