第7章

ポータルオプションの操作

この章では、ポータルオプションを使用して、ポータルのタイトルバーでコントロールの外観を制御する方法について説明します。この章の節は次のとおりです。

 
Top of page

ポータルオプションについて

ポータルオプションは、ポータルのタイトルバーに表示されるイメージまたは文字列です。各ポータルオプションは、ユーザがオプションをクリックすると、どのアクションが実行されるかを制御するリンクを指定します。 たとえば、ポートレットのタイトルバーにあるボタンで、ユーザはポートレットの編集、最小化、または復元ができます。各ボタンは、そのボタンに関連付けられた複数のイメージを持つことができるため、ボタンイメージは、ユーザのイベントに応答して変わります。

テーマは、ポータルオプションの外観を変更できます。テーマは、ポータルオプションに関連付けられた各ユーザイベントのイメージを提供できます。ユーザがテーマを変更すると、一貫した外観が与えられます。

ポータルオプションを定義すると、このオプションが特定のポートレットでサポートされることを指定できます。

 
Top of section

事前定義されたオプション

exteNd Directorには、事前定義されたオプションが付属しています。

オプション

説明

編集

ポートレット設定を編集する画面を表示します。 このオプションは、doEdit()メソッドがサポートされている場合ポートレットを編集モードにして、サポートされていない場合デフォルトのポートレット設定シートを表示します。

ヘルプ

コンテンツの追加情報を提供します。

最大化

ブラウザページ全体にポートレットが表示されるように最大化します。

最小化

ポートレットにより作成されるコンテンツを最小化して、タイトルバーだけが表示されるようにします。

削除

ポートレットコンテンツをページから削除します。

このオプションは、パーソナルページにのみ適用されます。

再起動

現在のページフローを再起動します。

For more informationページフローは、ポートレット内のユーザ操作のセットをモデル化します。 詳細ついては、『Pageflow and Form Guide』の「ページフローの操作」を参照してください。

復元

最小化または最大化されているポートレットをその通常のウィンドウ状態に戻します。

これらのオプションはすべて、portal_core_resource.jarで定義されます。

 
Top of section

カスタムオプション

独自のカスタムオプションを作成することもできます。 これを実行するには、exteNd Director開発環境のポータルオプションウィザードを使用します。

For more information    ポータルオプションウィザードの使用の詳細については、を参照してください。

 
Top of section

ポータルオプションに関連付けられたファイル

ポータルアプリケーションの各オプションは、次のファイルをそれぞれ提供する必要があります。

ファイル

説明

ポータルオプション記述子ファイル

オプションを説明します。 このファイルは次の情報を提供します。

  • 表示名

  • 説明

  • リンク

  • ツールヒン

  • タイトルバーの画像がない場合に使用されるテキスト

  • show by defaultフラグ

  • タイトルバーの順序

  • オプション用のテーマベースの画像セット

ポータルオプション記述子ファイルは、任意の名前を持つことができます。

ポータルオプションイメージファイル

オプションのイメージを定義します。

ポータルオプション記述子ファイルは、リソースセット内のportal-optionディレクトリに保存されます。

For more information    リソースセット内のファイル場所の詳細については、『exteNd Directorアプリケーションの開発』のリソースおよびJavaクラスのサブディレクトリに関する節を参照してください。

 
Top of section

ポータルオプションリンク

ポータルオプションのリンクは、次の事前定義されたポータルURLクエリーパラメータの1つまたは複数を指定できます。

パラメータ

説明

urlType

オプションにより生成されるポートレット URL のタイプを指定します。 サポートされているタイプは、次のとおりです。

  • Action  Portlet仕様で定義されているように、ポートレットアクション要求を起動するURL

  • Render  Portlet仕様で定義されているように、ポートレット表示要求を起動するURL

  • Remove  コンテンツをページから削除する要求を起動するURL。 このオプションはPortlet仕様で定義されませんが、ポータルで認識されます。

wsrp-mode

設定するポートレットモードを指定します。 サポートされているポートレット準拠モードは、次のとおりです。

  • view  ポートレットは、現在のウィンドウ状態(デフォルトモード)を反映するマークアップを生成します。

  • edit  ポートレットは、ユーザがポートレット設定を実行時に編集できるコンテンツを生成します。

  • help  ポートレットは、ヘルプ情報を提供します。

