この章では、プラグインのユーザーインタフェースの定義に使用する、XML スキーマを説明します。この章の内容は、次のとおりです。
<pluginUI> 要素を使用すると、プラグインの作成者は、カスタムのショートカットページで表示される機能の制限付きセットを記述できます。機能セットはショートカットを介して表示されます。また、次のカテゴリに分類されています。
コンポーネント型ショートカット:
当該コンポーネント型を拡張するすべてのコンポーネントを一覧表示する
当該コンポーネント型を拡張するコンポーネントを作成する
コンポーネントショートカット:
指定のコンポーネントを管理する (「component details」ページへのリンク)
当該コンポーネントがインストールされている仮想ホストおよび物理ホストを一覧する
プランショートカット:
指定のプランを管理する (「plan details」ページへのリンク)
<pluginUI> 要素には次の属性があります。
menuItem – ブラウザインタフェースのメニューで表示するテキスト。名前の長さは 20 文字以下にします。実際の文字制限は、属性型により定義されます。
tooltip (オプション) – ブラウザインタフェースのメニュー項目で表示するツールヒント。アイコンを用意することを選択した場合、menuItem にはアイコンが含まれます。
http://www.sun.com/schema/SPS |
http://www.w3.org/2001/XMLSchema-instance |
xsi:schemaLocation (オプション) – 次の推奨値を持つ文字列。
http://www.sun.com/schema/SPS pluginUI.xsd |
schemaVersion – 使用されるプラグイン XML スキーマのバージョンである、型 schemaVersion の必須属性。許可されている値は 5.0 と 5.1 のみです。
スキーマの 5.1 バージョンは、5.0 バージョンと下位互換性があります。
<pluginUI> 要素には次の要素が含まれます。
<icon> – 当該プラグインのインタフェース内で表示させる、グラフィック (アイコン) へのパスを提供する
<customPage> – ブラウザインタフェースのメニュー項目のリンク先カスタムページのコンテンツを定義する
<icon> 要素は <pluginUI> 要素の子です。<icon> 要素は、プラグインアイコンの位置を宣言します。アイコンは GIF または JPEG ファイル形式であることが想定されています。アイコンの次元は、幅 32 ピクセル、高さ 26 ピクセルである必要があります。
<icon> 要素には 1 つの必須属性 jarPath があります。jarPath 属性は、プラグイン JAR ファイルのルートに相対的な、プラグインアイコンの位置を指定します。先頭のスラッシュ ( /) またはドット (.) 文字は使用できません。
<customPage> 要素は <pluginUI> 要素の子で、ブラウザインタフェースのメニュー項目のリンク先カスタムページのコンテンツを定義します。 <customPage> 要素は、1 つ以上の <section> 要素を含み、name 属性を持っています。
<customPage> 要素には、1 つの必須属性 name があります。name 属性は、カスタムページのブレッドクラムおよびタイトルセクションで使用されます。
<section> 要素は <customPage> 要素の子で、カスタムページのセクションを定義します。<section> 要素には 1 つ以上の <entry> または <section> 要素が含まれ、次の 2 つの属性を持っています。
title – セクションのタイトル
description (オプション) – セクションの説明 (副次的なテキスト)
入れ子になったカスタムページ構造を作成するには、別の <section> 要素内に <section> 要素を配置します。入れ子になったすべての <section> 要素は、<section> 内のすべての <entry> 要素のあとに出現する必要があります。
<entry> 要素は <section> 要素の子で、ユーザー操作のエントリポイントを定義します。<entry> 要素は 0 個以上の <action> 要素があり、次の属性を持っています。
title – エントリのタイトル
description (オプション) – エントリの説明
<action> 要素は <entry> 要素の子で、ユーザー操作を定義します。各 <action> 要素は、必ず 1 つの子要素を含む必要があります。
<action> 要素には次の 2 つの属性があります。
text – ユーザー操作のリンク用にレンダリングされるテキスト
tooltip (オプション) – ユーザー操作のリンクとして使用されるツールヒント
各 <action> 要素には、次の子要素のいずれかが含まれている必要があります。
<compCreate> 要素は <action> 要素の子で、名前が指定されたコンポーネント型の「component create」ページへのリンクを定義します。
<compCreate> 要素には次の 1 つの必須属性があります。
typeName – コンポーネント型の名前。コンポーネント型は、当該プラグイン、または当該プラグインが直接依存するプラグインに含まれている必要があります。コンポーネント型を hidden として定義することはできません。pluginName は、fullPluginName#componentTypeName のように、コンポーネント型名の接頭辞である必要があります。
<compDetails> 要素は <action> 要素の子で、名前付きコンポーネントの最新バージョンに関する「component details」ページへのリンクを定義します。
<compDetails> 要素には次の 2 つの必須属性があります。
path – コンポーネントの絶対パス。
name – コンポーネントの名前。コンポーネントは、当該プラグイン、または当該プラグインが直接依存するプラグインに含まれている必要があります。
<compList> 要素は <action> 要素の子で、名前が指定されたコンポーネント型によりフィルタリングされる「component list」ページへのリンクを定義します。オプションの path または flatView 属性が省略されている場合、それらの値は、ユーザーがリンクをクリックしたときにユーザーのセッションからピックアップされます。省略されてない場合、ユーザーのセッション値は、リンクをクリックしたあとにそれらを反映するよう変更されます。
<compList> 要素には次の 3 つの属性があります。
typeName – コンポーネント型の必須の名前。コンポーネント型は、当該プラグイン、または当該プラグインが直接依存するプラグインに含まれている必要があります。コンポーネント型を hidden として定義することはできません。pluginName は、fullPluginName#componentTypeName のように、コンポーネント型名の接頭辞である必要があります。
path (オプション) – フルパスで、これにより「components list」ページをフィルタリングします。パスは、スラッシュ (/) で始まる必要がありますが、スラッシュ (/) で終わってはいけません。パスが表すフォルダは、当該プラグインにより所有されるか、当該プラグインが直接依存するプラグインにより所有されるフォルダである必要があります。また、フォルダは当該プラグインに所有されるフォルダ、または当該プラグインが直接依存するプラグインにより所有されるフォルダを含むことができます。
flatView (オプション) – リストページでフラットビューフィルタを有効にする必要があるかどうかに関する文。
<compWhereInstalled> 要素は <action> 要素の子で、名前付きコンポーネントの最新バージョンに関する「Component Where Installed」ページへのリンクを定義します。
<compWhereInstalled> 要素には次の 2 つの必須属性があります。
path – コンポーネントの絶対パス。
name – コンポーネントの名前。コンポーネントは、当該プラグイン、または当該プラグインが直接依存するプラグインに含まれている必要があります。
<hostList> 要素は <action> 要素の子で、名前が指定されたホスト型によりフィルタリングされる「host list」ページへのリンクを定義します。
<hostList> 要素には次の 1 つの必須属性があります。
typeName – ホスト型の名前。ホスト型は、当該プラグイン、または当該プラグインが直接依存するプラグインに含まれている必要があります。ホスト型を hidden として定義することはできません。pluginName は、 fullPluginName#hostTypeName のように、ホスト型名の接頭辞である必要があります。
<planDetails> 要素は <action> 要素の子で、名前付きプランの最新バージョンに関する「plan details」ページへのリンクを定義します。
<planDetails> 要素には次の 2 つの必須属性があります。
path – プランの絶対パス。
name – プランの名前。プランは、当該プラグイン、または当該プラグインが直接依存するプラグインに含まれている必要があります。
<compProcedureRun> 要素は <action> 要素の子で、コンポーネントプロシージャを直接実行できるようにします。
<compProcedureRun> 要素には次の 4 つの必須属性があります。
name – 実行するプロシージャが含まれるコンポーネントの名前。コンポーネントは、当該プラグイン、または当該プラグインが直接依存するプラグインに含まれている必要があります。
path – コンポーネントへの絶対パス。
procedureName – コンポーネントプロシージャの名前。
procedureType – コンポーネントプロシージャの型。有効な値には、INSTALL、UNINSTALL または CONTROL が含まれます。
<external> 要素は <action> 要素の子で、N1 SPS製品の外部にある任意の URL へのリンクを定義します。たとえば、この要素を使用すると、特定のプラグインまたは機能に関する詳細情報が含まれる企業の Web ページへのリンクを指定できます。
<external> 要素には 1 つの属性 url があり、正しい形式の URL が指定できます。URL は、RFC3986 Uniform Resource Identifier (URI): Generic Syntax で指定されている、Uniform Resource Identifier (URI) のインターネット標準に準拠する必要があります。
プラグインユーザーインタフェース記述子の XML の形式が正しくなるよう、url 属性にはエスケープされた特殊文字を含むことができます。指定文字には、次のエスケープシーケンスを使用します。
文字 |
エスケープシーケンス |
---|---|
> |
> |
< |
< |
" |
" |
& |
& |
次のサンプル XML は、さまざまなカスタムページから断片を取得し、<pluginUI> スキーマ内で各要素を示します。
<?xml version="1.0" encoding="UTF-8"?> <pluginUI menuItem="pluginName" toolTip="view wl server pages" xmlns="http://www.sun.com/schema/SPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sun.com/schema/SPS pluginUI.xsd" schemaVersion="5.1"> <icon jarPath="custom/gui/img/WLicon-small.gif"/> <customPage name="WebLogic"> <section title="WebLogic application tasks" description="capture and edit your WebLogic applications..."> <entry title="enterprise applications (EARs)" description="capture, edit and deploy your enterprise applications"> <action text="view all" toolTip="view all EARs"> <compList typeName="com.bigCo.logic.pluginName#WebLogic enterprise application" path="/com/bigCo/logic" flatView="true"/> </action> <action text="create new" toolTip="create new enterprise application"> <compCreate typeName="com.bigCo.logic.pluginName#WebLogic enterprise application"/> </action> </entry> <entry title="web applications (WARs)" description="capture, edit and deploy web applications"> <action text="view all" toolTip="view all WARs"> <compList typeName="com.bigCo.logic.pluginName#WebLogic web application"/> </action> <action text="create new" toolTip="create new webapp"> <compCreate typeName="com.bigCo.logic.pluginName#WebLogic web application"/> </action> </entry> <entry title="java archives containing EJBs (JARs)" description="capture, edit and deploy your JARS containing EJBs"> <action text="view all" toolTip="view all JARs"> <compList typeName="com.bigCo.logic.pluginName#WebLogic EJB"/> </action> <action text="create new" toolTip="create new java archive containing EJBs"> <compCreate typeName="com.bigCo.logic.pluginName#WebLogic EJB"/> </action> </entry> <section> <entry title="entry in a nested section" description="this is a an entry in a nested section"> <action text="view all" toolTip="view all aType comps"> <compList typeName="com.bigCo.logic.pluginName#aType" path="/com/bigCo/logic" /> </action> </entry> </section> </section> <section title="WebLogic infrastructure" description="create and edit your WebLogic infrastructure..."> <entry title="admin servers" description="WebLogic domains / administration servers"> <action text="manage admin servers" toolTip="manage WebLogic admin servers"> <compDetails path="/com/bea/weblogic" name="WL Admin Server 7.0"/> </action> <action text="view admin servers" toolTip="list of WebLogic admin servers"> <compWhereInstalled path="/com/bea/weblogic" name="WL Admin Server 7.0"/> </action> </entry> <entry title="clusters" description="WebLogic clusters"> <action text="manage clusters" toolTip="manage WebLogic clusters"> <compDetails path="/com/bea/weblogic" name="WL Cluster"/> </action> <action text="view clusters" toolTip="list of WebLogic clusters"> <compWhereInstalled path="/com/bea/weblogic" name="WL Cluster"/> </action> </entry> <entry title="managed servers" description="WebLogic server instances"> <action text="manage server instances" toolTip="WebLogic managed servers"> <compDetails path="/com/bea/weblogic" name="WL Managed Server"/> </action> <action text="view managed servers" toolTip="list of WebLogic managed servers"> <compWhereInstalled path="/com/bea/weblogic" name="WL Managed Server"/> </action> <action text="update managed servers" toolTip="run a plan on managed servers"> <planDetails path="/com/bea/weblogic/updates" name="updatePlan"/> </action> <action text="list servers" toolTip="list the apache servers"> <hostList searchName="com.bigCo.logic.pluginName.WebLogic#apacheHosts"/> </action> <action text="custom reports" toolTip="view the custom reports"> <external url="http://reportserver/reports/dec"/> </action> <action text="start a Managed Server" toolTip="run the start control of a ManagedServer component"> <compProcedureRun path="/com/sun/weblogic" name="WL Managed Server" procedureName="start" procedureType="CONTROL"/> </action> </entry> </section> </customPage> </pluginUI>