4.3.1 入出力プラグインのカスタマイズ
ここでは,入出力プラグインのカスタマイズ手順について説明します。
入出力プラグインとして作成したひな形プラグインをカスタマイズする手順を次に示します。
-
[Plugins]パレットおよびプラグインパーツのアイコンの作成
-
入出力プラグイン用XMLファイルの編集
-
パラメタ説明用ツールチップの設定
-
プラグイン実行順序の指定
-
確認ダイアログの表示有無の指定
-
プレビュー画面での実行有無の指定
-
実行を抑止するボタン種別の指定
-
プラグインが実行する処理の実装
以降では,それぞれの手順について説明します。
- 〈この項の構成〉
(1) [Plugins]パレットおよびプラグインパーツのアイコンの作成
必要に応じて,業務編集画面に表示される[Plugins]パレットおよびプラグインパーツのアイコンを変更します。[Plugins]パレットおよびプラグインパーツのアイコンの位置を次の図に示します。
|
ひな形プラグイン作成コマンドを実行すると,ナビゲーション プラットフォームがデフォルトで提供しているアイコンが[Plugins]パレットおよびプラグインパーツに表示されます。
複数のプラグインを開発する場合,プラグインごとに異なるアイコンを作成すると,表示されるアイコンによってプラグインを区別できるようになります。作成したアイコンは次に示すディレクトリに格納してください。
Navigation Platform for Developersインストールディレクトリ\pluginSDK\plugin\プラグインID\images
項番 |
項目 |
説明 |
---|---|---|
1 |
ファイル名 |
「(2) 入出力プラグイン用XMLファイルの編集」を参照して,ファイル名を指定してください。 なお,ナビゲーション プラットフォームがデフォルトで提供しているアイコンのファイル名はsample_icon.gifです。 |
2 |
ファイル形式 |
Webブラウザで表示できる形式であればどのような形式でもかまいません。 なお,ナビゲーション プラットフォームがデフォルトで提供しているアイコンのファイル形式はGIF形式です。 |
3 |
サイズ |
24×24ピクセルで作成してください。 |
- 注意事項
-
アイコンをOSのインストールドライブ:\Program Filesディレクトリ以下などに作成する(ファイルを新規作成またはコピーする)ときに,Windowsの管理者権限がないユーザが作成すると,ファイルがユーザフォルダにリダイレクトされてしまうことがあります。そのため,Windowsの管理者権限があるユーザで追加してください。
(2) 入出力プラグイン用XMLファイルの編集
入出力プラグイン用XMLファイル(ioaction.xml)は,ひな形プラグインの作成時に生成されます。入出力プラグイン用XMLファイルを編集して,次の内容を変更してください。
-
入出力プラグインの実行順序
-
入出力パラメタ定義
-
業務編集画面に表示される[Plugins]パレット,プラグインパーツ,およびツールチップの表示内容
入出力プラグイン用XMLファイルと業務編集画面の表示内容との対応を次の図に示します。
|
- ヒント
-
いったん業務コンテンツに関連づけたプラグインの入出力プラグイン用XMLファイル(ioaction.xml)を変更すると,業務コンテンツをエクスポートしてプラグインを入れ替えるなどの作業が必要になります。入出力プラグインを設計するときは,あとで入出力プラグイン用XMLファイルを修正しなくて済むように,各項目の設定内容が業務コンテンツの運用に合ったものになるようにしてください。
入出力プラグイン用XMLファイルの編集方法を説明します。入出力プラグイン用XMLファイル(ioaction.xml)の格納ディレクトリは,次のとおりです。
Navigation Platform for Developersインストールディレクトリ\pluginSDK\plugin\プラグインID\WEB-INF\conf
なお,入出力プラグイン用XMLファイルを編集する場合,エディタを[管理者として実行]で起動して,ファイルを編集してください。
入出力プラグイン用XMLファイル(ioaction.xml)の編集例を次に示します。太字の部分を編集します。
<?xml version="1.0" encoding="UTF-8"?> <ioaction xmlns="http://model.xml.ioaction.navi.plugin.ucnp.soft.hitachi.co.jp" id="sample.OutputGuideData" name="OutputGuideData" version="2.0"> <iopart id="io_part_1"> <iotype name="sample.OutputGuideData" /> <iconURL url="/ucnpPlugins/OutputGuideData/images/ogdIcon.gif"/> <priority value="700" /> <execConfirm value="false" /> <execPreview value="true" /> <disableButtonType legacy="false" value="show_next_page" /> <parameters type="title"> <param name="OutputGuideData" description="description of OutputGuideData"/> </parameters> <parameters type="input"> <param name="inputItemName1" description="description of inputItemName1"/> <param name="inputItemName2" description="description of inputItemName2"/> <param name="inputItemName3" description="description of inputItemName3"/> </parameters> <parameters type="output"> <param name="outputItemName1" description="description of outputItemName1"/> <param name="outputItemName2" description="description of outputItemName2"/> <param name="outputItemName3" description="description of outputItemName3"/> </parameters> </iopart> </ioaction>
入出力プラグイン用XMLファイル(ioaction.xml)の編集方法を次の表に示します。次の表に示した個所だけを修正してください。
項番 |
編集する個所 |
説明 |
属性値に指定できる文字列と意味 |
属性値に指定できる文字列長 |
---|---|---|---|---|
1 |
<iconURL>タグのurl属性(ファイル名部分) |
業務編集画面に表示される[Plugins]パレットおよびプラグインパーツのアイコンのファイル名を指定します。 「(1) [Plugins]パレットおよびプラグインパーツのアイコンの作成」で作成したアイコンのファイル名をデフォルトから変更する場合だけ,url属性のファイル名部分を変更します。 |
|
最大1,024バイト(「/ucnpPlugins/プラグイン名/images/」部分を含む) |
2 |
<priority>タグのvalue属性 |
入出力プラグインの実行順序を指定します。 デフォルト値は700です。700はシステムプラグインとユーザプラグインの実行順序の中間の値です。 priority要素を省略した場合,デフォルト値が仮定されます。 |
次に示す半角英数字の値
|
− |
3 |
<execConfirm>タグのvalue属性 |
必要に応じて,入出力プラグインの実行時に確認ダイアログを表示するかどうかを指定します。処理に時間が掛かることをユーザに通知したい場合などに指定してください。 execConfirm要素を省略した場合,falseが仮定されます。 |
|
− |
4 |
<execPreview>タグのvalue属性 |
必要に応じて,プレビュー画面で入出力プラグインを実行するかどうかを指定します。※1 execPreview要素を省略した場合,trueが仮定されます。 |
|
− |
5 |
<disableButtonType>タグのlegacy属性 |
入出力プラグインの実行抑止について,互換性を持たせるかどうかを指定します。trueを指定した場合,ナビゲーション プラットフォームのバージョン10-10より前と同じように抑止します。 disableButtonType要素を省略した場合,trueが仮定されます。 |
|
− |
6 |
<disableButtonType>タグのvalue属性 |
必要に応じて,ボタンの種別によって入出力プラグインの実行を抑止するかどうかを指定します。※2 legacy属性をfalseにすると,ボタンクリックで遷移する場合と,直接ノードを選択して遷移する場合とを区別して実行抑止できます。 複数指定する場合,半角コンマ区切りで指定します。 disableButtonType要素を省略した場合,空文字が仮定されます。 |
|
− |
7 |
<param>タグのdescription属性 |
必要に応じて,入出力プラグインの説明文(ツールチップ)を指定します。 |
任意の文字列※3 |
0〜64文字 |
8 |
<parameters type="input">の下位の<param>タグのname属性 |
入力パラメタ名を指定します。 <parameters type="input">タグ内でユニークな値を指定してください。 <param>タグは0〜100個指定できます。入力パラメタの数だけ指定してください。 |
|
1〜64バイト※4 |
9 |
<parameters type="input">の下位の<param>タグのdescription属性 |
必要に応じて,入力パラメタの説明文(ツールチップ)を指定します。 |
任意の文字列※3 |
0〜64文字 |
10 |
<parameters type="output">の下位の<param>タグのname属性 |
出力パラメタ名を指定します。 <parameters type="output">タグ内でユニークな値を指定してください。 <param>タグは0〜100個指定できます。出力パラメタの数だけ指定してください。 |
|
1〜64バイト※4 |
11 |
<parameters type="output">の下位の<param>タグのdescription属性 |
必要に応じて,出力パラメタの説明文(ツールチップ)を指定します。 |
任意の文字列※3 |
0〜64文字 |
- (凡例)
-
−:該当しない。
- 注※1
-
プレビュー画面で入出力プラグインを実行するかどうかは,サーバ処理実装インタフェース(IIoPluginController)のinputFromNodeメソッド,およびoutputToNodeメソッドのucnp.screen.ispreviewキーの値を使って実装することもできます。ただし,ucnp.screen.ispreviewキーによる設定は,サーバ処理実装インタフェース(IIoPluginController)で特殊な処理を設定する場合に利用します。そのため,処理をスキップするだけの場合は入出力プラグイン用XMLファイル(ioaction.xml)で指定してください。サーバ処理実装インタフェース(IIoPluginController)の詳細は,「5.2 IIoPluginController(サーバ処理実装インタフェース)」を参照してください。
- 注※2
-
ボタンの種別によって入出力プラグインの実行を抑止するかどうかは,サーバ処理実装インタフェース(IIoPluginController)のinputFromNodeメソッド,およびoutputToNodeメソッドのucnp.button.typeキーの値を使って実装することもできます。ただし,ucnp.button.typキーによる設定は,サーバ処理実装インタフェース(IIoPluginController)で特殊な処理を設定する場合に利用します。そのため,処理をスキップするだけの場合は入出力プラグイン用XMLファイル(ioaction.xml)で指定してください。サーバ処理実装インタフェース(IIoPluginController)の詳細は,「5.2 IIoPluginController(サーバ処理実装インタフェース)」を参照してください。
- 注※3
-
descriptionに指定した文字列が,そのままツールチップを表示させるときのHTML属性として使用されます。このためツールチップに表示する文字列を改行させたい場合は「
」を指定してください。「
」以外の制御文字を指定した場合の表示は保証されません。
- 注※4
-
長い文字列を指定した場合,プラグインパーツ上では後ろの方の文字が切れて表示されることがあります。入出力アクションコントローラクラス上では,ここで指定した文字列がそのまま使用されます。
- 参考
-
<parameters type="input">および<parameters type="output">の下位の<param>タグのname属性に指定した値は,サーバ処理実装インタフェース(IIoPluginController)のinputFromNodeメソッド,およびoutputToNodeメソッドのparamパラメタと戻り値に使用されます。
name属性に指定した値が使用される個所を次に示します。
- paramパラメタ
-
-
inputFromNodeメソッドの,名前ucnp.current.params.mapに対応する値のMapオブジェクトの名前
-
outputToNodeメソッドの,名前ucnp.next.params.mapに対応する値のMapオブジェクトの名前
-
- 戻り値
-
-
inputFromNodeメソッドの,名前ucnp.current.params.mapに対応する値のMapオブジェクトの名前
-
outputToNodeメソッドの,名前ucnp.next.params.mapに対応する値のMapオブジェクトの名前
-
name属性に指定した値とサーバ処理実装インタフェース(IIoPluginController)との対応を次の図に示します。
図4‒3 name属性に指定した値とサーバ処理実装インタフェース(IIoPluginController)との対応 サーバ処理実装インタフェース(IIoPluginController)の詳細は,「5.2 IIoPluginController(サーバ処理実装インタフェース)」を参照してください。
(3) パラメタ説明用ツールチップの設定
入出力プラグイン用XMLファイル(ioaction.xml)にツールチップの説明文を設定すると,業務編集画面でプラグインパーツをポイントしたときに説明が表示されます。設定できるツールチップを次に示します。
-
入出力プラグインの説明文
プラグインパーツのタイトルに表示されるツールチップです。
-
入力パラメタの説明文
プラグインパーツの入力パラメタに表示されるツールチップです。
-
出力パラメタの説明文
プラグインパーツの出力パラメタに表示されるツールチップです。
設定する方法および値の詳細は「(2) 入出力プラグイン用XMLファイルの編集」を参照してください。
(4) プラグイン実行順序の指定
入出力プラグイン用XMLファイル(ioaction.xml)でプラグインの実行順序を変更できます。実行順序に指定できる値を次に示します。
-
100〜500
-
600〜900
同じノードに複数の入出力プラグインを配置した場合,実行順序に指定した値の昇順で入出力プラグインが実行されます。また,複数の入出力プラグインに同じ実行順序が指定されている場合,実行順序は不定となります。
値の詳細は「(2) 入出力プラグイン用XMLファイルの編集」を参照してください。
(5) 確認ダイアログの表示有無の指定
入出力プラグイン用XMLファイル(ioaction.xml)で入出力プラグインの実行時に確認ダイアログを表示するかどうかを指定できます。指定できる値を次に示します。
-
true
-
false
ノードに配置しているプラグインに,「true」を指定しているプラグインが含まれている場合は,inputFromNodeメソッドの実行時に入出力プラグインの確認ダイアログが表示されます。なお,設定値が「true」のプラグインが複数配置されていても,確認ダイアログは1回だけ表示されます。確認ダイアログで[キャンセル]を選択した場合は,KDCZ00266-Qメッセージが出力され,ノードに設定しているすべてのプラグインの処理が実行されません。
値の詳細は「(2) 入出力プラグイン用XMLファイルの編集」を参照してください。
(6) プレビュー画面での実行有無の指定
プレビュー画面で入出力プラグインを実行するかどうかを,入出力プラグイン用XMLファイル(ioaction.xml)で指定できます。指定できる値を次に示します。
-
true
-
false
ノードに複数の入出力プラグインを配置している場合,「true」を指定している入出力プラグインだけが実行されます。
値の詳細は「(2) 入出力プラグイン用XMLファイルの編集」を参照してください。
(7) 実行を抑止するボタン種別の指定
入出力プラグインの実行を抑止するボタン種別を,入出力プラグイン用XMLファイル(ioaction.xml)で指定できます。指定できる値を次に示します。
項番 |
互換オプション (legacy属性の値) |
実行抑止するボタン種別の設定値 (value属性の値) |
入出力プラグインの実行を抑止する操作 |
---|---|---|---|
1 |
false |
start |
ターミナルノード(開始)からプロセスノードに遷移する。または,ターミナルノード(開始)に接続されていない先頭のプロセスノードを表示する。 |
2 |
show_next_page |
ボタンをクリックし,次のノードに遷移する。 ただし,遷移先のノードが存在しない,かつ[戻る]ボタンが非表示になっているプロセスノードに遷移する場合は,「show_complete_page」になるため,注意すること。 |
|
3 |
show_previous_page |
ボタンをクリックすることで前のノードに遷移する。 |
|
4 |
show_complete_page |
[完了]ボタンが表示されているノードに遷移する。または,遷移先ノードが存在しない,かつ[戻る]ボタンが非表示になっているプロセスノードに遷移する。 |
|
5 |
back_jump |
直接ノードを選択することで次のノードに遷移する。 |
|
6 |
forward_jump |
直接ノードを選択することで前のノードに遷移する。 |
|
7 |
true |
start |
ターミナルノード(開始)からプロセスノードに遷移する。または,ターミナルノード(開始)に接続されていない先頭のプロセスノードを表示する。 |
8 |
show_next_page |
ボタンをクリックまたは直接ノードを選択して遷移する。 ただし,遷移先のノードが存在しない,かつ[戻る]ボタンが非表示になっているプロセスノードに遷移する場合は,「show_complete_page」になるため,注意すること。 |
|
9 |
show_previous_page |
ボタンをクリックする,または直接ノードを選択することで前のノードに遷移する。 |
|
10 |
show_complete_page |
[完了]ボタンが表示されているノードに遷移する。または,遷移先ノードが存在しない,かつ[戻る]ボタンが非表示になっているプロセスノードに遷移する。 |
ノードに複数の入出力プラグインを配置している場合,実行を抑止する設定になっている入出力プラグインは実行されません。
値の詳細は「(2) 入出力プラグイン用XMLファイルの編集」を参照してください。
(8) プラグインが実行する処理の実装
入出力プラグインにサーバ処理を実装する場合は,プラグイン情報プロパティファイルのuserplugin.server.controller.ioactionキーに指定したクラス名のクラスに実装してください。実装する内容は,ノード遷移時の処理内容です。
プラグインの初期化終了処理が必要な場合は,「4.5 プラグイン初期化・終了時の処理の実装」を参照してください。