ポータル開発ガイド

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

複数デバイス タイプのポータルの作成

多くの Web 対応モバイル デバイスがポータルにアクセスできます。各ノードには表示できるコンテンツに対して固有の要件があります。

WebLogic Portal に付属のマルチチャネル フレームワークでは、ポータルを拡張してさまざまなモバイル デバイスのサポートを含めることができます。この柔軟なフレームワークにより、複数の Web 対応デバイスに対してシームレスにかつ同時にコンテンツを供給できる単一のポータルを作成できます。また、Mozilla Firefox、Netscape、Internet Explorer などのさまざまなブラウザに異なるコンテンツを供給できます。

デバイスがポータルにアクセスすると、ポータルはデバイス タイプを検出し、そのデバイス用に作成したコンテンツを割り当てられたルック アンド フィールで自動的に供給します。

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

 


ポータル Web アプリケーションのマルチチャネル機能の有効化

デバイス (PC またはハンドヘルド) がポータルにアクセスすると、デバイスはそれ自体の情報を HTTP ヘッダでポータルに送信します。これには、使用されるブラウザ タイプやデバイス タイプが含まれます。この情報の組み合わせは、クライアントを定義するものであり、デバイスのモデルに相当します。

ユーザ エージェント要素を使用して、WebLogic Portal 分類コンフィグレーション ファイルでクライアントを定義します。複数のクライアントを分類にグループ化できます。たとえば、Palm ハンドヘルド デバイスには多くのモデル (クライアント タイプ) がありますが、それらはすべて「Palm」に分類されます。

ポータル Web プロジェクトのマルチチャネル フレームワークを有効化するには、クライアントを分類にマップする XML コンフィグレーション ファイルを作成します。このファイルに client-classifications.xml と名前を付けて、WEB-INF ディレクトリに配置する必要があります。Workshop for WebLogic で XML ファイルを作成するには、[ファイル|新規作成|その他|XML] を選択します。

分類にマップする各クライアント エントリには、デバイスが送信する内容を正確にマップする明示的なユーザ エージェント文字列を含めるか、複数のユーザ エージェント文字列を含んだ正規表現を入力できます。

コード リスト 10-1 に、明示的マッピング (<useragent> タグ付き) および正規表現マッピング (<useragent-regex> タグ付き) を使用した、client-classifications.xml のクライアント分類マッピングのサンプルを示します。

コード リスト 10-1 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> タグを使用して正規表現にマップすると、ポータルにアクセスするデバイスは複数の分類にマップできるようになります。デバイスがマップされる分類を調べるには、コード リスト 10-1 に示す priority (優先度)属性を使用します。値 1 は優先度が最も高くなります。priority (優先度)の値には任意の整数を入力します。

注意 : クライアント分類に割り当てられたポートレットには、description 要素に入力した値が WebLogic Portal Administration Console に表示され、ポートレットが割り当てられた分類が示されます。必ずポータル管理者が簡単に分かるように description (説明) を作成してください。

client-classifications.xml ファイルで定義したマッピングに基づいて、<useragent> プロパティのユーザ エージェント値は提供した分類名にマップされます。コード リスト 10-1 の分類名は pocketpc です。

 


マルチチャネル プロセッシングのロードマップ

図 10-1 に、デバイスがポータルにアクセスした場合のマルチチャネル フレームワーク プロセッシングのシーケンスを示します。

図 10-1 マルチチャネル フレームワーク プロセッシングのシークエンス

マルチチャネル フレームワーク プロセッシングのシークエンス

デバイスが URL 付きのポータル対応サーバにアクセスすると、デバイスはクライアント タイプを識別する HTTP ヘッダのユーザ エージェント文字列を送信します。client-classification.xml ファイルで定義したマッピングにより、<useragent> プロパティに格納されたユーザ エージェント文字列は、提供した分類名にマップされます。図 10-1 に示すように、この名前は pocketpc です。

ユーザ エージェントのリクエスト プロパティは、Workshop for WebLogic に作成する任意のポータル アプリケーションに自動的に含まれます。このプロパティを表示するには、Workshop for WebLogic ワークスペースで以下のファイルを開きます。

Portal_Web_Project\Data_Dir\src\request\DefaultRequestPropertySet.req

ポータルは、DefaultRequestPropertySet.req ファイルに格納されたそのクライアント分類名をポータル フレームワークを通じて使用し、デバイスに合わせて作られたコンテンツや表示方法を特定します。

