Administration Console の拡張

     前  次    目次     
ここから内容

ポータルでの Administration Console ポートレットの再使用

ポータル内で Administration Console からポートレットを再使用できます。この機能によって、コンテンツ、ユーザやグループの情報、キャンペーン設定のようなポータル リソースにポータルから直接アクセスできます。

この章では、以下のトピックについて説明します。

 


Administration Console ポートレットの概要

Administration Console は多数のポートレットで構成されます。ポートレットは、さまざまな方法でそれぞれのリソースにアクセスできます。Administration Console 内の各タブは、ポートレットを含むページです。詳細については、図 2-1 を参照してください。

図 2-1 Administration Console のタブ

Administration Console のタブ

Administration Console にアクセスせずにポータル リソースにアクセスするために、ポータル アプリケーション内にこれらのポートレットを再利用することができます。以下のポータル リソースに関連付けられているポートレットは、ポータルに追加することができます。

注意 : ポータル アプリケーションでは、ポータル管理、委託管理、資格、およびサービス管理ポートレットの再使用はできません。

Administration Console 内のポートレットは、3 つのイベントに反応します。たとえば、コンテンツの選択にコンテンツ リソース ツリーを使用すると、コンテンツの [概要] タブ (コンテンツの概要ポートレット) がアクティブになります。図 2-2 を参照してください。

ただし、ポータルで Administration Console のポートレットをアクティブにするには、リソース ID をポートレット間通信イベントに使用します。別のポートレットが Administration Console のポートレットで使用されたリソース ID を参照すると、そのポートレットがアクティブになります。

注意 : ポータル アプリケーションでは、Administration Console ツリー ポートレット (ポータル リソース ツリー、コンテンツ リソース ツリーなど) を再利用できません。ポートレットとともにコンテンツ管理リソース ツリーなどの Administration Console 機能全体を使用する場合、ポータルに Administration Console のポートレットを追加するよりも、Administration Console を使用することを推奨しています。
図 2-2 リポジトリ ツリーで [Article] を選択して概要ポートレットを表示

リポジトリ ツリーで [Article] を選択して概要ポートレットを表示

WebLogic Portal は Administration Console のポートレットを使うための固有の API を備えています。このポートレットはポートレット間通信イベントに統合するインタフェース ベースのフレームワークを提供します。イベントおよびイベント ハンドラを明示的に使用する代わりに、Administration Console のポートレットはリソース ID およびこのインタフェース ベースのフレームワークを使用して、イベントの生成と受信を行います。

たとえば、Administration Console から Content Presenter のポートレットとコンテンツの編集ポートレットを組み合わせて使用すると、ユーザはコンテンツを簡単に変更できます。そのためには、Content Presenter のポートレット内に、コンテンツ ポートレットの編集をアクティブにする [コンテンツの編集] ボタンを追加します。

 


ポータル アプリケーションへの Administration Console ポートレットの追加

ポータルに Administration Console のポートレットを追加する前に、Web プロジェクトにそれぞれの J2EE ライブラリを追加する必要があります。これらのライブラリ モジュールは、共通のフレームワークとそれぞれのポートレットを提供します。

Web プロジェクトに必要なすべてのライブラリ モジュールが含まれていることを確認してから、Administration ポートレットをポータルに追加します。

アクティブ化するには、Administration Console ポートレットは別のポートレットからの通信が必要です。さらに、Administration Console ポートレットをアクティブ化するか呼び出すポートレットを構築する必要があります。Administration Console のポートレットをアクティブ化するには、リソース ID を使用します。Administration Console のポートレットが認識するリソース ID を使用してイベントを生成する主ポートレットには、コードを追加する必要があります。

Web プロジェクトへの Administration Console リソースの追加

表 2-1 に示すように、Administration Console のポートレットが Web プロジェクトに追加する必要があるそれぞれのライブラリ モジュールに含まれています。必要な J2EE モジュールをコピーします。すべてのポートレットに対して wlp-tools-common-web-lib および wlp-tools-framework-web-lib ライブラリが必要です。

