表 4 WebLogic Portal フレームワークと開発に関する確認済みの制限事項とその解決策
|
|
|
エクスポート/インポート ユーティリティでは、英語以外のロケールでインポートしたアーティファクトの追加のロケールが作成される
この問題は、ユーザがライブラリ内のブックを en_US 以外のロケールにローカライズし、そのブックを .pinc としてエクスポートしてから、その .pinc を en_US 以外のロケールで送り先にインポートした場合に発生する。リソースをインポートする場合に、ライブラリ レベルにスコープが設定されていると、エクスポート/インポート ユーティリティでは、ライブラリの一部のアーティファクトがローカライズされていなくても、メイン ブック内だけでなくライブラリ内のすべてのページとブックに対応するエントリが L10N_LOCALE テーブルに作成される。
解決策 : .pinc リソースを en_US 以外のロケールでインポートするときは、ライブラリ スコープを使用しない。
|
|
9.2 のコンシューマから送信された添付ファイルを 8.1.x のプロデューサで処理できない
WebLogic Portal 8.1.x プロデューサにデプロイされたポートレットをコンシューマで使用している場合は、そのプロデューサでファイルのアップロード処理ができないことがある。この問題は、WebLogic Portal 8.1 SP4 および SP5 で発生する。
解決策 : CR268263 のパッチについて、サポートに確認する。
|
|
KeyBootstrap クラスで鍵を生成できない
ドメイン スコープの複数の起動クラスを同時に使用することができないため、BEA コマース機能で構築されたコマース アプリケーションでは、アプリケーション スコープ JDBC プールの使用がサポートされない。
|
|
ポートレットの非同期表示が有効な場合は、ポートレットで直接ウィンドウのモードまたは状態を変更できない
WebLogic Portal では、ポートレットの現在のウィンドウの状態とモードを、プログラムによって、または URL に追加されたパラメータを使用してポートレットから変更できる。非同期表示 (AJAX または iframe を使用) が有効な場合は、これらのメカニズムによって一貫性のあるビューがエンド ユーザに表示されない。特に、ポートレットの上に表示されるタイトルバーには、モードまたは状態の変更がすぐに反映されない。
|
|
プロキシ ポートレットの状態管理 : 8.1.x のコンシューマで、プロデューサのセッション タイムアウトが正しく回復されない
コンシューマが 8.1.x を実行中の結合されたコンフィグレーションの場合、コンシューマがプロデューサのセッション タイムアウトから正しく回復しないことがある。
コンシューマのセッション タイムアウトは、すべてのプロデューサのうち最も小さい正のセッション タイムアウトよりも厳密に少なくする必要がある。たとえば、3 つのリモート プロデューサ RP1、RP2、および RP3 に対応する 3 つのプロキシ ポートレット PP1、PP2、および PP3 がコンシューマ ポータルにあるとする。RP1 にはセッションがなく (セッション タイムアウト = 0)、RP2 には 5 分のセッション タイムアウトがあり、RP3 には 2 分のセッション タイムアウトがある。したがって、コンシューマのセッション タイムアウトは 2 分未満にする必要がある。
すべてのプロキシ ポートレットを別の 1 つのグループに割り当てる。このオプションの欠点は、リモート ポートレットとの状態の共有ができないことである。
最後に、(1) と (2) が実行できない場合は、プロデューサのセッション タイムアウトについては、ユーザがブラウザを閉じてポータルを開き直す必要がある。
|
|
オフサイト URL の生成時に非圧縮 URL テンプレートを使用する必要がある
圧縮が有効な Web アプリケーションで、GenericURL、そのサブタイプまたは対応する JSP タグを使用してオフサイト URL (URL を生成するコードの Web アプリケーションでホストされないリソースの URL) を生成する場合は、圧縮が無効な URL テンプレートを指定する必要がある。
GenericURL redirectURL = GenericURL.createGenericURL(request, response);
redirectURL.setDomain("www.yahoo.com");
redirectURL.setPath("/compressedUrl/index.html");
redirectURL.setTemplate("no_compression_template");
ここで、「no_compression_template」は、{url:compression} 擬似トークンを除外する URL テンプレートの名前である。
解決策 : URL 圧縮を使用しない。また、GenericURL を使用してオフサイト リソースの URL を作成しない。
|
|
IFRAME ベースのポートレット コンテンツの非同期表示を無効にできない
<render:context> タグまたは AsyncContentContext クラスを使用すると、特定の操作についてポートレット コンテンツの非同期表示を無効にできる。IFRAME ベースの非同期表示の使用時には、このようなメカニズムが正しく機能しない。
解決策 : 非同期表示を無効にするか、または AJAX ベースの非同期表示を使用する。
|
|
実行中のサーバに対してサーバ ポートの変更を行うと、ポータル アプリケーションを再起動する必要がある
実行中のサーバに対してサーバ ポート (HTTP または HTTPS) の変更を行うと、その変更を反映するためには、影響を受けるすべてのポータル アプリケーションを再起動する必要がある。
|
|
GroupSpace アプリケーションのデプロイメント時に URLTemplate エラーが記録される
GroupSpace アプリケーションのデプロイ時に、ドメイン ログとサーバ コンソールに次のエラー メッセージが記録される。
<Jun 23, 2006 11:27:00 AM MDT> <Error>
<org.apache.beehive.netui.core.urltemplates.URLTemplate> <000000> <Required
token, {url:queryString}, not found in template: {url:path}>
<Jun 23, 2006 11:27:00 AM MDT> <Error>
<org.apache.beehive.netui.core.urltemplates.URLTemplate> <000000> <Required
token, {url:path}, not found in template:
{url:scheme}://{url:domain}:{url:port}>
<Jun 23, 2006 11:27:00 AM MDT> <Error>
<org.apache.beehive.netui.core.urltemplates.URLTemplate> <000000> <Required
token, {url:queryString}, not found in template:
{url:scheme}://{url:domain}:{url:port}>
<Jun 23, 2006 11:27:00 AM MDT> <Error>
<org.apache.beehive.netui.core.urltemplates.URLTemplate> <000000> <Required
token, {url:queryString}, not found in template: {url:path}>
<Jun 23, 2006 11:27:00 AM MDT> <Error>
<org.apache.beehive.netui.core.urltemplates.URLTemplate> <000000> <Required
token, {url:path}, not found in template:
{url:scheme}://{url:domain}:{url:port}>
<Jun 23, 2006 11:27:00 AM MDT> <Error>
<org.apache.beehive.netui.core.urltemplates.URLTemplate> <000000> <Required
token, {url:queryString}, not found in template:
{url:scheme}://{url:domain}:{url:port}>
解決策 : このメッセージは、アプリケーションのデプロイメントには影響しないため、無視してかまわない。
|
|
フロート ポートレット内または非同期ポートレット内で使用される PostbackURL が原因で状態が失われる
フロート ポートレット内または非同期ポートレット内で PostbackURL (派生型ではない) を使用すると、ポートレットの状態のさまざまな要素 (表示キャッシュの結果など) が失われる。また、そのようなポートレットの複数のインスタンスでは、状態の共有が開始される。
<render:jspContentUrl> や <netui:anchor> などの、ポートレット タイプにより適した他の URL 生成用メカニズムを使用する。
PortletPresentationContext.getLabel() または PortletBackingContext.getLabel() から返された値を持つ PostbackURL に GenericURL.WINDOW_LABEL_PARAM を直接追加する。
|
|
WebLogic Portal では、カスタマイズされたポータル オブジェクトを使用した既存のポータル Web アプリケーションのコンテキスト ルートの変更がサポートされない。
.portal ファイルをカスタマイズ済みの場合や、デスクトップ用の資格を作成済みの場合は、そのカスタマイズおよび資格を削除しない限り、Web アプリケーションのコンテキスト ルートを変更できない。
|
|
onInit イベントがリモート ポートレットでサポートされない
「onInit」タイプのハンドラを登録することで、ポートレットはオプションでイベント ハンドラを登録してポートレットの開始時に通知を受けることができる。この機能は、現在リモート ポートレットではサポートされていない。
解決策 : 通常、ポートレットは、ユーザの対話が発生した場合または他のイベントが処理された場合に、onInit を論理的に遅く実行することができる。
|
|
"[ERROR] IdentifierToken" 警告メッセージがコンソールに表示される
WLP オンライン ツール コンソールを使用した特定の操作で以下のようなコンソール エラーが発生する。
[ERROR] IdentifierToken - Can not update the identifier "itemID" on a null value object. [ERROR] ExpressionEvaluatorImpl - Exception when attempting to update the expression "{actionForm.itemID}" with available binding contexts [actionForm, pageFlow, globalApp]. Root cause: java.lang.RuntimeException: Can not update the identifier "itemID" on a null value object. Throwable: java.lang.RuntimeException: Can not update the identifier "itemID" on a null value object.
Stack Trace: java.lang.RuntimeException: Can not update the identifier "itemID" on a null value object. ...
このエラー メッセージは害を及ぼさないので、無視できる。
|
|
Netscape 7.1 に関連する Portal 10.0 ルック アンド フィール ファイルの制限
Portal 10.0 ルック アンド フィールのファイルは、CSS などの Web ベース アプリケーションに対する最新標準の実装が不完全な Netscape 7.1 との互換性を持たないと考えられている。Portal 10.0 ルック アンド フィールはこれらの最新標準に基づいているため、Netscape 7.1 を使用した場合にこれらのルック アンド フィールの多くの側面で問題が発生すると考えられる。問題の発生する分野 : レイアウト、複数レベルのメニュー、画像ロールオーバ。
プラットフォーム : Netscape Web ブラウザ バージョン 7.1
解決策 : Netscape 7.2 へのアップグレードによりこれらの問題の多くが解決される。Netscape 8.x へのアップグレードによりこれらの問題のすべてが解決される。または、従来のブラウザ用に設計された "従来の" ルック アンド フィールを使用できる。
|
|
Ajax 対応デスクトップ (非同期更新が有効な場合) で、コンテンツ プレゼンタ コンフィグレーション ウィザードの [取り消し] ボタンが動作しない
デスクトップまたはコミュニティで [非同期更新を有効にする] オプションが有効にされている場合、コンテンツ プレゼンタ コンフィグレーション ウィザードの [取り消し] ボタンによってウィザードが取り消されない。保存およびプレビューは影響なく正常に動作する。
解決策 : ウィザードを取り消すには、「編集の終了」と呼ばれるタイトル バー ボタンを使用するか、デスクトップからログアウトする。
|
|
Ajax 対応デスクトップでのリダイレクト (asyncMode=有効)
Ajax 対応デスクトップで、リダイレクト URL にパラメータを追加するとデコードされない。
解決策 : パラメータを追加する前に setForcedAmpForm(false) を呼び出す。例 : PostbackURL postback = PostbackURL.createPostbackURL(request, response); postback.setForcedAmpForm(false); postback.addParameter(RETURNED_FROM_CONFIG_KEY, "true");
|
|
非推奨バージョンのルック アンド フィール (クラシックなど) で 10.0 AJAX ポートレット実装がサポートされない
非推奨のルック アンド フィールで使用した場合、10.0 AJAX 実装は規定された動作ではなくなる。
解決策 : 無効または compat_9_2 モードを使用する。Javadoc の com.bea.netuix.application.definition.DesktopDefinition.setAsyncMode を参照する。
|
|
MySQL データベースの CREATION_DATE 列が UPDATE 発生時に誤って更新される
いくつかの WebLogic Portal データベース テーブルには、新しいデータ行の INSERT 時にのみ初期化される CREATION_DATE 列が含まれる。これらの列が誤ってデータの UPDATE 時に現在の日付のタイムスタンプに更新される。
プラットフォーム : MySQL データベースを使用しているすべて
|
|
ポートレットが XMLHttpRequest を使用して送信した AJAX 要求が、ポータル フレームワークによって適切に処理されない。その結果、ポートレットは、AJAX 要求を処理する際、サーバサイドの適切な実行時コンテキストを受信できない。
解決策 : サーバサイドの適切な実行時コンテキストを受信するには、ポートレット開発者は、すべてのブラウザおよびサーバ間の通信に、ブラウザのネイティブ XMLHttpRequest オブジェクトではなく、com.bea.netuix.ajax.client.XMLHttpRequest というラップされた XMLHttpRequest オブジェクトを使用する必要がある。
|