対話管理ガイド
![]() |
![]() |
![]() |
![]() |
コンテンツ セレクタは、強力なパーソナライゼーション ツールであり、BEA の仮想コンテンツ リポジトリから 1 つまたは複数の特定のコンテンツ項目を特定のユーザ グループに提供できます。
たとえば、ユーザ プロファイルで「読書マニア」として識別されるユーザがログインしたら、コンテンツ セレクタを使用して推薦図書の一覧を表示できます。
コンテンツ セレクタは 2 つの部分で構成されます。1 つは、WebLogic Workshop で作成するコンテンツ セレクタ ファイル、もう 1 つはそれに対応する、処理を実行する JSP タグです。
図 3-1 は、「classic」というコンテンツ セレクタ ファイルと、そのコンテンツ セレクタ ファイルを参照する JSP タグを示しています。
図 3-1 コンテンツ セレクタを構成する 2 つの部分 : コンテンツ セレクタ ファイルと JSP タグ
認証済み (ログイン) ユーザでなくてもコンテンツ セレクタの対象にすることができます。たとえば、HTTP リクエストまたはセッションの特定のプロパティの有無や、特定の日付または時刻の条件によって、コンテンツの表示をトリガできます。たとえば、12 月にポータルを訪問し、特定のタイプの Web ブラウザでポータルを表示しているユーザに対して、祝日向けのコンテンツを表示できます。
ただし、認証済みのユーザ (および追跡対象の匿名ユーザ) には、ユーザに関連したプロファイル情報があり、この情報を使用して、より正確な対象にパーソナライズされたコンテンツを提供できます。たとえば、この章の概要で取り上げた「読書マニア」がこの例に該当します。
以下の節では、コンテンツ セレクタの構造、すなわち、コンテンツ セレクタ ファイルと JSP タグについて詳しく説明します。
コンテンツ セレクタ ファイルは、以下の 2 つの部分で構成されます。
図 3-2 は、classic.sel
というコンテンツ セレクタ ファイルを示しています。コンテンツ セレクタをトリガする条件は、ユーザ プロファイルに「classic」という値の「Graphic Preference」プロパティを持つユーザです。取得するコンテンツは、名前に「IRACampaign」を含む任意のバイナリ ファイル コンテンツです。
図 3-2 WebLogic Workshop のコンテンツ セレクタ ファイル
コンテンツ セレクタ ファイルを作成したら、コンテンツを表示するために <pz:contentSelector> JSP タグを使用する必要があります。図 3-2 に示した「classic」コンテンツ セレクタの JSP タグを次に示します。
<pz:contentSelector rule="classic" id="nodes"/>
rule
- コンテンツ セレクタ ファイルの名前 (ファイル拡張子なし) を入力します。この属性は、使用するパーソナライゼーション ルールとクエリを JSP タグに指定します。id
- コンテンツ セレクタがクエリを実行し、仮想コンテンツ リポジトリからコンテンツを取得するとき、コンテンツはコンテンツ プロパティの配列として取得されます。id
属性は、String として入力し、配列を保持するコンテナの役割を果たします。この時点で、他の JSP タグを使用して、配列の処理およびコンテンツの表示を行う必要があります。プロパティの配列を処理してコンテンツを表示する方法については、この章の「コンテンツ セレクタの使用」を参照してください。他にも、<pz:contentSelector> タグに設定できる役立つ属性が多数あります。WebLogic Workshop ヘルプ システムの「<pz:contentSelector> Tag」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/taglib/www.bea.com/servers/portal/tags/personalization/contentSelector.html) を参照してください。
コンテンツ セレクタが取得するコンテンツ プロパティは、大半がテキストまたは数値です。たとえば、コンテンツ セレクタを使用して書籍に関する情報を取得するとします。書籍コンテンツには、タイトル、作者、出版日、ISBN、出版社の Web サイトへの URL など、多数のプロパティを割り当てることができます。コンテンツ セレクタを使用して、箇条書きのタイトル一覧を表示し、各タイトルを出版社の Web サイトにリンクすることもできます。これらはすべて、コンテンツ プロパティのテキスト値だけを使用して実現できます。
書籍コンテンツには、書籍の表紙の画像を格納するバイナリ プロパティも含まているとします。コンテンツ セレクタでは、ShowProperty サーブレットを使用して、バイナリ プロパティも表示できます (実画像の表示)。詳細については、「コンテンツ セレクタの使用」を参照してください。コンテンツ セレクタで表示できるバイナリ コンテンツのタイプは、コンフィグレーションした MIME タイプによって異なります。デフォルトでは、WebLogic Portal がサポートする MIME は、画像ファイル、Shockwave ファイル、および XHTML ファイルの表示に対応しています。その他の MIME タイプのコンテンツを表示するには、WebLogic Workshop ヘルプ システムの「その他の MIME タイプをサポートする」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/mimetypes.html) を参照してください。
コンテンツ セレクタで画像などのバイナリ コンテンツを表示するには、仮想コンテンツ リポジトリでバイナリ コンテンツ プロパティを「プライマリ プロパティ」に設定する必要があります。このガイドの「コンテンツの設定」の章の「バイナリ コンテンツの表示」を参照してください。
コンテンツ セレクタを作成するには、WebLogic Workshop でコンテンツ セレクタ ファイルを作成し、それに対応する <pz:contentSelector> JSP タグを、関連するすべての JSP で使用します。各 <pz:contentSelector> JSP タグでは、「rule」属性を使用して WebLogic Workshop で作成したコンテンツ セレクタを参照し、「id」属性を使用してコンテンツ クエリの結果の配列を保存する必要があります。
コンテンツ セレクタの作成手順については、WebLogic Workshop ヘルプ システムの以下のトピックを参照してください。
WebLogic Workshop ヘルプ システムには、「ポートレットでパーソナライズされたコンテンツを表示する」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/tutorials/tutP13nPortletIntro.html) というチュートリアルがあります。このチュートリアルでは、コンテンツ セレクタの作成およびポートレットでのコンテンツの表示について説明します。
WebLogic Portal は、強力なコンテンツ クエリを構築するための高度なコンテンツ クエリ機能を備えています。詳細については、WebLogic Workshop ヘルプ システムの「条件式を使用してコンテンツ クエリを構築する」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/contentExpression.html) を参照してください。
WebLogic Workshop でコンテンツ セレクタ ファイルを作成した後、WebLogic Workshop でこのコンテンツ セレクタを JSP に追加します。いくつかの方法があります。
JSP ファイルにはコンテンツ セレクタ JSP タグが含まれ、「rule」および「id」属性が自動的に入力され、タグ ライブラリのインクルード文が自動的に追加されます。
他にも自動的に追加される JSP タグおよび HTML タグがあります。
<pz:contentSelector rule="modern" id="nodes"/>
<utility:notNull item="<%=nodes%>">
<ul>
<utility:forEachInArray array="<%=nodes%>" id="node" type="com.bea.content.Node">
<li><cm:getProperty id="node" name="cm_nodeName" conversionType="html"/></li>
</utility:forEachInArray>
</ul>
</utility:notNull>
表 3-1 に、その他のタグの説明を示します。
この節では、コンテンツ セレクタの使用に関する指針を示します。
<pz:contentSelector rule="classic" id="nodes"/>
<utility:notNull item="<%=nodes%>">
<ul>
<utility:forEachInArray array="<%=nodes%>" id="node" type="com.bea.content.Node">
<img src="<%=request.getContextPath() + "/ShowProperty" + node.getPath()%>">
</utility:forEachInArray>
</ul>
</utility:notNull>
<pz:div> JSP タグは、インライン HTML パーソナライゼーションを提供できます。インライン コンテンツのセットを JSP に挿入し、このタグでラップできます。このタグは「rule」属性を使用します。この属性には既存のユーザ セグメント名を指定できます。該当するユーザ セグメントのメンバーだけがインライン コンテンツを表示できます。たとえば、WebLogic Workshop で booknerdUserSegment.seg
というユーザ セグメントを作成し、「bookNerd」ユーザ プロファイル プロパティが「true」に設定されたすべてのユーザをこのユーザ セグメントのメンバーにします。これは次のように記述できます。
<pz:div rule="booknerdUserSegment">
<p>このテキストは読書マニアだけに表示されます。</p>
</pz:div>
ユーザ セグメント ルール (条件) は、コンテンツ セレクタで使用するルールと同じです。したがって、<pz:div> タグは、コンテンツ セレクタとほぼ同じレベルのパーソナライゼーションを提供します。相違点は、コンテンツ セレクタでは仮想コンテンツ リポジトリからコンテンツを取得しますが、<pz:div> では JSP 内にインライン コンテンツを含めます。
![]() ![]() |
![]() |
![]() |