|
Clipper ポートレットは、他の web サイトの内容を表示します。Clipper ポートレットには、[web clipping] という処理を使用して、他の Web サイトのすべての内容または内容のサブセットを追加することができます。この章では、Clipper ポートレットを作成およびコンフィグレーションする方法について説明します。
Clipping はポータルにコンテンツを追加するための簡単なテクニックです。他の Web サイトの全部または一部をクリップすることができます。ユーザはポータルから離脱しないで、他の Web サイトから効率的にコンテンツを表示またはコンテンツと対話することができます。
ブラウザ ポートレットという他の WLP 機能を使用してポータルにリモート Web ページ コンテンツを追加することもできます。ブラウザ ポートレットの詳細については、「ブラウザ ポートレット」を参照してください。Clipper ポートレットは、次の点でブラウザ ポートレットと異なっています。
ポートレット ウィザードを使用して、Clipper ポートレットを作成します。手順は他のポートレット タイプの作成と同じです。
| 注意 : | clipCustomClass プリファレンスは「Clipper ポートレットの外観の変更」の説明に従って指定した場合を除いて、クリップされた Web ページのテキストに対して後処理を実行しません。Clipped テキストは応答に逐語的に書かれます。元の Web ページが構文エラーを含む場合、Clipper ポートレットが表示される時、それらのエラーがコンシューマ ブラウザにも表示される。 |
| 注意 : | デフォルトでは、リモート サイトの <HEAD> 要素を含めて Clipper ポートレットの内容にすべての Web サイトが含まれています。 |
ポートレットの特定のプロパティを設定して、Clipper ポートレットの外観を変更、Clipper ポートレットに表示される Web ページの内容を分類して認証できます。Clipper ポートレットのプロパティをプロパティ エディタまたは手動で変更できます。
タイトルバーまたはプレゼンテーション プロパティなどのポートレット プロパティの共通セットを編集するには、プロパティ エディタを使用できます。Clipper ポートレットはこれらのプロパティを他のポートレット タイプと共有し、プロパティを変更する手順は同じです。プロパティ エディタを通してポートレット プロパティの編集の詳細については、「ポートレット プロパティ」を参照してください。
Clipper ポートレットには、プロパティ エディタに表示されないおよび手動で設定する必要があるプロパティのセットを含みます。最も簡単な方法は、Clipper ポートレットのプロパティをポートレットのプリファレンスとして追加し設定することはプロパティを手動で変更ことです。
| ヒント : | WLP はクリップしたページの範囲を制御または認証するにはプリファレンスを提供します。それらのタスクの固有の情報について、「Clipper ポートレットの外観の変更」または「Clipper ポートレットの認証」を参照してください。 |
ポートレットのプリファレンスをセットするには、次の操作を行います。
ポートレット プリファレンスの設定の詳細について、「ポートレット プリファレンス」を参照してください。
クリップする Web ページの部分を指定するには、ポートレット プリファレンスを設定できます。Java クラスの実装し、ポートレット プリファレンスとして指定して、クリップしたテキストを変更できます。表 6-1 に、これらのタスクを実行するために手動で設定できる Clipper ポートレット プリファレンスのセットの一覧を示し、説明します。プリファレンスの設定方法について、「Clipper ポートレット プロパティの変更」を参照してください。
| 注意 : | プリファレンス clipXPath、clipStartText/clipEndText、または clipCustomClass (表 6-1 にリストされる) は排他的なものです。最初にシステムは clipCustomClass を検索します。そのクラスが存在しない場合、システムは clipXPath を検索します。clipXPath が存在しない場合、システムは clipStartText/clipEndText を検索します。 |
この節では、Clipper ポートレット用の認証のコンフィグレーション方法について説明します。一度コンフィグレーションした後、Clipper ポートレットの認証は自動的に実行されます。WebLogic Portal はClipper ポートレット認証の 2 つの方法をサポートします。
フォームベース認証はリモート サイトのサーバ サイド要求を通じて実行します。ポートレットでプリファレンスの設定によって、このタイプの認証をコンフィグレーションします。プリファレンスの設定手順は「Clipper ポートレット プロパティの変更」で説明します。
| 注意 : | 現在、フォームベース認証に関連するセキュリティ制限があります。「Clipper ポートレットの制限事項」を参照してください。 |
コード リスト 6-1 は、フォームベース認証のプリファレンスの例を示します。
<netuix:preference name="remoteUrl" value="http://some.site.com" modifiable="false"/>
<netuix:preference name="loginFormUrl" value="http://some.site.com/login.action" modifiable="false"/>
<netuix:preference name="authenticationType" value="Form" modifiable="false"/>
<netuix:preference name="loginFormMethod" value="POST" modifiable="false"/>
<netuix:preference name="loginFormUserParam" value="os_username" modifiable="false"/>
<netuix:preference name="loginFormPasswordParam" value="os_password" modifiable="false"/>
<netuix:preference name="loginFormExtraParams" value="os_destination=abc" modifiable="false"/>
<netuix:preference name="groupUsername" value="your_username" modifiable="false"/>
<netuix:preference name="groupPassword" value="your_password" modifiable="false"/>
コード リスト 6-2 は基本 HTTP 認証のプリファレンスの例を示します。
<netuix:preference name="authenticationType" value="BasicHTTP" modifiable="false"/>
<netuix:preference name="groupUsername" value="your_username" modifiable="false"/>
<netuix:preference name="groupPassword" value="your_password" modifiable="false"/>
この節では、Clipper ポートレットの移動可能なリンクまたはリソース URLを書き換える方法を説明します。
anchor リンクなどの移動可能なリンクは、以下のようにコンフィグレーションできます。
詳細について、「URL 書き換えコンフィグレーションの技術」を参照してください。
リソース URL は 画像、スタイルシート、スクリプトなどをポイントします。WLP サーバからプロキシされるようにリソース リンクを書き換えるまたは書き換えないように Clipper ポートレットをコンフィグレーションできます。
デフォルトでは、WLP サーバでクリップされたページのクッキーが格納されるので、リソースがプロキシされる。たとえば、ファイアウォールが設定されているページをクリップした場合、ブラウザはリモート ページのリソースにアクセスできません。この場合、WLP サーバに通じてリソースの要求をルーティングする必要があります。ただし、このプロキシ処理は WLP サーバのパフォーマンスに影響するので、必要でない場合、プロキシ処理を無効化することができます。
詳細について、「URL 書き換えコンフィグレーションの技術」を参照してください。
IClipperUrlFilter という Java クラスを実装して、またはポートレット プリファレンスの設定して URL の書き換え方法を設定できます。
リンク書き換えルールを定義するには、SPI インタフェースcom.bea.netuix.clipper.IClipperUrlFilter を提供します。このインタフェースには、コード リスト 6-3 にリストされている 3 つの方法があります。実装には、引数なしのコンストラクタがある必要です。urlFilter ポートレット プリファレンスを使用して、ポートレットに実装を登録します。次に例を示します。
<netuix:preference name="urlFilter" value="my.package.MyUrlFilterImpl" modifiable="false"/>
ポートレット プリファレンスの設定の詳細について、「プリファレンスとして Clipper プロパティの手動設定」または『ポートレット開発ガイド』にある「ポートレット プリファレンス」を参照してください。
/** url は Clipper ポートレットからアクセスできるように設定しますか。
* このメソッドは false を返した場合、この url を含む
* 書き換えたリンクに空の値が存在します (たとえば、<a href="forbidden.site.com">
* リンクが <a href="" > に書き換え、この url をクリップする要求は
* 404 応答を受信します。
*/
boolean allowUrl(String url);
/**
* ポータル コンテキストに存在するようにこの url を書き換える必要がありますか。このメソッドは false
* を返した場合、この url へのリンクをクリックすると、
* Clipper ポートレットでなく、全ブラウザに新しいページが表示されます
* 対象 url を示します。
*
* このメソッドは移動可能なリンクのみに適用します。
* たとえば、anchor、form actions などのリンク。
*/
boolean rewriteClickableUrl(String url);
/**
* 画像、スクリプトまたはスタイルのタグなどのリソース url 用。
*
*wlp サーバを通してリソースをプロキシするか、
* または
* 直接にリモート ページのオリジナルのリソースにリンクするか。
*/
boolean rewriteResourceUrl(String url);
リンクの書き換えを制御するには、独自のクラスを定義しない場合、これらのポートレット プリファレンスを使用できます。ポートレット プリファレンスの設定の詳細について、「プリファレンスとして Clipper プロパティの手動設定」または『ポートレット開発ガイド』にある「ポートレット プリファレンス」を参照してください。
| 注意 : | <netuix:preference name="allowedUrlRegex" value=".*allowedlink.*" modifiable="false"/> |
<netuix:preference name="proxyResourceUrls" value="false*" modifiable="false"/>
クリップしたページには、image タグ <img src="abc.com/myImage.gif"/> があることを仮定します。proxyResourceUrls プリファレンスの値は false の場合、Clipper ページには、以下に示したように同様のイメージ リンクがあります。
<img src="abc.com/myImage.gif"/>
しかし、値が true で設定するの場合、リンクは以下の通り示します。
<img src="myportal.com?[BEA internal link representation]" />
この節では、HTTPS URLで Clipper ポートレットを処理する方法について説明します。
HTTPS リンクをクリップした場合、リンクがポートレット ページの HTTPS リンクとして表示されます。
リモート サイトで HTTP URL から HTTPS URL にリダイレクトの原因となるクリップしたリンクをクリックすると、ポータル リクエストが HTTP URL から HTTPS URL にリダイレクトされます。ただし、次の例外があります。特定のブラウザ セッションに対するポータルへの初期の要求は HTTPS にリダイレクトされません。以下の項目で例外を説明します。
ページ www.xyz.com は xyz.com/mail にリンクしています。このリンクは http://mail.google.com/mail をポイントします。このリンクをクリックすると、https://www.google.com/accounts/ServiceLogin へリダイレクトされます。
http://myportal.com ポータルでhttp://www.xyz.comをクリップし、ブラウザを起動して、クリップしたポータルのメール リンクをクリックすると、ポータルの要求が https://myportal.com へリダイレクトされます。たとえば、クリップしたページが https://www.xyz.com/accounts/ServiceLogin へリダイレクトされ、そのページが表示されます。
http://mail.xyz.com/mail をクリップし、ブラウザを起動し、ポータルを開くと、HTTPS へリダイレクトされません。クリップしたページに対して、たとえば、https://www.zyz.com/accounts/ServiceLogin へのリダイレクト設定が適用され、内容が適切に表示されますが, ブラウザから WLP サーバへのルートは HTTPS を使用しません。そのページの「サインイン」フォームに HTTPS アクション URL があるので、クリップしたフォームのアクションは https://myportal.com をポイントします。
同様に、https://www.xyz.com/accounts/ServiceLogin をクリップし、ブラウザを起動して、http://myportal.com に移動すると、最初の要求で HTTPS へリダイレクトされません。
WLS がサイトに HTTPS 要求を作成するには、そのキーストアに該当サイトの証明書がある必要があります。証明書がない場合、以下のような例外が表示されます。
[Security:090477]Certificate chain received from aaa.bbb.com - 10.123.45.67 was not trusted causing SSL handshake failure.
WLS での SSL コンフィグレーションの詳細について、e-docs の WLS ドキュメント「ID と信頼のコンフィグレーション」を参照してください。HTTPS を正しく使用するには、Clipper ポートレットをコンフィグレーションする基本な手順は以下の通りです。
| ヒント : | 「Cert Viewer Plus」という Firefox plugin を使用して証明書を取得できます。このプラグインでセキュリティ証明書をビューおよび保存できます。 |
keytool -import -file my_certificate_file -keystore DemoTrust.jks -alias some_unique_alias
エイリアス値は .jks ファイルのユニークなエリアスです。以下のコマンドを使用してエリアスをビューすることができます。
クリップした Web ページのリンクをクリックすると、クリップされた元の URL を回復するには、ブラウザを再起動する必要があります。
Clipper ポートレットには、そのバッキング ファイルがあります。バッキング ファイルの詳細について、『ポートレット開発ガイド』にある「
バッキング ファイル」を参照してください。
Clipper ポートレットに独自のバッキング ファイルを追加するには、次の操作を行います。
.portlet ファイルにある Clipper ポートレットのプリファレンスを変更した場合、WEB-INF/netuix-config.xml ファイルに以下の属性を設定しない限り、実行時に変更が反映されません。
<propagate-preferences-on-deploy propagate-to-instances='true' master='file'/>
Administration Console に変更したプリファレンスが自動的に使用されます。
Clipper ポートレット機能の確認済みの制限事項は以下のとおりです。これらの制限事項は今後のリリースに適用しない場合があります。
|