Administration Console に J2EE ライブラリを追加するには、以下の手順に従ってください。

  1. Web プロジェクト フォルダを右クリックして、[ビルド・パス|ライブラリの追加] を選択します。
  2. [ライブラリーの追加] ダイアログで、[WebLogic J2EE ライブラリ] を選択します。[次へ] をクリックします。
  3. [追加] をクリックします。それぞれのライブラリ モジュールを参照し、[OK] をクリックします。
  4. [終了] をクリックします。
  5. 表 2-1 に示す各モジュールに対して同じ手順を繰り返します。追加されたポートレットは、デザイン パレットの使用可能なポートレットのリストに表示されます。
  6. 表 2-1 Administration Console ポートレットの J2EE ライブラリ モジュール
    ライブラリ モジュール
    ポートレット
    説明
    wlp-tools-common-web-lib
    すべて
    すべての Administration Console ポートレットに必要な共通のフレームワークを含む。
    wlp-tools-framework-web-lib
    すべて
    すべての Administration Console ポートレットに必要な共通のフレームワークを含む。
    wlp-tools-ugm-web-lib
    ユーザ管理
    グループ管理
    ユーザおよびグループの管理用ポートレットを含む。
    wlp-tools-content-web-lib
    コンテンツ管理
    すべてのコンテンツ管理ポートレットを含む。
    wlp-tools-im-web-lib
    キャンペーン
    コンテンツ セレクタ
    プレースホルダ
    ユーザ セグメント
    すべての対話管理ポートレットを含む。

ポートレット リソース ID を使用したイベントの生成

Administration Console のポートレットは、リソース ID を使用して生成されるポートレット間通信イベントに反応するよう設計されています。ポートレットでコンテンツやユーザの名前のようなポータル リソースを入力または選択すると、それぞれの Administration Console ポートレットがアクティブ化されます。

たとえば、コード リスト 2-1 に示すように、コンテンツ プロパティの編集をアクティブ化するポートレットにコードを追加して、ポータル ユーザにこのポートレットで表示するコンテンツを編集させることができます。Administration Console のポートレットと対話したり、「アクティブ化」したりするには、以下の WebLogic API が使用されます。

再利用されたポートレットのオンライン ヘルプの使用

ポータルの WebLogic Portal Administration Console ポートレットを再利用する場合、Administration Console オンライン ヘルプ システムで参照されたいくつかの特徴とステップが、ポートレットの再利用のコンテキストに適用されない場合があります。

たとえば、Administration Console の場合は、コンテンツ管理ポートレットはツリー イベントに反応します (コンテンツ リソース ツリーでクリックしてコンテンツを選択することによって生成されたイベント)。再利用のコンテキストで、ポートレット開発者は、他のポートレットにより発生したイベントに反応するようにポートレットをコンフィグレーションします。ツリー ビューは存在しません。したがって、ヘルプ システムで説明したいくつかの手順は適用されません。

 


再利用された Administration Console ポートレットでのリソースの表示の確保

いくつかのリソース (一定のイメージ、CSS ファイル、スクリプトなど) は再利用された Administration Console ポートレットに表示されない可能性があります。これは、ポートレットは、Portal Administration Console が使用するスキン ファイルで指定されたリソースのみを参照するためです。ポータルは別のスキン ファイルを使用する場合、図 2-3 に示すように、これらのリソースは表示されない。

図 2-3 再利用された Administration Console ポートレットでの不足グラフィック

再利用された Administration Console ポートレットでの不足グラフィック

この問題を修正するための最も簡単な方法は、適切な参照をポータルのルック アンド フィールにより使用された skin.xml ファイルに追加することです。skin.xml ファイルを編集するには、Workshop for WebLogic のプロジェクトにコピーする必要があります (ファイルを右クリックし、[プロジェクトにコピー] を選択)。スキンの詳細については、『ポータル開発ガイド』の「スキンの操作」を参照してください。

