uCosminexus Portal Framework ポートレット開発ガイド

[目次][用語][索引][前へ][次へ]


5.4.1 Multi Web Portlet作成時の注意事項

<この項の構成>
(1) HTTPエミュレーション
(2) 認証
(3) URL変換
(4) キャッシュ制御
(5) 要素フィルタリング
(6) コンテンツフィルタリング
(7) 外部サーバとのセッション維持
(8) その他の注意事項

(1) HTTPエミュレーション

(a) HTTPエミュレーション

Multi Web Portletは,HTTPでHTMLコンテンツを取得して,ポートレットとしてポータルに統合します。Multi Web PortletはHTTP1.1のサブセットに対応します。HTTPレスポンスコードの取り扱いを次の表に示します。

表5-2 レスポンスコードの取り扱い(Multi Web Portlet)

レスポンスコード 内容
1xx:Informational 結果フレーズをポートレットおよびログに出力します。
2xx:Successful 200(正常終了)に対応します。201から206は結果フレーズをポートレットおよびログに出力します。
3xx:Redirection 301,302,303,307(リダイレクト)に対応します。300,304,305,およびGET,またはHEAD以外のリクエストによって301,または307が返ってきた場合は,結果フレーズをポートレットおよびログに出力します。
4xx:Client Error 401(Unauthorized)および407(Proxy Authentication Required)に対応します。
401および407以外は,結果フレーズをポートレットおよびログに出力します。
5xx:Server Error 結果フレーズをポートレットおよびログに出力します。

注※ Multi Web Portletでは,301または302が返ってきた場合,レスポンスコードへの対応は使用するWebブラウザによって異なります。


対応するレスポンスヘッダフィールドの取り扱いを次の表に示します。

表5-3 レスポンスヘッダフィールドの取り扱い(Multi Web Portlet)

ヘッダフィールド 内容
Cache-Control キャッシュ制御に使用します。キャッシュ制御の指定は,Portal ManagerのWebポートレット設定時に定義できます。詳細は,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。
Content-Type コンテンツのエンコーディング判定に使用します。text/htmlだけに対応します。
Last-Modified コンテンツの最終更新時刻です。キャッシュ制御に使用します。
Location リダイレクト先のURLです。リダイレクト時に使用します。
Set-Cookie 指定されたCookie値をサーバ内で保持します。
Set-Cookie2 指定されたCookie値をサーバ内で保持します。
WWW-Authenticate ベーシック認証を試みます。
Proxy-Authenticate プロキシ認証を試みます。

クライアントからのリクエストヘッダフィールドの取り扱いを次の表に示します。

表5-4 リクエストヘッダフィールドの取り扱い(Multi Web Portlet)

ヘッダフィールド 内容
Host リクエスト先のホスト名を設定します。
Accept 対応するMIMEタイプを設定します。
Accept-Encoding 対応するエンコーディングを設定します。
Accept-Language 対応する言語を設定します。
User-Agent リクエストしたUser-Agentを設定します。
If-Modified-Since コンテンツの最終更新時刻を設定します。
Cookie Set-Cookie1でサーバに保存されたCookieを設定します。
Cookie2 Set-Cookie2でサーバに保存されたCookieを設定します。
Authorization ベーシック認証に必要な認証情報を設定します。
Proxy-Authorization プロキシ認証に必要な認証情報を設定します。

(b) エンコーディング

HTMLコンテンツに日本語を記述する場合には,通常のHTMLコンテンツ同様,エンコーディング方法を指定する必要があります。エンコーディング方法の決定は,外部のWebサイトに格納されたHTMLコンテンツとuCosminexus Portal Framework内に配置したHTMLコンテンツで異なります。

uCosminexus Portal Frameworkでは,ユーザの環境による文字化けを防ぐために,ユーザの環境ごとにエンコーディング方法を推奨しています。uCosminexus Portal Frameworkが推奨するエンコーディングについては,「2.1.4 エンコーディング」を参照してください。

●外部Webサーバ上のHTMLコンテンツのエンコーディング指定

エンコーディング方法は,次の優先順位で決定されます。

  1. HTTPレスポンスヘッダのContent-Typeフィールドのcharsetパラメタ
  2. META要素中のContent-Type指定のcharsetパラメタ
  3. 自動判定

自動判定では,正しいエンコーディング方法を決定できないことがあるので,1.,または2.でのエンコーディング指定を推奨します。

(c) プロキシ連携

プロキシを経由してコンテンツを取得できます。プロキシと連携するには,Portal ManagerのWebポートレット設定時に定義できます。詳細は,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。

(d) リダイレクト

Multi Web Portletは,リダイレクト回数設定はできません。

(2) 認証

(a) 認証に対するシングルサインオン

PCからポータルにアクセスしている場合,ディレクトリサーバに格納されているユーザ情報(パーソナライズ情報)から認証情報を取得すれば,Webアプリケーションとのシームレスな連携ができます。

