ポータル開発ガイド

     前  次    目次     
ここから内容

Workshop for WebLogic を使用したポータル開発

この章で説明するタスクを実行する前に、『ポータル開発環境の設定』 に記載された設定手順をすでに実行していることを確認してください。また、ポータルの構築を始める前に、ルック アンド フィール要素や必要な CSS ファイルなど、ポータルのフレームワークを準備しておく必要があります。

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

 


ポータルの作成

ポータルを作成すると、WebLogic Portal によりポータル ファイルが作成されます。このファイルは、.portal ファイル拡張子を持つ XML ファイルです。.portal ファイルは、ポータルでの中心的なファイルとして定義され、デスクトップ、ブック、ページ、ポートレットなど、ポータルのすべての主要なコンポーネントへの参照が設定されています。

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

ポータルとそれに付随する .portal ファイルを作成するには、以下の手順を実行します。

  1. ポータル パースペクティブをまだ開いていない場合は、[ウィンドウ|パースペクティブを開く|ポータル] を選択して、ポータル パースペクティブを選択します。
  2. ポータル Web プロジェクトの Web コンテンツ ディレクトリ (デフォルトでは WebContent) に移動し、ディレクトリを右クリックして [新規|ポータル] を選択します。
  3. 図 7-1 に示すように、[新しいポータル] ダイアログが表示されます。

    Web コンテンツ ディレクトリを右クリックしてこのウィザードを起動したため、親フォルダ フィールドにそのディレクトリ名が自動的に表示されます。

    図 7-1 [新しいポータル] ダイアログ


    [新しいポータル] ダイアログ

    Web プロジェクト ディレクトリの下位にある Web コンテンツ ディレクトリで、目的のポータル ファイルを見つけます。デフォルトの Web コンテンツ ディレクトリ名は WebContent で、この名前は [ポータル Web プロジェクト] ウィザードを使用するときに割り当てられます。Web コンテンツのディレクトリの名前は、必要に応じて変更できます。詳細については、「[新しいポータル Web プロジェクト - Web Module] ダイアログ」を参照してください。

  4. [ファイル名] フィールドに、ポータルに割り当てる名前を入力します。
  5. ポータルのファイル タイプは .portal にする必要があります。ポータルの名前に拡張子 .portal を入力することもできますが、入力を省略するとこの拡張子が自動的に追加されます。

  6. [完了] をクリックする。
  7. 図 7-2 に示すように、ポータル Web プロジェクトの指定したフォルダにポータルが追加され、このポータルがエディタに表示されます。

    図 7-2 Workshop for WebLogic に表示されるポータル


    Workshop For WebLogic に表示されるポータル

作成したポータルには、デスクトップヘッダフッタブック、およびページが含まれます。デスクトップは、ポータル コンテンツのユーザ固有のビューです。ポータルでは多数のデスクトップをサポートできます。1 つのポータルでは、従業員固有のデスクトップや顧客固有のデスクトップなどをサポートできます。各デスクトップでは、さまざまな種類のコンテンツをさまざまなグループのユーザに公開します。ポータルの任意の部分 (ブック、ページ、特定のアプリケーション、個々のリンクなど) をデスクトップに含めたり、デスクトップから除外したりできます。

また、デスクトップでは、ポータルのルック アンド フィール属性を定義することもできます。デスクトップは、使用する配色、フォント、および画像を定義する特定のスキンに関連付けることができます。デスクトップには、ヘッダとフッタも含まれています。イメージ、テキスト、任意の Web コンテンツをこれらの領域に配置することで、デスクトップのルック アンド フィールに一貫性を持たせることができます。

通常、Workshop for WebLogic を使用してポータルとその主要コンポーネントを開発した後、WebLogic Portal Administration Console でポータルをテンプレートとして使用して、特定のデスクトップを作成します。開発の次の段階でデスクトップを作成する方法については、「ポータル デスクトップの管理」を参照してください。

階層形式でコンテンツとナビゲーションを整理するには、ブックを使用します。ブックには他のブックまたはページを含めることができます。ブラウザでは、ブックは一連のタブまたはリンクとして表示されます。各ポータルには、「メイン ページ ブック」というメイン ブックがデフォルトで含まれています。ページは、ポータルの実際のコンテンツを編成する一連のカラムとウィンドウで構成されます。ページに移動するには、個々のタブまたはリンクをクリックします。Workshop for WebLogic または WebLogic Portal Administration Console のいずれかを使用して、ブックおよびページを作成できます。

ページまたはブックのポータルへの追加

この節では、ポータルのメイン ブックに次のページを追加する方法について説明します。ブラウザにポータルが表示されると、2 つのページはクリックできる 2 つのタブとして表示されます。新しいページを追加する方法はいくつかあります。この節では、ドラッグ アンド ドロップによる方法について説明します。

注意 : ポータルにブックを追加する手順は、ページを追加する手順とほとんど同じです。ここでは、両方の手順を説明するのではなく、ページを追加する方法について説明し、必要な箇所で両方のタスクの違いについて説明することにします。

ポータルにページを追加するには、以下の手順を実行します。

  1. パレット ビューの [ページ] アイコンを追加先の場所にドラッグします。新しいページをデフォルトのポータル ページの右側に追加すると、図 7-3 のようになります。
  2. ヒント : パレット ビューが表示されていない場合は、[ウィンドウ|ビューの表示|パレット] を選択します。
    図 7-3 Workshop for WebLogic のポータルへのページの追加


    Workshop for WebLogic のポータルへのページの追加

スタンドアロン ブックまたはページの作成

スタンドアロン ブックまたはページを作成することができます。作成すると、ブックまたはページの情報は別個の .book または .page ファイルに保存され、.portal ファイルには組み込まれせん。スタンドアロン ブックおよびページは、ポータル開発環境で非常に有用な要素です。たとえば、チーム開発環境では、個別に管理して後でポータルに追加できる個々のブックまたはページを開発者は作成できます。また、リモートのコンシューマ アプリケーションにアクセスできるブックやページを作成する場合は、Workshop for WebLogic を使用して、ブックまたはページをスタンドアロンの .book または .page ファイルとして作成する必要があります。

注意 : スタンドアロン ブックの作成手順は、スタンドアロン ページの作成手順とほとんど同じです。ここでは、両方の手順を説明するのではなく、スタンドアロン ページを作成する方法について説明し、必要な箇所で両方の手順の違いを説明することにします。

ポータルにスタンドアロン ページを作成するには、以下の手順を実行します。

  1. ポータル Web プロジェクトで、Web コンテンツ フォルダ (通常、名前は WebContent) または Web コンテンツ フォルダ内のフォルダに移動します。
  2. Web プロジェクト ディレクトリの下位にある Web コンテンツ ディレクトリまたはサブディレクトリで、ブックとページを見つけます。デフォルトの Web コンテンツ ディレクトリ名は WebContent で、この名前は [ポータル Web プロジェクト] ウィザードを使用するときに割り当てられます。Web コンテンツのディレクトリの名前は、必要に応じて変更できます。詳細については、「[新しいポータル Web プロジェクト - Web Module] ダイアログ」を参照してください。

  3. [ファイル|新規|その他] を選択します。
  4. [新規 - ウィザードを選択] ダイアログで、WebLogic Portal フォルダを開き、[ページ] を選択し、[次へ] をクリックします。
  5. [新しいページ] ダイアログで、ウィザードを開始する前に移動した親フォルダのパスが自動入力されていることを確認します。

  6. 新しいページの名前を入力します。図 7-4 に例を示します。
  7. スタンドアロン ページの場合、ファイル タイプは .page にする必要があります (スタンドアロン ブックの場合は .book)。必要な場合は .page 拡張子を入力できますが、入力しないと、WebLogic Portal により自動的に拡張子が追加されます。

    図 7-4 [新しいページ] ダイアログ


    [新しいページ] ダイアログ

  8. [終了] をクリックします。
  9. 図 7-5 に示すように、指定したフォルダのポータル Web プロジェクトに新しいページが追加されます。

    図 7-5 新しいページ ファイル


    新しいページ ファイル

    また、エディタでページを開くと、図 7-6 のようになります。

    図 7-6 エディタに表示されたページ ファイル


    エディタに表示されたページ ファイル

抽出した既存のページまたはブックの再利用

既存のページを抽出して、このページは、Web プロジェクト内の別のポータル アプリケーションに再利用できます。既存のページを抽出する場合、そのすべてのコンテンツ (ポートレットなど) も抽出されます。

既存のページまたはブックを抽出するには、以下の手順に従います。

  1. 抽出するブックまたはページを強調表示します。
  2. 右クリックして、[Extract Page/Book to New File...] を選択します。
  3. [名前を付けて保存] ダイアログで、ブックまたはページを保存するフォルダに移動します。フォルダの場所が抽出するポータルと同じ Web プロジェクトにあることを確認してください。

ブックまたはページの参照 (コンテンツ) の追加

次の選択手順に従って、既存のブックまたはページへの参照をポータルのブックまたはページに追加します。

ポータル エディタからのブックまたはページの参照の追加

