第7章
この章では、ポータルオプションを使用して、ポータルのタイトルバーでコントロールの外観を制御する方法について説明します。この章の節は次のとおりです。
ポータルオプションは、ポータルのタイトルバーに表示されるイメージまたは文字列です。各ポータルオプションは、ユーザがオプションをクリックすると、どのアクションが実行されるかを制御するリンクを指定します。 たとえば、ポートレットのタイトルバーにあるボタンで、ユーザはポートレットの編集、最小化、または復元ができます。各ボタンは、そのボタンに関連付けられた複数のイメージを持つことができるため、ボタンイメージは、ユーザのイベントに応答して変わります。
テーマは、ポータルオプションの外観を変更できます。テーマは、ポータルオプションに関連付けられた各ユーザイベントのイメージを提供できます。ユーザがテーマを変更すると、一貫した外観が与えられます。
ポータルオプションを定義すると、このオプションが特定のポートレットでサポートされることを指定できます。
exteNd Directorには、事前定義されたオプションが付属しています。
オプション |
説明 |
---|---|
編集 |
ポートレット設定を編集する画面を表示します。 このオプションは、doEdit()メソッドがサポートされている場合ポートレットを編集モードにして、サポートされていない場合デフォルトのポートレット設定シートを表示します。 |
ヘルプ |
コンテンツの追加情報を提供します。 |
最大化 |
ブラウザページ全体にポートレットが表示されるように最大化します。 |
最小化 |
ポートレットにより作成されるコンテンツを最小化して、タイトルバーだけが表示されるようにします。 |
削除 |
ポートレットコンテンツをページから削除します。 このオプションは、パーソナルページにのみ適用されます。 |
再起動 |
現在のページフローを再起動します。
|
復元 |
最小化または最大化されているポートレットをその通常のウィンドウ状態に戻します。 |
これらのオプションはすべて、portal_core_resource.jarで定義されます。
独自のカスタムオプションを作成することもできます。 これを実行するには、exteNd Director開発環境のポータルオプションウィザードを使用します。
ポータルオプションウィザードの使用の詳細については、を参照してください。
ポータルアプリケーションの各オプションは、次のファイルをそれぞれ提供する必要があります。
ファイル |
説明 |
---|---|
オプションを説明します。 このファイルは次の情報を提供します。 ポータルオプション記述子ファイルは、任意の名前を持つことができます。 |
|
オプションのイメージを定義します。 |
ポータルオプション記述子ファイルは、リソースセット内のportal-optionディレクトリに保存されます。
リソースセット内のファイル場所の詳細については、『exteNd Directorアプリケーションの開発』のリソースおよびJavaクラスのサブディレクトリに関する節を参照してください。
ポータルオプションのリンクは、次の事前定義されたポータルURLクエリーパラメータの1つまたは複数を指定できます。
さまざまなパラメータの使用方法を示すポータルオプションリンクの例を次に示します。
前の例で、文字列$COMPONENT_ID$ and $COMPONENT_INSTANCE_ID$ は、ポータル置換文字列の例です。置換文字列には、ランタイム、ポータルアプリケーションのコンテキストベース情報を含めることができます。 置換文字列は、ユーザの現在のテーマまたは現在表示されているコンポーネントIDなど、ランタイムにダイナミックに変更する事項を参照するキーワードです。これらのキーワードはランタイムに検出されると、現在のHTTP要求または現在のポータルコンテキストの情報に基づいて、置換されます。
モードとウィンドウ状態は、ポートレットにより生成されるコンテンツに影響を与えます。 たとえば、編集モードのポートレットは、ユーザがポートレットの動作をカスタマイズできるようにするプロパティリストを生成します。 ヘルプモードでは、ポートレットは、その機能についての簡単な説明を示します。 ポートレットの現在のモードを判別するため、ポートレットコンテナは、要求オブジェクトでgetPortletMode()を呼び出します。
ユーザがポートレットを操作すると、ウィンドウ状態が変わることがあります。 たとえば、ユーザがポートレットを最小化すると、状態は最小化されたものに変更されます。これは、ポートレットのタイトルバーは表示されても、ポートレットのコンテンツは表示されないことを示します。
ウィンドウの状態は、EbiPortalContextインタフェースで定数として定義されます。
ポータルオプション記述子ファイルは、ポータルオプションを説明する複数の要素を提供します。ポータルアプリケーションに使用される各オプションには、個別のポータルオプションファイルが必要です。
ポータルオプション記述子ファイルの各要素は、次のとおりです。
次に、maximizeというポータルオプションの記述子ファイルの例を示します。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE portal-option PUBLIC "-//SilverStream Software, LLC//DTD Portal Option 5.0//EN" "portal-option_5_0.dtd"> <portal-option> <display-name>Maximize</display-name> <description>ブラウザページ全体</description>にポートレットが表示されるように最大化します。 <link>?urlType=Render&wsrp-windowstate=maximized&novl-regid=$COMPONENT_ID$&novl-inst=$COMPONENT_INSTANCE_ID$</link> <link-target>_new</link-target> <tool-tip>Maximize this portlet</tool-tip> <text>Max</text> <show-by-default>true</show-by-default> <order>25</order> <images> <image event="normal">$THEME_URL$/images/maximize.gif</image> <image event="onmouseout">$THEME_URL$/images/maximize.gif</image> <image event="onmouseover">$THEME_URL$/images/maximize.gif</image> <image event="onmousedown">$THEME_URL$/images/maximize.gif</image> </images> <hide-states> <state>maximized</state> </hide-states> </portal-option>
各テーマは、ポータルオプションに関連付けられたさまざまなイベントに、固有のイメージセットを指定できます。ただし、これらのイメージのファイル名は、各ポータルテーマと同じであることが必要です。一貫した命名規則をすべてのテーマに使用すると、選択されたテーマに関係なく、各ユーザイベントが表示するイメージを持っていることを確認できます。 たとえば、ポートレットに関連付けられたEditオプションは、ユーザイベントの編集を処理するedit_onmouseover.gifというイメージを持つことができます。この場合、アプリケーションにサポートされる各テーマは、同じ名前のファイルを含むことが必要です。これにより、onmouseoverイベントが各テーマに表示されるイメージを常に持つことを確認します。
ポータルオプションをテーマ対応にするには、ポータルオプション記述子ファイルの各オプションイメージのパスで$THEME_URL$置換文字列キーワードを使用することが必要です(次を参照)。
<images> <image event="normal">$THEME_URL$/images/edit.gif</image> <image event="onmouseout">$THEME_URL$/images/edit_mouseout.gif</image> <image event="onmouseover">$THEME_URL$/images/edit_mouseover.gif</image> <image event="onmousedown">$THEME_URL$/images/edit_mousedown.gif</image> </images>
サポートされる各テーマは、BasicBlueテーマの例のように、これらの名前を持つ固有のイメージセットを提供します。
...\portal-theme\ \BasicBlue theme.xml theme.css \images edit.gif edit_mousedown.gif edit_mouseout.gif edit_mouseover.gif ...などです。
ポータルオプションを定義すると、このオプションが特定のポートレットでサポートされることを指定できます。 ポートレットオプションは、ポートレット展開記述子のNovell拡張であるnovell-portlet.xmlで指定されます。
ポータルは、オプションのIDを指定することにより、1つまたは複数のポータルオプションの完全な定義を再使用できます。
<portlet name="AppletLauncher"> <supported-option>edit</supported-option> <supported-option>help</supported-option> ... </portlet>
また、ポートレットオプションを登録時に指定することもできます。
exteNd DirectorAPIは、オプションを操作する2つのインタフェースを提供します。
EbiOptionManagerは、EbiOptionInfoオブジェクトにアクセスするメソッドを提供します。EbiOptionInfoは、ポータルオプションに関するさまざまな種類の情報を取得するメソッドを提供します。これには、ポータルオプション記述子で指定されるプロパティ設定値が含まれます。
EbiOptionManagerオブジェクトにアクセスするには、PortalサブシステムのEboFactoryクラスのgetOptionManager()メソッドを使用する必要があります。
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...