認証機能が利用できる前提条件を次に示します。

ベーシック認証

Webサーバのレスポンスコードが401(Unauthorized)の際,次の処理をします。

プロキシ認証

プロキシサーバのレスポンスコードが407(Proxy Authentication Required)の際,次の処理をします。

フォーム認証

Webサーバへのリクエスト情報を基にシングルサインオンを実現します。Multi Web Portletの場合,認証するサイトによって,認証画面を通過する必要があるとき,シングルサインオンはできません。パスワードの入力ミスなどによってフォーム認証に失敗した場合は,認証情報をクリアして,再度認証情報を入力する必要があります。

Multi Web Portletの場合は,ポートレットの編集ボタンをクリックし,「フォームベース認証のクリア」を実行して,再度認証情報を入力してください。

フォーム認証をするためには,次に示す項目をあらかじめ設定しておくことが必要です。

なお,管理者があらかじめユーザIDとパスワードを登録することはできません。

Multi Web Portletは,Portal Managerでフォーム認証情報を設定します。Multi Web Portletの場合のフォーム認証を設定する方法については,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。

(3) URL変換

Multi Web Portletでは,ポータル画面内で画面遷移するために,Webページに含まれている相対パス形式および絶対パス形式のURLを,uCosminexus Portal Frameworkを経由するURLに変換します。BASE要素で基準となるURLが指定されている場合,BASE要素を基に自動的に変換します。

HTMLコンテンツ中に含まれる画像などのバイナリデータを,uCosminexus Portal Frameworkを経由して取得するか,またはWebブラウザが直接Webサーバから取得するかをPortal Managerでポートレットを登録するときに選択できます。この設定方法については,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。

(4) キャッシュ制御

Multi Web Portletでは,uCosminexus Portal Framework内にHTML,CHTML,およびHDMLコンテンツをキャッシングしません。ただし,クライアントと転送先のWebサーバ間では,日付情報の有効期限を基に,クライアントに蓄積されたキャッシュを使用できます。

(5) 要素フィルタリング

要素フィルタリングは,Multi Web Portletの登録時に,フィルタリングするかしないかを設定できます。タグ,要素は取り除かれますが,コンテンツを表示するために必要なBASE要素やエンコーディング設定,およびキャッシュ制御に必要なMETA要素の一部はコンテンツ作成のために参照されます。

Multi Web Portletは,BODY本体内に記述できない開始,終了タグや要素を取り除きません。

Multi Web PortletのフィルタリングはPortal Managerの[ポートレットの設定]画面で設定します。フィルタリングの設定方法については,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。

要素フィルタリングで取り除かれるタグ,要素を次に示します。

なお,SCRIPT要素を設定すると,onで始まるイベント属性も設定されます。

(6) コンテンツフィルタリング

コンテンツフィルタリングとは,HTMLファイルをMulti Web Portletとして取り込む際に,コンテンツを抽出,または削除することです。コンテンツフィルタリングを使用すると,HTMLファイルの一部分をポートレットに取り込めます。コンテンツフィルタリングは,Webポートレットの登録時に設定できます。コンテンツフィルタリングの設定方法については,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「Webポートレットの設定」の説明を参照してください。

コンテンツフィルタリングでは,コンテンツのBODY要素本体に含まれるディレクティブに従ってコンテンツを抽出,または削除します。ディレクティブも同時に抽出・削除します。

ディレクティブは,コメントまたは正規表現で指定できます。

なお,コンテンツフィルタリングの設定を次に示します。

表5-5 コンテンツフィルタリングの設定(Multi Web Portlet)

フィルタリング方式 正規表現 コメント
削除 ×
抽出 × ×

(凡例)
○:設定できます。
×:設定できません。

正規表現でのディレクティブ指定
HTMLファイルの文字列をパターンとして指定します。パターンはWebポートレットごとに指定できます。
パターンを指定できる範囲を次に示します。
  • 先頭からパターンまで
  • パターンからパターンまで
  • パターンから終了まで
指定するパターンは大文字小文字を区別します。また,パターンには「,」および「|」は指定できません。HTMLファイルの文字列が,正規表現と合致しない場合,コンテンツフィルタリングをしません。
パターンからパターンまでの範囲は,複数指定できます。複数のフィルタリング範囲を指定する場合,フィルタリング範囲が重複しないようにパターンを指定してください。パターンからパターンまでの範囲では,パターン1およびパターン2を指定します。パターン2には,パターン1よりファイル内で後ろに記述されている文字列を指定します。

正規表現でのコンテンツフィルタリングの使用例
正規表現で削除するときの例を次に示します。
  • 特定個所のタグを消去する

    [図データ]

  • 特定のタグを一括して消去する

    [図データ]

  • コメント間を削除する

    [図データ]

(7) 外部サーバとのセッション維持

Multi Web Portletでは,外部Webサーバとのセッションを維持できます。セッション維持の方法を次に示します。