ポータル エディタからブックまたはページの参照を追加するには、以下の手順を実行します。

  1. ブックまたはページの参照を追加するポータル要素を強調表示します。
  2. 選択した要素の周囲にオレンジ色の境界線が表示されます。

  3. 右クリックし、[挿入|新しいブック コンテンツ] または [挿入|新しいページ コンテンツ] を選択します。
  4. [ブックの選択] ダイアログまたは [ページの選択] ダイアログが表示されます。Web プロジェクト用のすべての .book ファイルまたは .page ファイルが一覧表示されます。

    注意 : [挿入] メニュー オプションは、選択したポータル要素に応じて、この選択が有効な場合にのみ表示されます。
  5. 目的の .book ファイルまたは .page ファイルを選択し、[OK] をクリックします。
  6. Workshop for WebLogic ウィンドウが更新されて、アウトライン ビューに Book (または Page) Content ノードが追加され、プロパティ ビューにコンテンツ プロパティが表示されます。

アウトライン ビューを使用したブックまたはページの参照の追加

[アウトライン] ビューからブックまたはページの参照を追加するには、以下の手順を実行します。

  1. ブック コンテンツまたはページ コンテンツの追加先の要素を右クリックし、[挿入|新しいブック コンテンツ] または [挿入|新しいページ コンテンツ] を選択します。
  2. [ブックの選択] ダイアログまたは [ページの選択] ダイアログが表示されます。Web プロジェクト用のすべての .book ファイルまたは .page ファイルが一覧表示されます。

    注意 : [挿入] メニュー オプションは、選択したポータル要素に応じて、この選択が有効な場合にのみ表示されます。
  3. 目的の .book ファイルまたは .page ファイルを選択し、[OK] をクリックします。
  4. Workshop for WebLogic ウィンドウが更新されて、アウトライン ビューに Book (または Page) Content ノードが追加され、プロパティ ビューにコンテンツ プロパティが表示されます。

ブックおよびページの再配置

ブックおよびページの順序を変更できます。たとえば、メイン ページ ブックに 1 つのページと 1 つのブックが次の順序で配置されているとします。

ホーム ページ|マイ ブック

この順序を次のように変更できます。

マイ ブック|ホーム ページ

ブックおよびページの順序を変更するには、アウトライン ビューで、移動するブックまたはページを右クリックし、[上へ移動] または [下へ移動] を選択します。アウトライン ビュー内でブックまたはページが上または下に移動し、ポータル エディタ内では水平方向の順序が変更されます。

ブックおよびページの配置を変更しても、WebLogic Portal Administration Console を使用して作成済みのブックおよびページの配置は、ポータル デスクトップでは変更されません。これらのブックおよびページの再配置の手順については、「ポータル デスクトップの管理」を参照してください。

 


ポータル コンポーネントのプロパティの設定

ポータルのプロパティは、ポータルをユニークに識別し、ポータルの特性を定義する名前付きのポータルの属性です。一部のプロパティ (タイトル、定義ラベルなど) は必須です。多くのオプションのプロパティを使用すると、プレゼンテーション プロパティ、ロールオーバ画像、コントロール ツリーの最適化など、ポータルの特定の機能を有効にできます。ポータルに使用する特定のプロパティは、そのポータルの使い方に応じて異なります。

各ポータル コンポーネントには、動作のコンフィグレーションに使用するプロパティのセットが含まれています。たとえば、デスクトップで使用するルック アンド フィール、および実行時に使用するエンコーディングのタイプを指定するデスクトップ プロパティをコンフィグレーションできます。

ポータル プロパティには、メイン コンポーネント (ブック、ページ、デスクトップなど) 用のプロパティのサブセットが含まれています。*.portal ファイルでは、これらのプロパティの全体のビューが提供されます。

ポータル ライフサイクルの開発段階では、通常 Workshop for WebLogic を使用してポータルのプロパティを編集します。この節では、Workshop for WebLogic を使用して編集できるプロパティについて説明します。

ステージング段階およびプロダクション段階では、通常 WebLogic Portal Administration Console を使用してポータルのプロパティを編集します。この時点では、プロパティのサブセットのみ編集可能です。WebLogic Portal Administration Console でポータル プロパティを編集する手順については、「ポータル デスクトップの管理」を参照してください。

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

ポータル プロパティの編集

ポータル エディタ ビューで境界線をクリックすると、ポータルのそのセクションの周囲にオレンジ色の輪郭が表示され、関連するプロパティのセットがプロパティ ビューに表示されます。表示されるプロパティは、ビューで選択した境界線に応じて異なります。図 7-7 は、強調表示されたヘッダ領域と関連するプロパティを示しています。

ポータル プロパティを編集するには、以下の手順を実行します。

  1. プロパティを編集するポータルがある場所に移動し、.portal ファイルをダブルクリックしてエディタで開きます。
  2. 目的のコンポーネントの境界線をクリックし、プロパティ ビューにそのプロパティを表示します。
  3. 表示されるプロパティは、選択したアクティブ領域に応じて異なります。たとえば、境界線の外側 (デスクトップ) をクリックするとデスクトップ全体が表示され、プレースホルダの内側をクリックするとそのプレースホルダのプロパティが表示されます。

  4. プロパティ ビューに移動して、そのコンポーネントのプロパティの現在の値を表示します。図 7-7 に、ポータル ヘッダのプロパティ ビューの一部を示します。
  5. 図 7-7 ポータル プロパティの例 - ヘッダ プロパティ


    ポータル プロパティの例 - ヘッダ プロパティ

  6. 変更するフィールドをダブルクリックします。
  7. マウスをプロパティ フィールドの上に移動すると、そのフィールドの説明がポップアップ ウィンドウに表示されます。

    一部のプロパティは、ポータルを作成した後は値を編集できなくなります。

    プロパティ フィールドによっては、そのプロパティに関連する情報を表示できる場合があります。たとえば、スケルトン URI プロパティには、関連付けられているファイルを表示する [開く] ポータル プロパティの例 - ヘッダ プロパティ ボタンが用意されています。プロパティ ビューで利用できるオプションの詳細については、「プロパティ ビューを使用する場合のヒント」を参照してください。

プロパティ ビューを使用する場合のヒント

プロパティ ビューの動作は、編集するフィールドの種類に応じて異なります。次に説明するヒントは、プロパティ ビューのデータ フィールドの内容を操作するときに役立つ場合があります。

プレゼンテーション プロパティ

ポータルの各コンポーネントには、ユニークなプレゼンテーション プロパティを設定できます。表 7-1 に、プレゼンテーション プロパティとその値を示します。

表 7-1 プレゼンテーション プロパティ
プロパティ
説明
[プレゼンテーション クラス]
省略可能。
コンポーネントのスケルトンによって使用されるデフォルトの CSS クラスをオーバーライドする CSS クラス。
適切に表示するには、ルック アンド フィールの選択したスキンのカスケーディング スタイル シート (CSS) ファイル内にこのクラスが存在し、スキンの skin.xml ファイルがその CSS ファイルを参照している必要がある。
サンプル : 「my-custom-class」と入力した場合、デフォルトのスケルトンから表示される HTML は次のようになる。
<div class="my-custom-class">
入力するプロパティは、コンポーネントの親 <div>タグに追加される。ブック、ページ、ポートレットに関して、[コンテンツ プレゼンテーション クラス] プロパティを使用して、コンポーネントのコンテンツ/子 <div> タグのプロパティを設定する。特に、コンテンツのスクロールと高さ設定を有効化するスタイル クラスの設定を行う。

注意 : ファイルベースのポータルの使用時のみ、プレスーホルダ上のプレゼンテーション プロパティを適用できます。

