![]() ![]() ![]() ![]() |
多くの Web 対応モバイル デバイスがポータルにアクセスできます。各ノードには表示できるコンテンツに対して固有の要件があります。
WebLogic Portal に付属のマルチチャネル フレームワークでは、ポータルを拡張してさまざまなモバイル デバイスのサポートを含めることができます。この柔軟なフレームワークにより、複数の Web 対応デバイスに対してシームレスにかつ同時にコンテンツを供給できる単一のポータルを作成できます。また、Mozilla Firefox、Netscape、Internet Explorer などのさまざまなブラウザに異なるコンテンツを供給できます。
デバイスがポータルにアクセスすると、ポータルはデバイス タイプを検出し、そのデバイス用に作成したコンテンツを割り当てられたルック アンド フィールで自動的に供給します。
デバイス (PC またはハンドヘルド) がポータルにアクセスすると、デバイスはそれ自体の情報を HTTP ヘッダでポータルに送信します。これには、使用されるブラウザ タイプやデバイス タイプが含まれます。この情報の組み合わせは、クライアントを定義するものであり、デバイスのモデルに相当します。
ユーザ エージェント要素を使用して、WebLogic Portal 分類コンフィグレーション ファイルでクライアントを定義します。複数のクライアントを分類にグループ化できます。たとえば、Palm ハンドヘルド デバイスには多くのモデル (クライアント タイプ) がありますが、それらはすべて「Palm」に分類されます。
ポータル Web プロジェクトのマルチチャネル フレームワークを有効化するには、クライアントを分類にマップする XML コンフィグレーション ファイルを作成します。このファイルに client-classifications.xml
と名前を付けて、WEB-INF
ディレクトリに配置する必要があります。Workshop for WebLogic で XML ファイルを作成するには、[ファイル|新規作成|その他|XML] を選択します。
分類にマップする各クライアント エントリには、デバイスが送信する内容を正確にマップする明示的なユーザ エージェント文字列を含めるか、複数のユーザ エージェント文字列を含んだ正規表現を入力できます。
コード リスト 9-1 に、明示的マッピング (<useragent>
タグ付き) および正規表現マッピング (<useragent-regex>
タグ付き) を使用した、client-classifications.xml
のクライアント分類マッピングのサンプルを示します。
<classification name="pocketpc" description="For the PocketPC">
<useragent value="Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320)"/>
<useragent value="Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC;
240x320)"/>
<useragent-regex value=".*PDA; Windows CE.*NetFront/3.*" priority="1"/>
</classification>
明示的な <useragent>
値は 1 つの分類だけに使用できます。複数の <useragent-regex>
タグを使用して正規表現にマップすると、ポータルにアクセスするデバイスは複数の分類にマップできるようになります。デバイスがマップされる分類を調べるには、コード リスト 9-1 に示す priority (優先度)属性を使用します。値 1
は優先度が最も高くなります。priority (優先度)の値には任意の整数を入力します。
注意 : | クライアント分類に割り当てられたポートレットには、description 要素に入力した値が WebLogic Portal Administration Console に表示され、ポートレットが割り当てられた分類が示されます。必ずポータル管理者が簡単に分かるように description (説明) を作成してください。 |
client-classifications.xml
ファイルで定義したマッピングに基づいて、<useragent>
プロパティのユーザ エージェント値は提供した分類名にマップされます。コード リスト 9-1 の分類名は pocketpc
です。
図 9-1 に、デバイスがポータルにアクセスした場合のマルチチャネル フレームワーク プロセッシングのシーケンスを示します。
デバイスは、URL を使用してポータル対応サーバにアクセスすると、クライアント タイプを識別する HTTP ヘッダのユーザ エージェント文字列を送信します。client-classification.xml
ファイルで定義したマッピングにより、<useragent>
プロパティに格納されたユーザ エージェント文字列は、提供した分類名にマップされます。図 9-1 に示すように、この名前は pocketpc
です。
ユーザ エージェントのリクエスト プロパティは、Workshop for WebLogic に作成する任意のポータル アプリケーションに自動的に含まれます。このプロパティを表示するには、Workshop for WebLogic ワークスペースで以下のファイルを開きます。
Portal_Web_Project\
Data_Dir\src\request\DefaultRequestPropertySet.req
ポータルは、DefaultRequestPropertySet.req
ファイルに格納されたそのクライアント分類名をポータル フレームワークを通じて使用し、デバイスに合わせて作られたコンテンツや表示方法を特定します。
HTTP リクエストのユーザ エージェント文字列が分類名に一致するように設定したマッピングに基づいて、ポータルはデバイス固有のコンテンツや表示方法をポータルにアクセスするさまざまなデバイスに送信します。
以下の節では、デバイス固有のコンテンツと表示方法を作成するポータル フレームワークの使用方法について説明します。
ポーレットを作成するときに、さまざまなデバイスが使用できるようにポーレットを割り当てることができます (クライアント分類)。ポーレットをエディタで開き、プロパティ ビューに移動して次の手順を行います。
[ポートレット分類の管理] ダイアログが表示されます。図 9-3 に例を示します。
注意 : | このダイアログを表示するには、client-classifications.xml ファイルがプロジェクトの WEB-INF ディレクトリに存在する必要があります。 |
この手順の説明では、分類のサブセットを無効にし、残りを有効のままにするものとします。
WebLogic Portal には、JSP 内でデバイス固有のインライン コンテンツを作成する JSP タグが含まれています。JSP タグで定義されたデバイス条件を満たすコンテンツだけがデバイスに配信されます。
関連する JSP タグには、JSP コンテンツを分類にマッピングするのに必要な client
属性が含まれています。JSP タグの client
の値には、client-classifications.xml
ファイルの名前に使用して値をそのまま使用する必要があります。
コード リスト 9-2 に、client タグのいくつかの使用法を示します。
<%@ taglib uri="http://www.bea.com/servers/portal/tags/client/cscm" prefix="client" %>
<%@ taglib uri="http://www.bea.com/servers/portal/tags/netuix/render" prefix="render" %>
これは、client-classification タグ ライブラリを使用してコンテンツを操作するサンプルです。
<p/>
<client:default>
<img style="padding: 10;" align="Bottom" src="<render:jspUri/>images /sunset-big.gif"/>
</client:default>
同じ画像のさまざまなバージョンがクライアント分類に応じて選択されます。「default」のクライアントには、大きな画像が表示されます。「palm」および「pocketpc」には、画像の小さなバージョンが使用されます。「nokia」分類には、グレースケール画像が使用されます (一例)。
<p/>
<client:when client="palm,pocketpc"><img src="<render:jspUri/>images /sunset-small.gif"/><p/></client:when>
<client:when client="nokia"><img src="<render:jspUri/>images /sunset-small-greyscale.gif"/><p/></client:when>
異なる分類では、画像の配置もわずかに変更されます。
<client:when-not client="palm,nokia">
<p/>
クライアントの分類が「nokia」でも「palm」でもない場合は、この追加コンテンツも含まれます。
<p/></client:when-not>
WebLogic Portal に付属のルック アンド フィール (スキンとスケルトン) には、いくつかのモバイル デバイス (Nokia、Palm、Pocket PC) のサポートが含まれています。
独自のスキンとスケルトンを開発すると、さまざまなデバイスをサポートできます。デスクトップのルック アンド フィールを選択すると、ポータル フレームワークは DefaultRequestPropertySet.req
ファイルのクライアント分類プロパティを読み込み、ルック アンド フィール ロジックを使用してクライアント分類の名前に一致するスキンとスケルトンのディレクトリを探します。
作成するポータル Web プロジェクトには、スキンおよびスケルトンのサブディレクトリ (\framework\skins\default
および \framework\skeletons\default
) にあるマルチチャネル ルック アンド フィールのデフォルト セットが含まれます。
ルック アンド フィールのスキンとスケルトンを作成する方法については、「ルック アンド フィールの機能を使用したユーザ インタフェース開発」を参照してください。
DefaultRequestPropertySet.req
ファイルに格納されたクライアント分類名を使用すると、そのプロパティ値に応じたデバイスのパーソナライゼーションおよびキャンペーンを構築し、トリガできます。
パーソナライゼーションとキャンペーンの開発については、『対話管理ガイド』を参照してください。
![]() ![]() ![]() |