|
ポータル内で Administration Console からポートレットを再使用できます。この機能によって、コンテンツ、ユーザやグループの情報、キャンペーン設定のようなポータル リソースにポータルから直接アクセスできます。
Administration Console は多数のポートレットで構成されます。ポートレットは、さまざまな方法でそれぞれのリソースにアクセスできます。Administration Console 内の各タブは、ポートレットを含むページです。詳細については、図 2-1 を参照してください。

Administration Console にアクセスせずにポータル リソースにアクセスするために、ポータル アプリケーション内にこれらのポートレットを再利用することができます。以下のポータル リソースに関連付けられているポートレットは、ポータルに追加することができます。
| 注意 : | ポータル アプリケーションでは、ポータル管理、委託管理、資格、およびサービス管理ポートレットの再使用はできません。 |
Administration Console 内のポートレットは、3 つのイベントに反応します。たとえば、コンテンツの選択にコンテンツ リソース ツリーを使用すると、コンテンツの [概要] タブ (コンテンツの概要ポートレット) がアクティブになります。図 2-2 を参照してください。
ただし、ポータルで Administration Console のポートレットをアクティブにするには、リソース ID をポートレット間通信イベントに使用します。別のポートレットが Administration Console のポートレットで使用されたリソース ID を参照すると、そのポートレットがアクティブになります。
| 注意 : | ポータル アプリケーションでは、Administration Console ツリー ポートレット (ポータル リソース ツリー、コンテンツ リソース ツリーなど) を再利用できません。ポートレットとともにコンテンツ管理リソース ツリーなどの Administration Console 機能全体を使用する場合、ポータルに Administration Console のポートレットを追加するよりも、Administration Console を使用することを推奨しています。 |
WebLogic Portal は Administration Console のポートレットを使うための固有の API を備えています。このポートレットはポートレット間通信イベントに統合するインタフェース ベースのフレームワークを提供します。イベントおよびイベント ハンドラを明示的に使用する代わりに、Administration Console のポートレットはリソース ID およびこのインタフェース ベースのフレームワークを使用して、イベントの生成と受信を行います。
たとえば、Administration Console から Content Presenter のポートレットとコンテンツの編集ポートレットを組み合わせて使用すると、ユーザはコンテンツを簡単に変更できます。そのためには、Content Presenter のポートレット内に、コンテンツ ポートレットの編集をアクティブにする [コンテンツの編集] ボタンを追加します。
ポータルに Administration Console のポートレットを追加する前に、Web プロジェクトにそれぞれの J2EE ライブラリを追加する必要があります。これらのライブラリ モジュールは、共通のフレームワークとそれぞれのポートレットを提供します。
Web プロジェクトに必要なすべてのライブラリ モジュールが含まれていることを確認してから、Administration ポートレットをポータルに追加します。
アクティブ化するには、Administration Console ポートレットは別のポートレットからの通信が必要です。さらに、Administration Console ポートレットをアクティブ化するか呼び出すポートレットを構築する必要があります。Administration Console のポートレットをアクティブ化するには、リソース ID を使用します。Administration Console のポートレットが認識するリソース ID を使用してイベントを生成する主ポートレットには、コードを追加する必要があります。
表 2-1 に示すように、Administration Console のポートレットが Web プロジェクトに追加する必要があるそれぞれのライブラリ モジュールに含まれています。必要な J2EE モジュールをコピーします。すべてのポートレットに対して wlp-tools-common-web-lib および wlp-tools-framework-web-lib ライブラリが必要です。
Administration Console に J2EE ライブラリを追加するには、以下の手順に従ってください。
Administration Console のポートレットは、リソース ID を使用して生成されるポートレット間通信イベントに反応するよう設計されています。ポートレットでコンテンツやユーザの名前のようなポータル リソースを入力または選択すると、それぞれの Administration Console ポートレットがアクティブ化されます。
たとえば、コード リスト 2-1 に示すように、コンテンツ プロパティの編集をアクティブ化するポートレットにコードを追加して、ポータル ユーザにこのポートレットで表示するコンテンツを編集させることができます。Administration Console のポートレットと対話したり、「アクティブ化」したりするには、以下の WebLogic API が使用されます。
ResourceID PortletORB// Create a resource ID (see Javadoc)
final ResourceID resourceID = ...
// Get a TreeSelectListener
final HttpServletRequest request = ...;
final HttpServletResponse response = …;
final PortletORB portletORB = PortletORB.getPortletORB(request, response);
final PortletHandle portletHandle = portletORB.getBroadcastPortletHandle();
final TreeSelectListener listener = portletHandle.
narrow(TreeSelectListener.class);
// Call selected(…)
final ResourcePath resourcePath = new ResourcePath(new ResourceID[] { resourceID });final ResourceType resourceType = resourceID.getResourceType();
listener.selected(resourcePath, resourceType, resourceID);
ポータルの WebLogic Portal Administration Console ポートレットを再利用する場合、Administration Console オンライン ヘルプ システムで参照されたいくつかの特徴とステップが、ポートレットの再利用のコンテキストに適用されない場合があります。
たとえば、Administration Console の場合は、コンテンツ管理ポートレットはツリー イベントに反応します (コンテンツ リソース ツリーでクリックしてコンテンツを選択することによって生成されたイベント)。再利用のコンテキストで、ポートレット開発者は、他のポートレットにより発生したイベントに反応するようにポートレットをコンフィグレーションします。ツリー ビューは存在しません。したがって、ヘルプ システムで説明したいくつかの手順は適用されません。
いくつかのリソース (一定のイメージ、CSS ファイル、スクリプトなど) は再利用された Administration Console ポートレットに表示されない可能性があります。これは、ポートレットは、Portal Administration Console が使用するスキン ファイルで指定されたリソースのみを参照するためです。ポータルは別のスキン ファイルを使用する場合、図 2-3 に示すように、これらのリソースは表示されない。

この問題を修正するための最も簡単な方法は、適切な参照をポータルのルック アンド フィールにより使用された 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 ブラウザでスキンが正しく機能するのを確認します。 |
<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>
|