コード リスト 2-2 は、再利用されたポートレットに Administration Console 固有のリソースが表示されることを確認するために、スキン ファイルに加える必要がある変更を示します。これらのリソースは、コード リスト 2-2

<!--  from the wlp-tools skin --> というコメントで示します。
注意 : ポータルが Bighorn スキンを使用している場合、Internet Explorer の特定のスキン ファイル .../skins/bighorn/msie/skin.xml に同様の変更を加える必要があります。これは、Internet Explorer ブラウザでスキンが正しく機能するのを確認します。
コード リスト 2-2 スキン ファイルへの Administration Console 固有リソースの追加
<skin 
    xmlns="http://www.bea.com/servers/portal/framework/laf/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/servers/portal/framework/laf/1.0.0 laf-skin-1_0_0.xsd"
>
<target-skeleton>
<skeleton-id>bighorn</skeleton-id>
</target-skeleton>
<images>
<search-path>
<path-element>images</path-element>

<!-- from the wlp-tools skin -->
<path-element>../wlp-tools/images</path-element>

</search-path>
</images>
<render-dependencies>
<html>
<links>
<search-path>
<!-- from wlp-tools skin -->
<path-element>../wlp-tools/custom/css</path-element>
<path-element>../wlp-tools/css</path-element>


<path-element>css</path-element>
</search-path>
<link href="colors.css" rel="stylesheet" type="text/css" />
<link href="general.css" rel="stylesheet" type="text/css" />
<link href="menu.css" rel="stylesheet" type="text/css" />
<link href="window.css" rel="stylesheet" type="text/css" />
<link href="wsrp.css" rel="stylesheet" type="text/css" />
<link href="custom.css" rel="stylesheet" type="text/css" />

<!-- from wlp-tools skin -->
<link href="wlp.css" type="text/css" rel="stylesheet"/>
<link href="wlp-custom.css" type="text/css" rel="stylesheet"/>
</links>

<!-- from wlp-tools skin -->
<scripts>
<search-path>
<path-element>../wlp-tools/js</path-element>
<path-element>../../../js</path-element>
</search-path>
<script type="text/javascript"                     src="com/bea/portal/tools/js/Core.js"/>
<script type="text/javascript"                     src="com/bea/portal/tools/js/Core.jsp"/>
<script type="text/javascript"                     src="com/bea/portal/tools/js/javascriptConstants.jsp"/>
<script type="text/javascript"                   src="com/bea/portal/tools/js/Math.js"/>
<script type="text/javascript"                   src="com/bea/portal/tools/js/skin/FeatureProviderManager.js"/>
<script type="text/javascript"                   src="com/bea/portal/tools/js/skin/ProgressManager.js"/>
<script type="text/javascript"                   src="com/bea/portal/tools/js/html/Form.js"/>
<script type="text/javascript"                   src="com/bea/portal/tools/js/html/Event.js"/>
<script type="text/javascript" src="progress-manager.js"/>
<script type="text/javascript" src="progress-manager.jsp"/>
<script type="text/javascript" src="main-menu.js"/>
<script type="text/javascript" src="resize-collapse.js"/>
<script type="text/javascript" src="skin.js"/>
</scripts>

<!-- from wlp-tools skin -->

<styles>
<search-path>
<path-element>../wlp-tools/custom/css</path-element>
<path-element>../wlp-tools/css</path-element>
</search-path>
<style content-uri="wlp-ajax-image.css" type="text/css" />
</styles>

</html>
</render-dependencies>

<!-- from wlp-tools skin -->
<script-dependencies>
<script-fragments>
<fragment            event-handler="onload">__BEA.framework.skins['wlp-tools'].js.onload()
           </fragment>
</script-fragments>
</script-dependencies>
</skin>

ページの先頭       前  次