第19章
この章では、exteNd Directorでカスタムポートレットを開発および実行する方法を説明します。この節は、次のトピックで構成されています。
この節では、exteNd Directorポータルで実行するポートレットクラスを作成するいくつかの方法について説明します。 ページフローデザインツールやポートレットウィザードのようなexteNd Directorポートレット開発ツールを使用する場合は、次の操作が自動的に実行されます。
exteNd Directorでは、ページフローと呼ばれる特殊なポートレットを、Javaコーディングせずに作成できる設計ツールが用意されています。
ページフローについての詳細、およびこれらの設計ツールの使用方法については、Pageflow and Form Guideを参照してください。
ポートレットウィザードを使用すると、exteNd DirectorのJava Portlet 1.0拡張機能を利用できるJava Portlet 1.0互換ポートレットが作成できます。
ポートレットウィザードを使用してカスタムポートレットを作成する
フィールド |
指定する内容 |
---|---|
クラス名 |
ポートレットクラスに使用する名前を入力します。 |
パッケージ |
ポートレットのパッケージ名を入力します。 パッケージが存在しない場合は、ターゲットリソースのリソースJARのルートに作成されます。 パッケージを指定しない場合は、ターゲットリソースセット内のリソースJARのルートにコーポレットクラスが配置されます。 |
リソースセット |
ポートレットフラグメント展開記述子の保存先のリソースセットを選択します。 リソースセットによって設計変更の動的展開が提供されます。
|
Include logging code |
このチェックボックスをオンまたはオフにして、ポートレットにロギングコードを追加するかどうか示します。このチェックボックスをオンにすると、ウィザードはコードを自動的に追加し、ロギングレベルがトレースレベルに設定されたときに、メッセージをログに送信できます。 |
コンテンツタイプ |
ポートレットがサポートするコンテンツタイプをオンにします。 ポートレットは複数のコンテンツタイプをサポートできます。 |
データ定義(トランスコードエンジンを使用するポートレットの場合) |
ポートレットのデータ定義ファイルを指定します。 ポートレットのデータ定義ファイルによって、ポートレットがワイヤレスサポートにデータをトランスコードする方法が決まります。 |
このウィザードでは、ポートレットクラスが作成され、Java Portlet 1.0準拠ポートレットの最低要件を満たすJavaソースコードが表示されます。 また、動的ローディングをサポートするために必要なファイルも作成されます(ポートレットウィザードによって生成されるものを参照)。
ポートレットウィザードでは、作成する各ポートレットに対して次の操作が実行されます。
ユーザによる[パッケージ名]への入力に基づいて、ポートレットクラスファイルを作成し、これをユーザが指定したリソースセットに保存します。
ターゲットリソースセットのportal-portletディレクトリにポートレットフラグメント展開記述子を作成します。 これはポートレットウィザードで指定した初期設定に基づいてポートレットを説明するXMLファイルです。
記述子ファイルの名前はポートレットクラスの名前と一致します。 次に、CreateNewUser.xmlという名前を持つ1つのポートレットフラグメント展開記述子の例を示します。
<portlet xmlns="http://www.novell.com/xml/ns/portlet-fragment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <description>Creates new user</description> <portlet-name>CreateNewUser</portlet-name> <display-name>Create New User</display-name> <portlet-class>com.novell.portlets.CreateNewUser</portlet-class> <expiration-cache>30</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>edit</portlet-mode> </supports> <portlet-info> <title>Create New User</title> <short-title>Create User</short-title> </portlet-info> <supported-option>edit</supported-option> <auto-register enabled="true"/> </portlet>
注記: exteNd Directorは、リソースセットに保存されたポートレットクラスとポートレットフラグメント展開記述子を使用して、ユーザが作成中にポートレットに行った変更を動的にロードします。 その結果として、変更はサーバのランタイム環境に即時反映されるため、ユーザはアプリケーション全体を再展開せずにテストすることができます。
詳細については、ポートレットの動的ロードのサポートおよびポートレットフラグメント展開記述子に関する節を参照してください。
次のように、ポートレットフラグメント展開記述子の展開でポートレットが自動的に登録されるように設定します。
<auto-register enabled="true"/>
ポートレットが自動的に設定されないようにするには、次のように設定を変更します。
<auto-register enabled="false"/>
exteNd Directorポートレット開発ツールを使用しない場合は、他のソースからポートレットをexteNd Directorのりソースセットにインポートできます。ただし、以下の条件を満たす必要があります。
ポートレットが次を含むJARにパッケージ化される必要があります。
各ポートレット定義に対して1つのポートレットフラグメント展開記述子
詳細については、ポートレートフラグメント展開記述子に関する節を参照してください。
ポートレットをexteNd DirectorポートレットアプリケーションWARにインポートする
ビューへのリソースのインポートに関する節で説明されている手順に従います。
exteNd Directorページフローデザインツールとポートレットウィザードは、ユーザが作成するポートレットクラスのすべてのプロパティを継承する1つのポートレット定義を自動的に作成し、登録します。 ただし、ポータル管理者は時には追加定義の作成が必要となることがあります。たとえば、あるポートレットクラスの特徴を全て継承するが、異なる初期化パラメータを使用する定義が必要となることがあります。
その場合は、新しいポートレット記述子を作成することで新しいポートレット定義を作成します。新しいポートレット記述子は新しいポートレットフラグメント展開記述子として、またはportlet.xmlおよびnovell-portlet.xmlの<portlet>セクションとして作成します。ここでは、ここではこの両方のアプローチについて説明します。
新しいポートレット定義をポートレットフラグメント展開記述子として作成する
ポートレットクラスに対して作成したポートレットフラグメント展開記述子をコピーすることによって新しいポートレットフラグメント展開記述子を作成します。
アプリケーションリソースセットの<portal-portlet>セクション内の記述子ファイルを、<portlet-name>と同じ名前で保存します。
新しいポートレット定義を登録します(ポートレット定義の登録の説明を参照)。
詳細については、ポートレートフラグメント展開記述子に関する節を参照してください。
portlet.xmlを変更することで新しいポートレット定義を作成する
新しい定義にexteNd Director追加プロパティを指定する場合は、novell-portlet.xmlを開き、Step 2~Step 3を繰り返します。
新しいポートレット定義を登録します(ポートレット定義の登録の説明を参照)。
ポータル管理者は、DAC (Director Administration Console)のポートレット管理セクションを使用してポートレット定義を登録します。 登録されたポートレット定義はポートレット登録と呼ばれます。 登録時には、管理者はポートレット登録の初期設定と設定を変更できます。 ポートレット定義の登録に関する章を参照してください。
登録プロセスが完了したら、ブラウザで直接実行することでポートレット登録を単位テストできます。
http://host/context/portal/portlet/ポートレット登録の名前
http://localhost/ExpressPortal/portal/portlet/WelcomeMessagePortlet
ポートレットパスURL、およびexteNd Directorポータルによって認識されるその他の要求URLについての詳細は、アプリケーション要求に関する節を参照してください。
ポータルはユニットテストした後で複数のポータルページに追加できます。exteNd Directorでは、コンテナ、共有、およびパーソナルページがサポートされています(ポータルページの操作を参照)。
ユーザはだれでも独自のパーソナルページにポートレットを追加できますが、コンテナページと共有ページにポートレットを追加できるのは認証されているユーザのみです。
ポータルページでのポートレットの使用方法については、次の節を参照してください。
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...