HTTP リクエストのユーザ エージェント文字列が分類名に一致するように設定したマッピングに基づいて、ポータルはデバイス固有のコンテンツや表示方法をポータルにアクセスするさまざまなデバイスに送信します。

 


マルチチャネル環境で使用するポータルの開発

以下の節では、デバイス固有のコンテンツと表示方法を作成するポータル フレームワークの使用方法について説明します。

ポーレットのクライアント分類の管理

ポーレットを作成するときに、さまざまなデバイスが使用できるようにポーレットを割り当てることができます (クライアント分類)。ポーレットをエディタで開き、プロパティ ビューに移動して次の手順を行います。

  1. 図 10-2 に示した [クライアント分類] フィールドの省略記号ボタンをクリックします。
  2. 図 10-2 クライアント分類プロパティが表示されたプロパティ ビュー


    クライアント分類プロパティが表示されたプロパティ ビュー

    [ポーレット分類の管理] ダイアログが表示されます。図 10-3 に例を示します。

    図 10-3 [ポートレット分類の管理] ダイアログの例


    [ポートレット分類の管理] ダイアログの例

    注意 : このダイアログを表示するには、client-classifications.xml ファイルがプロジェクトの WEB-INF ディレクトリに存在する必要があります。
  3. [ポーレット分類の管理] ダイアログで、クライアント分類のサブセットを有効または無効にするよう選択します。識別しない分類は自動的に反対のカテゴリに振り分けられます。分類のサブセットを有効にするかどうかを決定し、残りを無効のままにするか、分類のサブセットを無効にして残りを有効のままにします。
  4. この手順の説明では、分類のサブセットを無効にし、残りを有効のままにするものとします。

    1. [無効な分類] ラジオ ボタンを選択して、分類のポートレットを無効にします。
    2. [追加x] ボタンを使用して、希望する分類を [選択済みの分類] カラムに移動します。
    3. デフォルトでは、無効にした場合の除き、分類は有効になっています。

  5. 終了したら、[OK] をクリックして設定を保存します。

JSP タグでのクライアント属性の使用

WebLogic Portal には、JSP 内でデバイス固有のインライン コンテンツを作成する JSP タグが含まれています。JSP タグで定義されたデバイス条件を満たすコンテンツだけがデバイスに配信されます。

関連する JSP タグには、JSP コンテンツを分類にマッピングするのに必要な client 属性が含まれています。JSP タグの client の値には、client-classifications.xml ファイルの名前に使用して値をそのまま使用する必要があります。

コード リスト 10-2 に、client タグのいくつかの使用法を示します。

コード リスト 10-2 Client タグの使用法を示すサンプル JSP ファイル
<%@ 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>
同じ画像のさまざまなバージョンがクライアント分類に応じて選択されます。「&quot;default&quot;」のクライアントには、大きな画像が表示されます。「&quot;palm&quot;」および「&quot;pocketpc&quot;」には、画像の小さなバージョンが使用されます。「&quot;nokia&quot;」分類には、グレースケール画像が使用されます (単に例として)。 
<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>
異なる分類では、画像の配置もわずかに変更されます。
クライアントに、「&quot;nokia&quot;」または「&quot;palm&quot;」分類がない場合、<client:when-not client="palm,nokia">
<p/>
この追加のコンテンツも含まれます。
<p/></client:when-not>

適切なルック アンド フィールの開発

WebLogic Portal に付属のルック アンド フィール (スキンとスケルトン) には、いくつかのモバイル デバイス (Nokia、Palm、Pocket PC) のサポートが含まれています。

独自のスキンとスケルトンを開発すると、さまざまなデバイスをサポートできます。デスクトップのルック アンド フィールを選択すると、ポータル フレームワークは DefaultRequestPropertySet.req ファイルのクライアント分類プロパティを読み込み、ルック アンド フィール ロジックを使用してクライアント分類の名前に一致するスキンとスケルトンのディレクトリを探します。

作成するポータル Web プロジェクトには、スキンおよびスケルトンのサブディレクトリ (\framework\skins\default および \framework\skeletons\default) にあるマルチチャネル ルック アンド フィールのデフォルト セットが含まれます。

ルック アンド フィールのスキンとスケルトンを作成する方法については、「ルック アンド フィール機能を使用したユーザ インタフェース開発」を参照してください。

対話管理の開発

DefaultRequestPropertySet.req ファイルに格納されたクライアント分類名を使用すると、そのプロパティ値に応じたデバイスのパーソナライゼーションおよびキャンペーンを構築し、トリガできます。

パーソナライゼーションとキャンペーンの開発については、『対話管理ガイド』を参照してください。


  ページの先頭       前  次