注記:   wsrp-modeが指定されていない場合、viewモードが使用されます。

wsrp-windowstate

設定するポートレットウィンドウ状態を指定します。 サポートされているポートレットウィンドウ状態は、次のとおりです。

  • normal  ポートレットは、ポートレットページを外のポートレットと共有することがあります。そのため、表示スペースが制限されます。

  • minimized  ポートレットは、出力を最小にするか、出力しません。 タイトルバーをオプション付き、(可能な場合)コンテンツなしで表示します。

  • maximized  ポートレットは、ページのほとんどまたはすべてを占有するため、生成されるコンテンツがnormal状態よりも豊富になります。

novl-regid

ポートレット登録IDを指定します。

novl-regidパラメータは、wsrp-mode、wsrp-windowstate、urlTypeパラメータが使用されている場合に必要です。

novl-inst

ポートレットのインスタンス名を指定します。

さまざまなパラメータの使用方法を示すポータルオプションリンクの例を次に示します。

オプション

リンクの例

編集

<link>?urlType=Render&amp;wsrp-mode=edit&amp;wsrp-windowstate=normal&amp;novl-regid=$COMPONENT_ID$&amp;novl-inst=$COMPONENT_INSTANCE_ID$</link>

ヘルプ

<link>?urlType=Render&amp;wsrp-mode=help&amp;wsrp-windowstate=normal&amp;novl-regid=$COMPONENT_ID$&amp;novl-inst=$COMPONENT_INSTANCE_ID$</link>

最大化

<link>?urlType=Render&amp;wsrp-windowstate=maximized&amp;novl-regid=$COMPONENT_ID$&amp;novl-inst=$COMPONENT_INSTANCE_ID$</link>

最小化

<link>?urlType=Render&amp;wsrp-windowstate=minimized&amp;novl-regid=$COMPONENT_ID$&amp;novl-inst=$COMPONENT_INSTANCE_ID$</link>

削除

<link>?urlType=Remove&amp;novl-regid=$COMPONENT_ID$&amp;novl-inst=$COMPONENT_INSTANCE_ID$</link>

再起動

<link>?urlType=Action&amp;rlf=true&amp;novl-regid=$COMPONENT_ID$&amp;novl-inst=$COMPONENT_INSTANCE_ID$</link>

復元

?urlType=Render&amp;wsrp-windowstate=normal&amp;novl-regid=$COMPONENT_ID$&amp;novl-inst=$COMPONENT_INSTANCE_ID$</link>

前の例で、文字列$COMPONENT_ID$ and $COMPONENT_INSTANCE_ID$ は、ポータル置換文字列の例です。置換文字列には、ランタイム、ポータルアプリケーションのコンテキストベース情報を含めることができます。 置換文字列は、ユーザの現在のテーマまたは現在表示されているコンポーネントIDなど、ランタイムにダイナミックに変更する事項を参照するキーワードです。これらのキーワードはランタイムに検出されると、現在のHTTP要求または現在のポータルコンテキストの情報に基づいて、置換されます。

For more information    ポータル置換文字列の詳細については、を参照してください。

 
Top of section

モードとウィンドウ状態

モードとウィンドウ状態は、ポートレットにより生成されるコンテンツに影響を与えます。 たとえば、編集モードのポートレットは、ユーザがポートレットの動作をカスタマイズできるようにするプロパティリストを生成します。 ヘルプモードでは、ポートレットは、その機能についての簡単な説明を示します。 ポートレットの現在のモードを判別するため、ポートレットコンテナは、要求オブジェクトでgetPortletMode()を呼び出します。

ユーザがポートレットを操作すると、ウィンドウ状態が変わることがあります。 たとえば、ユーザがポートレットを最小化すると、状態は最小化されたものに変更されます。これは、ポートレットのタイトルバーは表示されても、ポートレットのコンテンツは表示されないことを示します。

ウィンドウの状態は、EbiPortalContextインタフェースで定数として定義されます。

 
Top of page

ポータルオプション記述子ファイル

ポータルオプション記述子ファイルは、ポータルオプションを説明する複数の要素を提供します。ポータルアプリケーションに使用される各オプションには、個別のポータルオプションファイルが必要です。