[プレゼンテーション ID]
省略可能。コンポーネントについて表示される HTML タグに挿入されるユニークな ID。入力した値 (ポータル内のすべてのプレゼンテーション ID 間でユニークにする) は、コンポーネントのスケルトンによって挿入される可能性がある ID をオーバーライドする。使用例としては、JavaScript による処理の対象にできるユニークな ID の挿入など。
サンプル : 「A12345」と入力した場合、デフォルトのスケルトンから表示される HTML は次のようになる。
<div id="A12345">
[プレゼンテーション スタイル]
ポータル コンポーネントについて挿入する HTML スタイル属性。この属性はスタイル シートのクラス属性に相当し、スタイル シート クラスのすべての属性をオーバーライドする。複数のエントリがある場合はセミコロンで区切る。
サンプル : ポートレット タイトルバーについて {background-color: #fff} と入力すると、デフォルトのスケルトンから表示される HTML は、次のようになる。
<div class="bea-portal-window-titlebar" style="{background-color: #fff}">**
また、ポートレット タイトルバーの背景色は白になる。入力した background-color 属性は、bea-portal-window-titlebar クラスの background-color 属性をオーバーライドする。
入力するプロパティは、コンポーネントの親 <div>タグに追加される。ブック、ページ、ポートレットに関して、[コンテンツ プレゼンテーション スタイル] プロパティを使用して、コンポーネントのコンテンツ/子 <div> タグのプロパティを設定する。特に、コンテンツのスクロールと高さ設定を行う。

注意 : ファイルベースのポータルの使用時のみ、プレスーホルダ上のプレゼンテーション プロパティを適用できます。

[プロパティ]
オブジェクトと関連付ける、名前と値のペアのセミコロン区切りリスト。このデータをスケルトンで活用して表示に変更を加えることができる。

注意 : ファイルベースのポータルの使用時のみ、プレスーホルダ上のプレゼンテーション プロパティを適用できます。

[スケルトン URI]
ポータル コンポーネントの表示に使用されるスケルトン JSP へのパス (プロジェクトを基準とした相対パス)。この JSP は、デスクトップ用に選択されたルック アンド フィールで使用するスケルトン JSP をオーバーライドする。たとえば、/frameworks/myskeletons/mytitlebar.jsp のように入力する。

注意 : ファイルベースのポータルの使用時のみ、プレスーホルダ上のプレゼンテーション プロパティを適用できます。

デスクトップ プロパティ

デスクトップ プロパティでは、ポータル デスクトップの動作を指定できます。デスクトップに、バッキング ファイル、ルック アンド フィール プロパティ (シェル、タイトルなど)、およびデスクトップで使用するルック アンド フィールを割り当てることができます。表 7-2 に、デスクトップ プロパティとその値を示します。

ツリー最適化、および非同期モードの 2 つのデスクトップ プロパティはパフォーマンスのためにも重要です: パフォーマンスを重視したポータルの設計の詳細については、「最適なパフォーマンスを得るためのポータルの設計」を参照してください。

表 7-2 デスクトップ プロパティ
プロパティ タイプ
プロパティ
説明
バックアップ可能プロパティ
[バッキング ファイル]
ポートレット表示の前にクラスを使用して事前処理 (認証など) を行う場合は、そのクラスの完全修飾名を入力する。このクラスはインタフェース com.bea.netuix.servlets.controls.content.backing.JspBacking を実装するものでなければならない。
または、次のようにインタフェースを拡張する必要がある。
com.bea.netuix.servlets.controls.content.backing.AbstractJspBacking.
デスクトップ プロパティ
非同期モード
非同期モードを使用すると、デスクトップのコンテンツを非同期で表示するように設定できる。非同期モードが有効である場合、ポータル コンテンツ (個々のポートレットを含む) は個々の表示ライフ サイクルがいつ終了するかを表示する。
ドロップダウン メニューは以下のオプションを表示する。
  • 有効化 - デスクトップ全体で非同期的な表示が有効になる。一方、各デスクトップ コンポーネント (ブック、ページ、ポートレットなど) は、独自のライフサイクルで表示する。
  • 無効化 - このオプションを選択すると、デスクトップ全体を同期的に表示する。
  • Compat_9_2 — このオプションを選択すると、WebLogic Portal 9.2 でユーザが使用したすべての同期設定との互換性が保持される。
[定義ラベル]
各コンポーネントにユニークな識別子が必要。デフォルト値が自動的に入力されますが、その値を変更できます。定義ラベルは、ブック、ページ、またはポートレットへの移動に使用できる。また、コンポーネントは、資格および委託管理のために定義ラベルを備えていることが必要である。
この値を Workshop for WebLogic で編集してわかりやすい値にすることが望ましい。特に、ブック、ページ、またはポートレットをリモートで提供する場合は、そうすることでプロデューサ リストからの識別が容易になる。

注意 : こうすることで AquaLogic Interaction Analytics を使ってブック、ページ、またはポートレットをモニタする場合、Analytics レポートでこれらが識別しやすくなるため、特に重要となる。

WebLogic Portal Administration Console のデスクトップにポータル リソース インスタンスを作成する場合、生成された定義ラベルは編集できない。
[エンコーディング]
ポータルの表示に使用するエンコーディングを選択する。デフォルトは UTF-8。ドロップダウン メニューを使用して値を選択できる。このドロップダウン メニューでは、5 つの一般的な IANA エンコーディングが選択肢として表示される。また、フィールドに値を入力することもできる。コンポボックスに表示される値は説明用の表示名であり、.portal ファイルに保存されるときに実際の IANA 名に変換されます。
拡張エンコーディング セットから、エンコーディング用に IANA 名、エリアス、または標準名として名前を入力することもできる。ドロップダウン メニューに表示されない値を入力して、〔Enter〕を押すかフィールドの外部をクリックすると、バリデータは入力値を検証する。エンコーディングの検証に失敗すると、警告メッセージが表示される。値を変更するか、または受け入れることもできる。フィールドに示された値は .portal ファイルに保存される。
文字セットは以下のリソースに基づいており、通常は次の順序となる。
  1. ポータルのエンコーディング (デスクトップの「エンコーディング」属性)
  2. netuix-config.xml のデフォルトのエンコーディング セット
weblogic.xml<jsp-descriptor> 要素のエンコーディング セット。
   
 
[ルック アンド フィール]
デフォルトのデスクトップの外観 (スキンとスケルトンの組み合わせ) を決定するルック アンド フィールを選択する。
[ウィンドウへのスクロール]
ポータル ユーザがスクロール可能なページと対話する場合、ブラウザのフォーカスをアクティブなポートレットに保持する。このプロパティは、デフォルトで true に設定されている。

注意 : このプロパティは、非同期デスクトップ表示または非同期ポートレット表示には対応していません。

シェル
ブック、ページ、およびポートレットの外部領域のデフォルト シェルを選択する。シェルはデスクトップのヘッダおよびフッタの内容を決定する。
[タイトル]
デスクトップのタイトルを入力する。
 
[ツリー最適化]
この機能を使用するとパフォーマンスが向上する。特に、大規模なコントロール ツリー (ブック、ページ、ポートレット) があるポータルに有効。このフラグを true に設定すると、ポータル フレームワークによってコントロール ツリーの全体ではなく一部が生成される。ツリー最適化はポータルの動作に多少の変化をもたらすので、必ず事前にポータルで完全なリグレッション テストを実行してから使用すること。詳しくは、「最適なパフォーマンスを得るためのポータルの設計」を参照してください。

ブック プロパティ

ブック プロパティを使用すると、バッキング ファイルをブックに割り当てることができます。また、ポータルのルック アンド フィール ファイルではなく、テーマ ファイルを使用するようにページを設定することもできます。ブック プロパティには、ブックのさまざまなプレゼンテーション プロパティも含まれています。表 7-3 を参照してください。

表 7-3 ブック プロパティ 
プロパティ タイプ
プロパティ
定義
バックアップ可能プロパティ
[バッキング ファイル]
ポートレット表示の前にクラスを使用して事前処理 (認証など) を行う場合は、そのクラスの完全修飾名を入力する。このクラスはインタフェース com.bea.netuix.servlets.controls.content.backing.JspBacking を実装するか、com.bea.netuix.servlets.controls.content.backing.AbstractJspBacking を拡張するものでなければならない。
 
[定義ラベル]
各コンポーネントにユニークな識別子が必要。デフォルト値が自動的に入力されますが、その値を変更できます。定義ラベルは、ブック、ページ、またはポートレットへの移動に使用できる。また、コンポーネントは、資格および委託管理のために定義ラベルを備えていることが必要である。
この値を Workshop for WebLogic で編集してわかりやすい値にすることが望ましい。特に、ブック、ページ、またはポートレットをリモートで提供する場合は、そうすることでプロデューサ リストからの識別が容易になる。

注意 : こうすることで AquaLogic Interaction Analytics を使ってブック、ページ、またはポートレットをモニタする場合、Analytics レポートでこれらが識別しやすくなるため、特に重要となる。

WebLogic Portal Administration Console のデスクトップにポータル リソース インスタンスを作成する場合、生成された定義ラベルは編集できない。
.book および .page 定義ラベルについて: ポータル内に (同じ定義ラベルを持った) 同じ .book や .page ファイルが複数含まれるのを防ぐ。たとえば、ポータル内で同じ .book.page ファイルのネストされた埋め込みを使用すると、複製された定義ラベルが存在するため、表示の問題が発生します。
 
[非表示]
省略可能。
ポータル コンポーネントのナビゲーション タブを非表示にして、直接アクセスできないようにする。ページまたはブックへは、(定義ラベルへの) リンクまたはバッキング ファイルを使用してアクセスできる。
 
[圧縮]
展開モードでも圧縮モードでもブックまたはページを表示するためにスケルトンが使用できる表示ヒント。このプロパティをサポートするには、独自のスケルトンを構築する必要がある。
[圧縮] = 「false」 (デフォルト値) の場合、ブックまたはページが占める水平方向のスペースは可能な限り大きくなる。
[圧縮] = 「true」の場合、ブックまたはページが占める水平方向のスペースは可能な限り小さくなる。
HTML 側から見ると、このプロパティはウィンドウがテーブルを使用して表示される場合に最も有用である。圧縮が「false」の場合、テーブルの相対的な幅が「100%」に設定される。圧縮が「true」の場合、テーブルの幅は設定されないままになる。
 
[ロールオーバ画像]
ブックまたはページのタイトルの横に表示されるアイコンのロールオーバ画像へのパス。
指定されたパスがプロジェクトを基準とした相対パスではない場合があるため、Workshop for WebLogic は画像ファイルを見つけることができず、ポータル エディタのブック タブまたはページ タブに画像ファイルは表示されない。画像パスは、選択したルック アンド フィールに関連付けられた skin.xml ファイルで指定された画像検索パスを基準とした相対パスである必要がある。
 
[選択済み画像]
ブックまたはページのタイトルの横に表示されるアイコンにオーバーライドする画像を選択する。この画像は、選択済みページのタブ上に表示される。
指定されたパスがプロジェクトを基準とした相対パスではない場合があるため、Workshop for WebLogic は画像ファイルを見つけることができず、ポータル エディタのブック タブまたはページ タブに画像ファイルは表示されない。画像パスは、選択したルック アンド フィールに関連付けられた skin.xml ファイルで指定された画像検索パスを基準とした相対パスである必要がある。
 
[テーマ]
省略可能。
ブックとページに適用される。テーマを選択して、ブックまたはページに、デスクトップのその他の部分とは異なるルック アンド フィールを設定する。
 
[タイトル]
ポータル コンポーネントのタイトルを入力する。ページ タイトルはページ タブに表示され、ポートレット タイトルはポートレット タイトル バーに表示される。
プレースホルダには、プレースホルダの名前。この値は読取り専用であり、ページの選択されたレイアウト タイプの .layout ファイルから取得される。
 
[未選択画像]
ブックまたはページのタイトルの横に表示されるアイコンにオーバーライドする画像を選択する。この画像は、選択済みページのタブ上に表示される。
指定したパスがプロジェクトを基準とした相対パスではない可能性があるため、Workshop for WebLogic は画像ファイルを見つけることができず、ポータル エディタのブック タブやページ タブには表示されない。画像パスは、選択したルック アンド フィールに関連付けられた skin.xml ファイルで指定された画像検索パスを基準とした相対パスである必要がある。
ブック プロパティ
[コンテンツ プレゼンテーション クラス]
コンポーネントのスケルトンによって使用されるデフォルトの CSS クラスをオーバーライドする CSS クラス。
適切に表示するには、ルック アンド フィールの選択したスキンのカスケーディング スタイル シート (CSS) ファイル内にそのクラスが存在し、スキンの skin.xml ファイルがその CSS ファイルを参照している必要がある。
サンプル : 「my-custom-class」と入力した場合、デフォルトのスケルトンから表示される HTML は次のようになる。
<div class="my-custom-class">
入力するプロパティは、コンポーネントの親 <div>タグに追加される。ブック、ページ、ポートレットに関して、[コンテンツ プレゼンテーション クラス] プロパティを使用して、コンポーネントのコンテンツ/子 <div> タグのプロパティを設定する。特に、コンテンツのスクロールと高さ設定を有効化するスタイル クラスの設定を行う。
 
[コンテンツ プレゼンテーション スタイル]
省略可能。主な用途は、コンテンツのスクロールおよびコンテンツの高さの設定である。
スクロールでは、以下のいずれかの属性を入力する。
  • overflow-y:auto - 縦スクロール (Y 軸) を可能にする。
  • overflow-x:auto - 横スクロール (X 軸) を可能にする。
  • overflow:auto - 縦および横スクロールを可能にする。
高さの設定では、以下の属性を入力する。
  • height:200px
200px の部分には、HTML の有効な高さを設定する。
[プレゼンテーション スタイル] プロパティの場合と同様に、コンテンツに他のスタイル プロパティを設定することもできる。プロパティは、コンポーネントのコンテンツ/子 <div> タグに適用される。
 
[デフォルト ページ]
  • 必須。
  • デスクトップがアクセスされたときにデフォルトで表示されるページを選択する。このリストには、ポータル内のすべてのページの定義ラベルが入る。
 
[編集可能]
ドロップダウン メニューには次の選択項目が表示される。
  • [編集不可]
  • [メニューで編集]
  • [タイトルバーで編集]
訪問者ツールを有効化してユーザがブック プロパティを変更できるようにする場合は、[編集可能] を [タイトルバーで編集] または [メニューで編集] に設定すると、その場所に訪問者ツールのリンクが配置される。
[メニューで編集] は、ナビゲーション プロパティのメニュー タイプを選択した場合のみ使用できる。[タイトルバーで編集] や [メニューで編集] を選択すると、プロパティ エディタにモード プロパティのグループが表示される。
 
[ナビゲーション]
ブックおよびページ間でのナビゲーションに使用するメニューのデフォルトのタイプを選択する。ドロップダウン メニューには次の選択項目が表示される。
  • 単一レベル メニュー - ブックの直接のページと子ブックについて、1 行分のタブが表示されます。
  • 複数レベル メニュー - ブック内のすべてのブックとページについて、階層メニューが再帰的に表示されます。つまり、このメニューが表示されるのは、最初の子だけではありません。ツリー全体が表示されます。親ブックで複数レベル メニューが使用されている場合は、子ブックにも複数レベル メニューが適用されるため、その子ブックではメニューを使用しません。複数レベル メニューに関するパフォーマンスについては、「最適なパフォーマンスを得るためのポータルの設計」を参照してください。
  • [ナビゲーションなし]
 
[方向]
ブックの上下左右のいずれかの側にナビゲーション メニューを位置付けるためのスケルトンへのヒント。このプロパティをサポートするには、独自のスケルトンを構築する必要がある。次の値は、各方向値について .portal ファイルで使用されている数値である。上 = 0、左 = 1、右 = 2、下 = 3。
 
[デフォルト ページに戻る]
ブックを選択した時に表示されるページを決定する。
[デフォルト ページに戻る] =「false」 (デフォルト値) の場合、ブックが選択されると、ブック内でアクティブな最後のページが表示される。
[デフォルト ページに戻る] =「true」の場合、[デフォルト ページ] プロパティで選択されたページは、ブックが選択されると常に表示される。

ページ プロパティ

ページ プロパティを使用すると、ポータルで個々のページのプロパティをコンフィグレーションすることができます。レイアウト プロパティは、ページに含まれるプレースホルダの数と場所を決定します。表 7-4 に、各ページ プロパティを示します。

表 7-4 ページ プロパティ
プロパティ タイプ
プロパティ
定義
バックアップ可能プロパティ
[バッキング ファイル]
ポートレット表示の前にクラスを使用して事前処理 (認証など) を行う場合は、そのクラスの完全修飾名を入力する。このクラスはインタフェースを実装するものでなければならない。
com.bea.netuix.servlets.controls.content.backing.JspBacking
または、次のようにインタフェースを拡張する必要がある。
com.bea.netuix.servlets.controls.content.backing.AbstractJspBacking.
 
[定義ラベル]
各コンポーネントにユニークな識別子が必要。デフォルト値が自動的に入力されますが、その値を変更できます。定義ラベルは、ブック、ページ、またはポートレットへの移動に使用できる。また、コンポーネントは、資格および委託管理のために定義ラベルを備えていることが必要である。
この値を Workshop for WebLogic で編集してわかりやすい値にすることが望ましい。特に、ブック、ページ、またはポートレットをリモートで提供する場合は、そうすることでプロデューサ リストからの識別が容易になる。

注意 : こうすることで AquaLogic Interaction Analytics を使ってブック、ページ、またはポートレットをモニタする場合、Analytics レポートでこれらが識別しやすくなるため、特に重要となる。

WebLogic Portal Administration Console のデスクトップにポータル リソース インスタンスを作成する場合、生成された定義ラベルは編集できない。
.book および .page 定義ラベルについて: ポータル内に (同じ定義ラベルを持った) 同じ .book や .page ファイルが複数含まれるのを防ぐ。たとえば、ポータル内で同じ .book.page ファイルのネストされた埋め込みを使用すると、複製された定義ラベルが存在するため、表示の問題が発生します。
 
[非表示]
ポータル コンポーネントのナビゲーション タブを非表示にして、直接アクセスできないようにする。ページまたはブックへは、(定義ラベルへの) リンクまたはバッキング ファイルを使用してアクセスできる。
 
[圧縮]
展開モードでも圧縮モードでもブックまたはページを表示するためにスケルトンが使用できる表示ヒント。このプロパティをサポートするには、独自のスケルトンを構築する必要がある。
[圧縮] = 「false」 (デフォルト値) の場合、ブックまたはページが占める水平方向のスペースは可能な限り大きくなる。
[圧縮] = 「true」の場合、ブックまたはページが占める水平方向のスペースは可能な限り小さくなる。
HTML 側から見ると、このプロパティはウィンドウがテーブルを使用して表示される場合に最も有用である。圧縮が「false」の場合、テーブルの相対的な幅が「100%」に設定される。圧縮が「true」の場合、テーブルの幅は設定されないままになる。
ページ プロパティ
[レイアウト タイプ]
ブックおよびポートレットをプレースホルダまたはページ上に配置するためのページ レイアウト スタイルを選択する。ドロップダウン メニューには次の選択項目がある。
  • Two Column Layout
  • Three Column Layout
  • Single Column Layout
  • Four Column Layout
レイアウトの詳細については、「レイアウトの操作」を参照してください。

プレースホルダのプロパティ

プレースホルダは、ページ レイアウト内にある、名前が付いた節です。プレースホルダのプロパティを編集して、プレースホルダのテキスト フロー、幅などを変更することができます。レイアウトの詳細については、「レイアウトの操作」を参照してください。

表 7-5 では、プレースホルダのプロパティを示します。

表 7-5 プレースホルダのプロパティ
プロパティ
説明
[フロー]
true に設定すると、プレースホルダに入れられたブックおよびポートレットは、[フロー] プロパティの値に応じて配置される。この値が false に設定されている場合、デフォルトのフロー (vertical) が使用される。この値は、ページの選択されたレイアウト タイプの .layout ファイルから読み込まれる。
[プレースホルダの幅]
プレースホルダに設定された幅を表示する。この値は、ページの選択されたレイアウト タイプの .layout ファイルから読み込まれる。
[タイトル]
プレースホルダには、プレースホルダの名前。この値は読取り専用であり、ページの選択されたレイアウト タイプの .layout ファイルから取得される。
[フローの使用]
[フローの使用] プロパティが true に設定されている場合、この値は vertical または horizontal にできる。フローは、プレースホルダに入れられたブックまたはポートレットが、上下 (vertical) に並べられるか、左右 (horizontal) に並べられるかを決定する。この値は、ページの選択されたレイアウト タイプの .layout ファイルから読み込まれる。

 


プロジェクトへの J2EE ライブラリ ファイルのコピー

共有 J2EE ライブラリのリソースは、ポータル Web プロジェクトにコピーしてからカスタマイズすることで、オーバーライドできます。

警告 : J2EE ライブラリのリソースをプロジェクトにコピーすると、将来 WebLogic Portal 製品を更新するときに、これらのリソースに影響する製品の変更を手動で組み込む作業が必要になる場合があります。今後配布されるパッチをインストールした場合、WebLogic Portal では、コピーした J2EE ライブラリ リソースがプロジェクトに含まれていないコンフィグレーションだけをサポートします。

J2EE ライブラリのリソースをプロジェクトにコピーするには、以下の手順を実行します。

  1. 現在、マージ済みプロジェクト ビューが表示されていない場合は追加します。これには、次の手順を行います。
  2. [ウィンドウ|ビューの表示|マージ済みプロジェクト] ビューを選択します。

    マージ済みプロジェクト ビューは、デフォルト ポータル パースペクティブの一部で、[パッケージ・エクスプローラー] ビューと同じ領域に表示されます。

  3. まだ選択していない場合は、マージ済みプロジェクト ビューを選択します。
  4. マージ済みプロジェクト ビューの斜体の項目は、共有 J2EE ライブラリに格納されているエンティティを表します。作成したポータル ファイルなど、ファイル システムに格納されているエンティティはすべて、通常の書体で表示されます。

  5. 表示ツリーを展開して、プロジェクトにコピーするリソースを表示します。
  6. 1 つのファイル、ファイルのセット、またはフォルダ全体をプロジェクトにコピーすることができます。

  7. コピーするリソースを右クリックして、[プロジェクトにコピー] を選択します。
  8. リソースがプロジェクトの Web コンテンツ フォルダにコピーされ、J2EE ライブラリ内のそれらのリソースの場所の階層に反映されます。

注意 : マージ済みプロジェクト ビューでファイルの [プロパティ] ダイアログを表示するには、ファイルを右クリックして [プロパティ] を選択します。このダイアログには、J2EE ライブラリの名前やバージョンなど、そのファイルの J2EE ライブラリの情報が表示されます。

共有 J2EE ライブラリ ファイルをオーバーライドするファイルの表示

次のいずれかの方法を使用して、J2EE ライブラリ ファイルをオーバーライドするローカル ファイルを表示できます。

 


ページ フローのカスタム コントロール

WebLogic Portal には、開発を容易にし、自動化するためのカスタム Java コントロールがあります。このコントロールは、ページ フローにドラッグ アンド ドロップできるアクション (Java メソッド) の集合です。グラフィカル インタフェースにアクションを追加し、Workshop for WebLogic エディタでアクションをコンフィグレーションできるので、Java コードを直接操作する必要はありません (ソース ビューで直接コードを操作することもできます)。コードを直接操作する場合でも、最初にグラフィカル インタフェースで操作することにより、コード入力を自動化し、構文エラーをなくすことができます。

たとえば、WebLogic Portal に付属するカスタム コントロールでは、一部のメソッドで組み込みのフォームを利用できます。ユーザを作成するアクションが必要な場合、ユーザ プロバイダ コントロールの createUser メソッドを使用できます。createUser メソッドをコントロールのアクション領域に追加すると、JSP に追加しアクションに自動的にリンクできる CreateUserForm Bean をコントロールで利用できます。

Workshop for WebLogic によるページ フローの作成の詳細については、『BEA Workshop for WebLogic Platform プログラマーズ ガイド』を参照してください。WebLogic Portal に付属する特定のコントロールの詳細については、Javadoc を参照してください。

以降の節では、WebLogic Portal が提供するコントロールをページ フローで使用する方法について説明します。

ページ フローへのポータル コントロールの追加

ページ フローにコントロールを追加するには

  1. 既存のページ フロー (.jpf ファイル) を開くか、新しいページ フローを作成します。
  2. Workshop for WebLogic によるページ フローの作成の詳細については、『BEA Workshop for WebLogic Platform プログラマーズ ガイド』を参照してください。

  3. ページ フロー パースペクティブをまだ使用していない場合は、そのパースペクティブに切り替えるかどうかを Workshop for WebLogic から確認されます。メッセージに従って切り替えます。
  4. 図 7-8 に示すように、ページ フローのソース ビューを右クリックして、[挿入|コントロール] を選択します。
  5. 図 7-8 [挿入|コントロール] メニューの選択


    [挿入|コントロール] メニューの選択

    図 7-9 に示すように、[コントロールの選択] ダイアログが表示されます。

    図 7-9 [コントロールの選択] ダイアログ


    [コントロールの選択] ダイアログ

  6. 必要なフォルダを展開して、追加するコントロールを選択します。
  7. [OK] をクリックして、ページ フローにコントロールを追加します。

これで、コントロールのすべてのメソッドがページ フローで使用できます。ポータル コントロールの詳細については、Javadoc を参照してください。

ページ フローへのアクションの追加

図 7-10 に示すように、ページ フロー エクスプローラ ビューからページ フロー エディタのフロー ビューにメソッドをドラッグすることにより、ページ フローにメソッド (アクション) を追加できます。

図 7-10 フロー ビューを使用したページ フローへのアクションの追加

フロー ビューを使用したページ フローへのアクションの追加

ポータル コントロールのセキュリティ

多くのポータル フレームワーク コントロールには保護されたメソッドが装備されています。つまり、コントロールがこれらのメソッドを実行するには、認可されたセキュリティ ロールが必要になります。ページ フローでは、アクションごとにセキュリティ ロールを指定できます。アクションを実行する場合、実行するユーザは所定のロールのメンバーでなければなりません。たとえば、ユーザ プロバイダ コントロールには removeUser() アクションがありますが、このアクションの呼び出し側は「Framework SystemAdministrator」ロールまたは「Admin」ロールに所属している必要があります。

ユーザおよびグループ管理アクションでは、WebLogic Administration Portal の認証セキュリティ プロバイダ サービスで指定したロールによって、ユーザがアクションを実行できるかどうかが決まります。

WebLogic Server Administration Console を使用して、ドメインにセキュリティ ロールを追加できます。

 


ポータルのデプロイおよび表示

ポータルをサーバにデプロイ (公開) すると、ブラウザ ウィンドウに表示できます。

注意 : Eclipse の問題のため、一部の JSP タグは、実際には正しい場合でも、エラーが含まれているものとしてマークされます。実際にはエラーが存在しないにもかかわらず、Eclipse ではそのアプリケーションは公開 (デプロイ) されません。このような場合は、公開前に JSP 検証を無効にする必要があります。これらのタグが原因となっている問題を除くすべての問題を解決するまで、JSP 検証を有効にしておきます。デプロイ前に、[ウィンドウ|設定] を選択し、ツリーで [妥当性検査] を選択して、[JSP 構文バリデーター] チェック ボックスのチェックをはずします。

ポータル プロジェクトをデプロイ (公開) し、表示するには、以下の手順に従います。

  1. 図 7-11 に示すように、[パッケージ・エクスプローラー] ビューでポータルの .portal ファイルを右クリックし、[実行|サーバーで実行] を選択します。
  2. 注意 : 多くの場合、ポータルを再デプロイして、行った変更を確認する必要はありません。詳細については、「サーバでのプロジェクトの実行」を参照してください。
    図 7-11 サーバでのポータルの実行の選択


    サーバでのポータルの実行の選択

    [サーバーで実行 - 新規サーバーの定義] ダイアログが表示されます。使用するサーバが強調表示されていることを確認します。

  3. [終了] をクリックし、デプロイメント処理を開始します。
  4. サーバが起動されるまで待機し、ファイルをサーバにデプロイして、アプリケーションを実行します。デプロイメントが進行している間、ウィンドウ下部のステータス バーにステータス メッセージが表示されます。

    図 7-12 に示すように、エディタ ビューの新しいタブに結果が表示されます。

    ヒント : 以前に同じ名前のプロジェクトをデプロイし、そのプロジェクトが別の場所にある場合、サーバからそのプロジェクトをアンデプロイする必要があります。アンデプロイするには、サーバ ビューでサーバをダブルクリックし、[パブリッシュされたモジュール] リストから該当するポータル Web プロジェクト (共有 J2EE ライブラリではありません) を削除します。この作業の詳細については、『BEA Workshop for WebLogic Platform プログラマーズ ガイド』の「サーバの管理」を参照してください。
    図 7-12 ワークベンチ エディタ ビューでのポータルの表示


    ワークベンチ エディタ ビューでのポータルの表示

    ヒント : 必要に応じて、ポータルを表示する場合に常に外部 Web ブラウザを使用するように設定できます。この設定を行うには、[ウィンドウ|設定] を選択し、プロパティ ツリーで [一般|Web ブラウザー] を選択して、[外部 Web ブラウザーを使用] ラジオ ボタンを選択します。

 


URL の操作

以下の節では、WebLogic Portal で URL を操作する方法について説明します。

ポータル リソースへの URL の作成

WebLogic Portal は、特にサーバ名とポート番号を変更したときに途切れることなく、ドメインからドメインに転送できるポータル Web プロジェクト内のポータル リソースに URL を作成する便利で拡張可能なメカニズムを用意しています。この URL 作成メカニズムは、セキュア URL と非セキュア URL (http と https) 間で切り替えることができます。

移植可能な URL を作成するには、次の 2 つの項目が必要です。

beehive-url-template-config.xml ファイルには、ユニークな名前を持つ複数の URL「テンプレート」が含まれています。これらのテンプレートの URL には、url:domainurl:port などの変数が含まれ、これらはアクティブなサーバから読み込まれます。<render:*Url> JSP タグには、beehive-url-template-config.xml ファイル内の URL テンプレートの名前を指定できる「テンプレート」属性があります。

表 7-6 に、JSP タグでテンプレートを使用して URL を作成する方法を示します。

表 7-6 テンプレートを使用して URL を作成する JSP タグの例
beehive-url-template-config.xml
<render:resourceUrl>
以下に beehive-url-template-config.xml の URL テンプレートのサンプルを示す。
<url-template name="secure-url">
https://{url:domain}:{url:securePort}/{url:path}?{url:queryString}
</url-template>
以下に <render:resourceUrl> JSP タグでテンプレートを使用して URL を作成する方法を示す。
<% String reportpath = "reports/report1.html"; %>
<a href="<render:resourceUrl template="secure-url" path="<%=reportpath%>"/>">
View the Report
</a>

WebLogic Portal に付属する beehive-url-template-config.xml ファイルにある任意の URL テンプレートを使用できると共に、必要な数のテンプレートをファイルに追加することができます。

URL テンプレートを構築する場合、以下の変数を使用できます。

URL 圧縮

URL 文字列が応答 HTML の大きな割合を占める場合があります。WebLogic Portal の URL 圧縮メカニズムは、より短い URL を作成するプラグイン可能な手段を提供します。次に例を示します。

以下は URL 圧縮を実装する前の URL です。

http://abc.com/webapp/portletEvents/activatePage/activatePage.portal?_nfpb=true&_windowLabel=pfTPC_source_1&pfTPC_source_1_actionOverride=%2FportletEvents%2FactivatePage%2FtoPage1

以下は URL 圧縮を実装した後の URL です。

http://abc.com/wlp.c?__c=7f6

WebLogic Portal は、文字列をデータベースにマッピングすることによって URL 圧縮を実装します。Web アプリケーション レベルの設定を使用して、URL 圧縮を設定します。処理は GenericURL クラスを介して呼び出されます。

デフォルトのアルゴリズムでは、マッピング用に 2 つの p13n キャッシュ (wlp.urlCompression.compressed と wlp.urlCompression.expanded) が使用されます。これらのキャッシュは、framework-full-app ライブラリ モジュールの p13n-cache-config.xml にあります。

URL 圧縮の実装

URL 圧縮を使用するように Web アプリケーションをコンフィグレーションするには、以下の手順に従います。

  1. 次の例に示すように、web.xml に圧縮サーブレットを定義します。
  2. <servlet>
       <servlet-name>UrlCompressionServlet</servlet-name>
       <servlet-class>com.bea.portlet.compression.UrlCompressionServlet
       </servlet-class>
       <init-param>
          <param-name>defaultPage</param-name>
          <param-value>/index.jsp</param-value>
       </init-param>
       <init-param>
          <param-name>errorPage</param-name>
          <param-value>/errors/error.jsp</param-value>
       </init-param>
       <load-on-startup>1</load-on-startup>
    </servlet>

  3. 次の例に示すように、圧縮パターンをマッピングします。
  4. <servlet-mapping>
       <servlet-name>UrlCompressionServlet</servlet-name>
       <url-pattern>wlp.c</url-pattern>
    </servlet-mapping>

  5. 圧縮を適用するテンプレートにトークン {url:compression} を追加します。

URL 圧縮に関する特別な考慮事項

以下の節では、URL 圧縮を実装する際に特に考慮すべきいくつかの点について説明します。

URL 圧縮と AJAX

URL 圧縮は、ポートレットの非同期表示に関連する、ページ更新のための AJAX 固有のメカニズムの一部を妨害します。このため、コンテンツの非同期表示が無効でページ更新が強制される場合は、必ず URL 圧縮を無効にする必要があります。WebLogic Portal では、ファイルのアップロード フォームが使用される場合を除き、URL 圧縮が自動的に無効になります。その場合は、URL 圧縮を明示的に無効にする必要があります。詳細については、『ポートレット開発ガイド』を参照してください。

URL 圧縮を正しく実装するには、ポータル開発者はベスト プラクティスを遵守し、サポートされている URL タグとクラスを使用して URL を生成する必要があります。

URL 圧縮と オフサイト URL

オフサイト URL は、URL を生成するコードの Web アプリケーションでホストされないリソースの URL です。 圧縮が有効化された Web アプリケーションでは、GenericURL、そのサブタイプ、または対応する JSP タグを使用してオフサイト URL を生成する場合は、圧縮を無効にした URL テンプレートを指定する必要があります。

次のコード例をガイドとして使用できます。

GenericURL redirectURL = GenericURL.createGenericURL(request, response); redirectURL.setDomain("www.yahoo.com"); redirectURL.setPort(80); redirectURL.setPath("/compressedUrl/index.html"); redirectURL.setTemplate("no_compression_template"); 

ここで、「no_compression_template」は、{url:compression} 擬似トークンを除外する URL テンプレートの名前です。

URL 圧縮とアクセス頻度の高いデータ

コード内でアクセス頻度の高い URL を参照する場合、ベスト プラクティスは URL 圧縮を無効にすることです。URL 圧縮が有効になっていると、URL にアクセスするたびに新しいデータベース エントリが作成されます。アクセス頻度の高い URL の場合、パフォーマンスの問題が発生するおそれがあります。

ページ フローまたは JSP で URL ごとに URL 圧縮を無効にするには、WEB-INF/beehive-url-template-config.xml ファイルに非圧縮テンプレートを追加する必要があります。これで、コード内でこのテンプレートを参照できるようになります。

たとえば、次の JSP はデータベース内のエントリを増加させます。この JSP が表示されるたびに、リンクが押されたかどうかに関係なく、データベース内に新しいエントリが作成されます。

コード リスト 7-1 JSP での URL 圧縮の不適切な使用例
<%
String value = String.valueOf(System.currentTimeMillis());
%>
<render:postbackUrl var="url">
<render:param name="name" value="hello" />
<render:param name="value" value="<%=value%>" />
</render:postbackUrl>
<a href="${url}">Post current time</a>&nbsp;&nbsp;url:${url}<p/>

この状況を改善するには、コード リスト 7-2 に示すように、WEB-INf/beehive-url-template-config.xml に URL 圧縮を使用しない新しいテンプレートを追加します。

コード リスト 7-2 beehive-url-template-config.xml 内の圧縮を使用しない URL テンプレート
<url-template>
	<name>defaultNoCompression</name> 
	<value>{url:scheme}://{url:domain}:{url:port}/{url:path}?{url:queryString}{url:currentPage}</value>
</url-template>

非圧縮テンプレートを追加したら、コード リスト 7-3 に示すように、このテンプレートを JSP 内の postbackURL に追加します。この例では、URL は圧縮されません。

コード リスト 7-3 JSP 内での非圧縮 URL テンプレートの使用
<render:postbackUrl var="noCompressionUrl" template="defaultNoCompression">
<render:param name="name" value="hello" />
<render:param name="value" value="<%=value%>" />
</render:postbackUrl>
<a href="${noCompressionUrl}">Post current time</a>&nbsp;&nbsp;url:${noCompressionUrl}

URL のトラブルシューティング

プロキシ サーバを使用したり、非セキュアなポートとセキュアなポートの間で切り替えているとき、{url:port} または {url:securePort} 変数を使用している場合は URL が解決されないことがあります。これは、その値に対する変数がリクエストから読み込まれるためです。たとえば、非セキュアなポート (ポート番号 80) にいるユーザが {url:securePort} 変数を使用する URL テンプレートで作成されたセキュアな https リンクをクリックすると、request (80) というポート番号が {url:securePort} 変数に対して使用されますが、これは非セキュアなポートでセキュア リクエスト (https) を作成します。プロキシ サーバ (ポート 80) にいるユーザがプロキシ サーバ (ポート 443) の外にあるリソースへのリンクをクリックした場合も同様です。

どちらの場合も、正しく解決される URL を取得するように、URL テンプレートにポート番号をハード コーディングする必要があります。

URL テンプレートと Web Services for Remote Portlets (WSRP)

beehive-url-template-config.xml ファイルは、すべてのポータル Web プロジェクトに (J2EE 共有ライブラリを介して) 自動的に組み込まれます。このファイルには、コンシューマでの URL の書き換えをサポートするために必要な URL テンプレートが含まれています。Web アプリケーションを WSRP プロデューサとして使用することを予定している場合は、これらの URL テンプレートや変数を beehive-url-template-config.xml ファイルから削除しないでください。

ポータル URL 内のアンパサンド

WebLogic Portal は、WebLogic Portal が生成した URL の形式をコンフィグレーションするために、Beehive コンフィグレーション ファイル beehive-url-template-config.xml を使用します。アンパサンド エンティティ (&amp;) またはアンパサンド文字 (&) を使用するための Beehive コンフィグレーション要素は、NetUI コンフィグレーション ファイル (beehive-netui-config.xml) にあります。HTML コンフィグレーションでは、アンパサンド文字を使用するように指定するコンフィグレーション要素がないときは、デフォルトでアンパサンド エンティティを使用して URL が生成されます。

XHTML コンフィグレーションでは、コンフィグレーション設定にかかわらず、URL にアンパサンド エンティティが使用されます。

GenericURL クラスの useAmpEntity メソッドおよび setForcedAmpForm メソッドを使用して、手動でコンフィグレーション設定をオーバーライドできます。これらのメソッドの詳細については、Javadoc を参照してください。

WebLogic Portal の以前のリリースが URL 内のアンパサンドをどのように処理するかについては、「ポータル URL 内のアンパサンド」を参照してください。

オプションのルック アンド フィール URL テンプレート

WebLogic Portal のルック アンド フィールでは、次の 2 つの条件下で、リソース (CSS、JavaScript、画像など) のパスに ResourceURL (つまり、URL リライタ) を使用します。

ルック アンド フィールのリソースに固有の URL テンプレートは、「lookandfeel-url-templates」というリファレンス グループで指定できます。このグループには、「laf-resource」キーまたは「window-resource」キーのいずれか、またはこの両方を含める必要があります。「laf-resource」キーは、スキンまたはスケルトンに関連するリソースに使用し、「window-resource」キーは、ウィンドウの依存関係に関連するリソースに使用します。対応する URL テンプレートの「{url:path}」パラメータを置き換えるには、解決済みの (相対) リソース パスを使用します。以下に、URL テンプレートの構文例として、beehive-url-template-config.xml ファイルの一部を示します。

<url-template>
   <name>laf-resource-template</name>
   <value>http://my.domain.com/resources/laf/{url:path}</value>
</url-template>

<url-template-ref-group>
   <name>lookandfeel-url-templates</name>
   <url-template-ref>
      <key>laf-resource</key>
      <template-name>laf-resource-template</template-name>
   </url-template-ref>
</url-template-ref-group>

ルック アンド フィールの URL テンプレートがない場合、ルック アンド フィールのリソース パスは相対パスのままになります。ただし、例外が 1 つあります。リモート ポートレットのコンテキスト内でパスが生成された場合、そのパスは標準の「リソース」URL テンプレートを使用します。

オプションの LookAndFeel URL テンプレートを使用すると、リソースを別のサーバに「オフロード」できます。ただし、このようなリソースは、(移動ではなく) コピーし、ポータル Web アプリケーションと同じ相対リソース パス (例 : .../framework/skins/bighorn/css/book.css) を含む URL を使用して必ず解決できるようにする必要があります。ルック アンド フィールのパスの解決は、リソースへのローカル ファイル システムのアクセスに引き続き依存します。

render taglib の GetSkinPath タグは、オプションのルック アンド フィール URL テンプレートの影響を受けることはありません。このタグによって生成されたパスは、どの場合でも相対パスになります。

 


HTTP 応答のエンコーディングの処理

この節では、HTTP 応答にエンコーディングを設定する方法について説明します。

WebLogic Portal は、.portal ファイルの情報に基づいて、次のエンコーディング設定方法を使用します。

  1. encoding 属性の netuix:desktop 要素を調べ、要素がある場合はその値を使用する。
  2. 最初の確認で該当しない場合、directive.page 要素の .portal ファイルを調べる。このメカニズムは推奨されていません。この要素が存在する場合は、属性からエンコーディングを選択します。
  3. <defaultEncoding> 要素に対して netuix-config.xml を調べ、encoding 属性を使用する。
  4. 前の確認で該当しない場合、web.xml ファイルの <jsp-param> セクションにある <encoding> 要素を使用する。このメカニズムは推奨されていません。

この実装は、WebLogic Portal の以前のバージョンの実装とは異なります。詳細については、『WebLogic Portal 10.0 へのアップグレード』の機能の変更に関する付録を参照してください。

エンコーディング設定の使用方法を、次の例で示します。

.portal ファイルの <netuix:desktop ... encoding="UTF-8" />

または

netuix-config.xml ファイルの <defaultEncoding encoding="UTF-8" />

 


Workshop for WebLogic におけるキャッシュ管理

キャッシュを正しくコンフィグレーションすれば、頻繁に使用するデータの検索にかかる時間を大幅に短縮できます。Workshop for WebLogic を使用して、現在実行しているインスタンスの既存のキャッシュの設定を変更したり、キャッシュをフラッシュしたりできます。キャッシュをコンフィグレーションするときは、パラメータを修正してキャッシュの動作または容量を変更します。たとえば、最新の 200 エントリのみ保持するようにキャッシュを設定したり、キャッシュに残す時間 (ミリ秒単位) を設定したりできます。また、キャッシュをフラッシュし、新しく要求された情報はすべてデータベースから取得するようにすることもできます。

Workshop for WebLogic のユーザ インタフェースを使用して、新しいキャッシュを追加することはできません。ただし、EAR プロジェクトのコンテンツ ディレクトリ (デフォルトの名前は EarContent) 内にあるキャッシュ コンフィグレーション ファイル META-INF/p13n-content-config.xml を手動で編集して、キャッシュを追加することができます。必要な場合は、マージ済みプロジェクト ビューからプロジェクトにキャッシュ ファイルをコピーすることもできます。

Workshop for WebLogic を使用して行ったキャッシュの変更は永続的に保持されず、次回アプリケーションを公開したとき、またはサーバを再起動したときに失われます。変更を永続的に保持するには、WebLogic Portal Administration Console を使用します。

キャッシュは読み込み専用であり、クラスタ対応です。

Workshop for WebLogic でのキャッシュ設定の変更

注意 : この節で説明する手順を実行する前に、サーバを稼働させる必要があります。

Workshop for WebLogic でキャッシュ設定を変更するには

  1. [実行|ポータル キャッシュ マネージャ] を選択します。
  2. 現在「実稼動」のキャッシュのリストを含む [ポータル キャッシュ マネージャ] ダイアログが表示されます。このダイアログに表示されるキャッシュは、Administration Console で表示できるキャッシュのスーパーセットで構成されます。[ポータル キャッシュ マネージャ] ダイアログのリストには、コンフィグレーション済みキャッシュの他に、ポータルで使用しているプロセスに基づいて動的にトリガされるキャッシュも含まれます。

  3. 設定を変更するキャッシュを選択します。
  4. 次の表を設定を変更する際のガイドとして使用できます。

    表 7-7 Workshop for WebLogic でコンフィグレーションできるキャッシュ設定
    フィールド/ボタン
    説明
    [有効にする] チェック ボックス
    このチェック ボックスを選択して、キャッシュを有効または無効にする。キャッシュを無効にした場合、キャッシュは存在するが、そのキャッシュへのリクエストには null 値が返される。
    たとえば、プレースホルダまたはコンテンツ セレクタをテストする場合、キャッシュされた値ではなく、データベースの値が返されるようにしなければならないが、このような場合にキャッシュを無効にする必要がある。
    [コンフィグレーション済み]
    この読み込み専用フィールドは、Administration Console を使用してキャッシュがコンフィグレーションされたか、共有ライブラリまたはアプリケーション記述子を使用してキャッシュがコンフィグレーションされたか示す。
    [最大エントリ]
    キャッシュが保持するエントリ (キー) の最大数。この制限に達すると、使用された時期が最も古いキーがキャッシュから削除される。
    [存続期間]
    エントリがキャッシュ内に存続する期間 (ミリ秒単位)。たとえば、値 3600000 (ミリ秒単位) は 1 時間に相当する。
    [説明]
    この読み込み専用フィールドには、Administration Console で入力された説明か、共有ライブラリあるいはアプリケーション記述子を使用して入力された説明が表示される。
    [ヒット率]
    キャッシュの使用度に関する統計がサーバから返された場合、この読み込み専用フィールドにそれらの情報が表示される。
    [リセット]
    このボタンをクリックして、以前に表示した値のダイアログをリセットする。
    [値の設定]
    ダイアログで値を変更する場合は、[値の設定] をクリックして変更を保存する。ここで値を変更すると、実行中のインスタンスの値のみ変更され、コンフィグレーション済みキャッシュの値は変更されない。
    [フラッシュ]
    このボタンをクリックして、キャッシュのコンテンツをクリアする。
    [フラッシュ] を使用すると、表示されているすべてのキャッシュのコンテンツをクリアできる。Administration Console では、コンフィグレーション済みキャッシュのみフラッシュできる。
    [更新]
    このボタンをクリックしてダイアログをリセットし、新しいキャッシュまたはキャッシュの更新を表示する。新しいキャッシュ、キャッシュの更新がある場合は表示される。

  5. 完了したら、[閉じる] をクリックします。

各キャッシュの詳細については、そのキャッシュに関連する特定の機能のドキュメントを参照してください。たとえば、パーソナライゼーション関連のキャッシュについては、『対話管理ガイド』を参照してください。

 


管理対象サーバ上の WebLogic Server Administration Console のパフォーマンスの向上

管理対象サーバ上でポータル アプリケーションを実行している場合は、以下の例に示すように web.xml ファイルの <context-param> パラメータを使用すると、WebLogic Server Administration Console のパフォーマンスを向上させることができます。

<context-param>
    <param-name>portalFileDirectory</param-name>
    <param-value>/</param-value>
</context-param>

このパラメータは、EAR コンテンツ情報を返す最適化された呼び出しを利用します。このパラメータがないと、呼び出しは .portal ファイルを再帰的に検索します。このパラメータを使用する場合、すべての .portal ファイルをポータル Web アプリケーションの同じディレクトリに配置する必要があります。<param-value> を使用してディレクトリを指定します。上記の例では、すべての .portal ファイルが、Web アプリケーションのルート ディレクトリ (/) にあります。

 


[デフォルト ページに戻る] 属性の動作

移動先 URL の対象であるブックの [デフォルト ページに戻る] 属性が true に設定されている場合、そのブックのデフォルト ページが表示されるはずです。ただし、動作が予期したとおりに行われない場合があります。この節の目的は、このような動作を明確にすることです。

この節では、ブックがネストされていて、メイン ブックの直接の子がブックである場合のみを対象とします。[デフォルト ページに戻る] は、ブック間の移動にのみ適用され、ブック内の移動には適用されません。次に、各ページにブック 2 への URL が設定されたポートレットを含む単純なポータルの階層を示します。

メイン ブック - ブック 2 がデフォルト ブック

ブック 2 - デフォルト ページに戻る = true、デフォルト ページ = ページ 2

ページ 2

ページ 3

ブック 3

ページ 4

ページ 5

このポータルを表示すると、ブック 2 とページ 2 が表示されます。

  1. ユーザがページ 3 をクリックする (デフォルト ページから移動)。
  2. ユーザがブック 3 をクリックする (ページ 4 が表示され、別のブックに移動)。
  3. ユーザがブック 2 の URL をクリックすると、ページ 2 が表示される。

ページ 2 がブック 2 のデフォルトであるため、これは想定されたとおりの動作であり、ブック 2 の最後のアクティブなページはページ 3 です。

このポータルを表示すると、ブック 2 とページ 2 が表示されます。

  1. ユーザがページ 3 をクリックする (デフォルト ページから移動)。
  2. ユーザがブック 2 の URL をクリックすると、ページ 3 が表示される。

これは、ページ 3 が同じブック内にあり、デフォルトに戻る設定が適用されないために発生します。

次のようにメイン ブックの子がページである階層では、デフォルトに戻る設定は適用されません。

メイン ブック - ページ 1 がデフォルト ページ

ページ 1

ブック 2 - デフォルト ページに戻る = true、デフォルト ページ = ページ 2

ページ 2

ページ 3

ページ 6

ブック 3

ページ 4

ページ 5

この階層では、ユーザはブック 2 の最後のアクティブなページに戻ります。

 


既存のポータル Web プロジェクトへのコマース サービスの追加

コマース関連機能を追加せずにポータル EAR プロジェクトやポータル Web プロジェクトを作成した場合は、コマース関連ファセットをプロジェクトに追加して、後でその機能を有効化できます。

注意 : コマース API およびライブラリ モジュールは、WebLogic Portal 10.0 では推奨されていません。この API は、WebLogic Portal とは別の製品として用意されている BEA Commerce Services に置き換えられています。

コマース機能に直接関連付けられた J2EE 共有ライブラリは、表 7-8 に表示されます。

表 7-8 コマース機能を含む J2EE 共有ライブラリ
wlp-commerce-app-lib
コマース サポート全般を提供。
wlp-commerce-tools-support-app-lib
コマース (カタログ) の Workshop for WebLogic (ワークベンチ) サポートを提供。
wlp-commerce-web-lib
JSP タグ ライブラリを提供。

コマース機能をポータル アプリケーションに追加するには、以下の手順を実行します。

  1. 既存のプロジェクトへのファセットの追加」の手順に従って、コマース ファセットをポータル EAR プロジェクトに追加します。
  2. 図 7-13 にコマース ファセットを示します。

    図 7-13 ポータル EAR プロジェクト ウィザードのコマース ファセット


    ポータル EAR プロジェクト ウィザードのコマース ファセット

  3. 既存のプロジェクトへのファセットの追加」の手順に従って、コマース ファセットをポータル Web プロジェクトに追加します。
  4. 図 7-14 にコマース ファセットを示します。

    図 7-14 ポータル Web プロジェクト ウィザードのコマース ファセット


    ポータル Web プロジェクト ウィザードのコマース ファセット

コマース サービスの技術的な詳細については、com.bea.commerce.* および com.beasys.commerce.* パッケージの Javadoc を参照してください。

注意 : コマース API は、WebLogic Portal 10.0 では推奨されていません。この API は、別の製品として用意されている BEA Commerce Services に置き換えられています。

 


問題検証設定のカスタマイズ

Workshop for WebLogic ではエラー、警告および情報メッセージを問題ビューに表示します。WebLogic Portal 検証フレームワークは、Eclipse platform の Web Standard Tools フレームワークに基づいて作成されています。

WebLogic Portal 検証の有効化と無効化

Workshop for WebLogic では、グローバルかプロジェクト単位で検証を有効化または無効化することができます。

検証のグローバルな有効化と無効化

ワークスペースですべてのプロジェクトの検証を有効化または無効化するには、以下の手順に従います。

  1. [ウィンドウ|設定] を選択します。
  2. [設定] ダイアログで [検証] をクリックします。
  3. デフォルトでは、[検証] ダイアログで [WebLogic Portal バリデーター] および [WebLogic Portal XML バリデーター] が選択されています。対応するチェックボックスを選択解除して、どちらかの設定を無効にすることができます、手動での構築中に検証を実行するには、[手動] チェック ボックスを選択し、自動構築中に検証を実行するには [ビルド] チェック ボックスを選択します。
    • WebLogic Portal バリデーター - XML スキーマの確認を除くすべての WebLogic Portal の検証を有効化します。
    • WebLogic Portal XML バリデーター - WebLogic Portal ファイルのスキーマ確認のみを有効化します。

図 7-15 に [検証] ダイアログを示します。

図 7-15 [検証] ダイアログ

[検証] ダイアログ

プロジェクトごとに検証を有効化または無効化

プロジェクトの検証を有効化または無効化するには、以下の手順に従います。

  1. パッケージ エクスプローラでプロジェクトを右クリックし、[プロパティー] を選択します。
  2. [設定] ダイアログで [検証] をクリックします。
  3. [検証] ダイアログで [Override Validation Preferences] のチェックをはずします。
  4. デフォルトでは、[検証] ダイアログで [WebLogic Portal バリデーター] および [WebLogic Portal XML バリデーター] が選択されています。対応するチェックボックスを選択解除して、どちらかの設定を無効にすることができます、手動での構築中に検証を実行するには、[手動] チェック ボックスを選択し、自動構築中に検証を実行するには [ビルド] チェック ボックスを選択します。これらの設定は、前節 検証のグローバルな有効化と無効化で説明されています。

WebLogic Portal 検証マッピングのカスタマイズ

エラーの重大度、警告、および情報メッセージは Workshop for WebLogic でマップして報告することができます。この節では、検証マッピングをグローバルおよびプロジェクト単位でカスタマイズする方法を説明します。

WebLogic Portal 検証フレームワークで確認されるポータル コードの主な領域には、以下のようなものがあります。

概要

通常、プロジェクト内にエラーが発生すると、Workshop for WebLogic はアプリケーションのデプロイを防止します。この問題を無視して、アプリケーションのデプロイを優先する場合もあります。または、デプロイ済みアプリケーションの中で警告が許可されないポリシーが存在する場合があります。このような場合、デプロイを防止するために、エラーとして警告をフラグする方法をとることも選択できます。特定の問題に関連したメッセージを有効化または無効化できなくても、問題の種類の重大度をマップして報告する方法を変更することができます。

検証のグローバルなカスタマイズ

ワークスペースですべてのプロジェクトの検証をカスタマイズするには、以下の手順に従います。

  1. [ウィンドウ|設定] を選択します。
  2. [設定] ダイアログで、[検証|WebLogic Portal 検証の設定] を選択します。
  3. [WebLogic Portal 検証の設定] ダイアログで、次の問題を報告する方法を変更します。
    • [Serious problems should be flagged as] - 通常エラーとして報告される問題に割り当てられた重大度を変更します。
    • [Potential problems should be flagged as] - 通常警告として報告される問題に割り当てられた重大度を変更します。
    • [Simple alerts should be flagged as] - 通常情報メッセージとして報告される問題に割り当てられた重大度を変更します。
ヒント : インクリメンタル ビルドを行う場合、関連ファイルの検証を許可するために、[Verify related files on incremental builds] チェック ボックスを選択します。ポータル web アプリケーション内のブックのようなポータル リソースをコピーする場合、この機能が役に立ちます。元のファイルと複製ファイルで報告された定義ラベルの重複に関連する検証エラーが表示されます。重複定義ラベルを変更すると、インクリメンタル ビルド上の変更されたファイルのみが検証されます。元のファイルには検証のエラーがそのまま残ります。[Verify related files on incremental builds] を選択すると、新たに変更されたファイルと元のファイルの両方が検証され、元のファイル上の検証エラーが消去されます。

プロジェクトごとに検証をカスタマイズ

特定プロジェクトですべてのプロジェクトの検証をカスタマイズするには、以下の手順に従います。

  1. パッケージ エクスプローラでプロジェクトを右クリックし、[プロパティー] を選択します。
  2. [設定] ダイアログで、[検証|WebLogic Portal 検証の設定] を選択します。
  3. [WebLogic Portal 検証の設定] ダイアログで [Override Validation Preferences] のチェックをはずします。
  4. [WebLogic Portal 検証の設定] ダイアログで、次の問題を報告する方法を変更します。前節の 「検証のグローバルなカスタマイズ」を参照してください。
注意 : プロジェクト レベルの設定は、グローバル設定よりも優先されます。

ページの先頭       前  次