(a) Cookieによるセッション維持

外部WebサーバからのレスポンスからCookieを取得します。WebブラウザにはCookieを渡さないで,ポータルで保持します。ユーザがポータルにログインしており,かつ有効期限が永続的なCookieは,セッションが終了するとディレクトリサーバに保存されます。Cookieによるセッション維持を次の図に示します。

図5-2 Cookieによるセッション維持(Multi Web Portlet)

[図データ]

(b) URLRewritingによるセッション維持

URLを読み込んだあとにURLを書き換えて,セッションを維持します。

(8) その他の注意事項

(a) スタイル

Multi Web Portletではスタイルシートはページコンテンツ内のスタイルを使用します。

(b) FRAMESET

Multi Web Portletでは,FRAMESETを使用したHTMLコンテンツを表示できます。

(c) スクリプトを使用するには

スクリプトを使用するには,Webポートレットの登録の際に次の設定をしてください。

(d) インラインオブジェクトとの連携

HTML中に組み込まれるオブジェクトとMulti Web Portletは連携できません。

(e) 画面遷移

Multi Web Portletでは,HTMLコンテンツの場合,画面の表示先を指定するTARGETに「_PARENT」を指定しないでください。TARGETには「_TOP」,またはフレーム名を指定してください。なお,Multi Web Portletの画面内で「_PARENT」を使用した場合,ポータル画面が遷移することがあります。

(f) 最大化表示

Multi Web Portletの場合,次の条件のときは最大表示画面に切り替わりません。なお,最大化表示は,SCRIPTを使用している場合は設定しないでください。

(g) ポータル内のコンテンツ処理

Multi Web Portletでは,ポータル内のWebコンテンツ(HTML,CHTML,およびHDML)に対して次の処理をしません。

(h) プロキシサーバ使用時の注意事項

使用するプロキシサーバの種類によっては,ソケットレベルでの通信障害が発生することがあります。ソケットレベルでの通信障害が発生した場合,ポートレット定義ファイルのMulti Web Portletのポートレット定義に"hptl.MultiWebPortlet.ClientCacheSwitch"パラメタを追加して,valueに"NO"を指定してください。この設定によって,クライアントに蓄積されたキャッシュが使用できなくなり,通信障害を取り除けます。

なお,Portal Managerで設定を変更すると,ポートレット定義ファイルが上書きされるため,追加した"hptl.MultiWebPortlet.ClientCacheSwitch"パラメタは無効になります。Portal Managerで設定を変更した場合,再度,"hptl.MultiWebPortlet.ClientCacheSwitch"パラメタを追加してください。ポートレット定義ファイルについては,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「ポートレット定義ファイル(jetspeed-config.jcfg)」の説明を参照してください。

ポートレット定義ファイル(jetspeed-config.jcfg)の格納場所を次に示します。

{PROJECT_HOME}\WEB-INF\conf

ポートレット定義ファイルに追加した場合の例,および特定のポートレットにだけ追加した場合の例を次に示します。

ポートレット定義ファイルに追加した場合の例(下線部分を追加)
<portlet-entry type="abstract" name="MultiWeb">
  <classname>jp.co.hitachi.soft.portal.portal.portlets.MultiWebPortlet</classname>
  <parameter value="NO" name="hptl.MultiWebPortlet.ClientCacheSwitch"/> 
  <parameter value="localhost" name="hptl.ProxyHost"/>
  <parameter value="8080" name="hptl.ProxyPort"/>
</portlet-entry>

特定のポートレットにだけ追加した場合の例(下線部分を追加)
<portlet-entry application="false" admin="false" parent="MultiWeb" 
                             hidden="false" type="ref" name="Hitachi">
  <url>/portlets/hitachi.xml</url>
  <parameter value="NO" name="hptl.MultiWebPortlet.ClientCacheSwitch"/> 
  <parameter value="true" name="hptl.MaximizeMode"/>
  <parameter value="false" name="hptl.MinimizeMode"/>
  <parameter value="false" name="hptl.CloseMode"/>
  <parameter value="localhost" name="hptl.ProxyHost"/>
  <parameter value="8080" name="hptl.ProxyPort"/>
  <parameter value="YES" name="hptl.MultiWebPortlet.AppletRemove"/>
  <parameter value="YES" name="hptl.MultiWebPortlet.ObjectRemove"/>
  <parameter value="YES" name="hptl.MultiWebPortlet.ScriptRemove"/>
  <parameter value="Portal" 
                      name="hptl.MultiWebPortlet.BinaryDataFetching"/>
  <parameter value="FALSE" name="hptl.MultiWebPortlet.AutoMaxChange"/>
  <meta-info>
    <title>日立製作所</title>
    <description>日立製作所 ホームページ</description>
  </meta-info>
</portlet-entry>

[目次][前へ][次へ]


[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2009, 2013, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2009, 2013, Hitachi INS Software, Ltd.