ポータルオプション記述子ファイルの各要素は、次のとおりです。

要素名

説明

portal-option

ポータルオプションのルートノード

display-name

ポータルアプリケーションのユーザインタフェースでオプションの識別に使用される名前。 この文字列は、ローカライズできます。

description

オプションの説明。 この文字列は、ローカライズできます。

link

オプションに関連付けられたリンク。リンクは、完全修飾されたURLまたは関連URLです。ポータル置換文字列を含むこともできます。ポータルオプションのリンクは、JavaScriptも使用できます。リンクでJavaScriptを使用するには、リンクを次のように開始します。

  "javascript:"

For more information    ポータル置換文字列の詳細については、を参照してください。

link-target

リンクのターゲット。ターゲットは、フレーム名、またはHTMLハイパーリンクのTARGET属性に次の標準値のいずれかを指定できます。

  • _top

  • _self

  • _new

  • _blank

tool-tip

ユーザがリンク上にマウスを合わせると、ヒントが表示されます。

text

normalイベントに画像が提供されていない場合のリンクのテキスト。

show-by-default

ポートレットの記述子にこのオプションが含まれていない場合でも、このオプションがデフォルトでタイトルバーに表示するインジケータ

order

オプションの順序における左から右への相対的な位置。 整数が小さいほど、ツールバーで左に配置されます。

2つのオプションの順序番号が同じ場合、ランダムに配置されます。 たとえば、あるポートレットのオプションの順序番号が1、2、2、および4の場合、番号1のオプションが最初に配置され、番号4のオプションが最後に配置されます。 番号2の2つのオプションは、1と4の間でランダムに配置されます。

images

ポータルオプションに関連付けられたイメージのセット。

各テーマは、ポータルオプションに関連付けられたさまざまなイベントに、固有のイメージセットを指定できます。これらのイベントは、JavaScriptイベントハンドラにマップします。次のイベント名をイメージに指定できます。

  • normal

  • onmouseout

  • onmouseover

  • onmousedown

各イメージのパスは、完全修飾されたURLまたはポータル置換文字列を含むURLです。

ポータル置換文字列の詳細については、を参照してください。

hide-states

このオプションが表示されない1つまたは複数の状態。 たとえば、ポートレットが最大化されているとき、通常はタイトルバーの最大化オプションを隠します。

exteNd Directorでは、事前定義されたポートレットウィンドウ状態をhide-statesに指定できます。次のものが含まれます。

  • normal

  • minimized

  • maximized

次に、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&amp;wsrp-windowstate=maximized&amp;novl-regid=$COMPONENT_ID$&amp;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>

 
Top of page

ポータルオプションイメージファイル

各テーマは、ポータルオプションに関連付けられたさまざまなイベントに、固有のイメージセットを指定できます。ただし、これらのイメージのファイル名は、各ポータルテーマと同じであることが必要です。一貫した命名規則をすべてのテーマに使用すると、選択されたテーマに関係なく、各ユーザイベントが表示するイメージを持っていることを確認できます。 たとえば、ポートレットに関連付けられたEditオプションは、ユーザイベントの編集を処理するedit_onmouseover.gifというイメージを持つことができます。この場合、アプリケーションにサポートされる各テーマは、同じ名前のファイルを含むことが必要です。これにより、onmouseoverイベントが各テーマに表示されるイメージを常に持つことを確認します。

 
Top of page

テーマが使用可能なポータルオプション

ポータルオプションをテーマ対応にするには、ポータルオプション記述子ファイルの各オプションイメージのパスで$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
                 ...などです。

 
Top of page

ポートレットオプションの指定

ポータルオプションを定義すると、このオプションが特定のポートレットでサポートされることを指定できます。 ポートレットオプションは、ポートレット展開記述子のNovell拡張であるnovell-portlet.xmlで指定されます。

ポータルは、オプションのIDを指定することにより、1つまたは複数のポータルオプションの完全な定義を再使用できます。

  <portlet name="AppletLauncher">
     <supported-option>edit</supported-option>
     <supported-option>help</supported-option>
  ...
  </portlet>

また、ポートレットオプションを登録時に指定することもできます。

 
Top of page

ポータルオプションAPIの操作

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 ...