プラグイン・フレームワーク (JA)-工事中
1.はじめに
リリース7までのRobotプラグインのコンセプトは非常にシンプルでした。プラグインはコンパイルされたJavaコードの断片であり、通常は1つのJARファイルの形をしていました。プラグインには少なくとも1つのJavaクラスが含まれており、Robotプラグインのインターフェイスを拡張して新しい機能やスクリプトの拡張を提供します。これ以降、プラグインをフィーチャープラグイン.作成方法についての文書がある。これ.
フィーチャー・プラグインは手動でインストールしなければならなかった。ユーザーはJARをダウンロードしてプラグインフォルダに追加されました。このフォルダは起動時にスキャンされ、そこで発見されたすべてのプラグインが有効化されます。プラグインはプラグインウィンドウに表示されます。
このアプローチは非常に公平だが、いくつかの制限がある。インストーラーもアンインストーラーもありません。依存関係、プラットフォーム要件、Robotの最小バージョンを誰もチェックしない。プラグインのバージョン管理もありません。ユーザーはプラグインを管理し、アップデートに注意しなければなりません。最後になりましたが、この仕組みはコンパイルされたJavaコードを対象としています。
紹介クロムそしてジェイディーケーのプラグインはロボットのリリース7でレベルアップしました。プラグインのダウンロード、インストール、アンインストールはアップデート&アップグレードウィンドウに表示されます。バージョン、依存性、プラットフォーム要件が管理され、プラグインは機能プラグインを含むあらゆるものを含むことができる。混乱を避けるために、この新しい形式をインストール可能プラグイン.

機能プラグインと同様に、インストール可能なプラグインフレームワークは汎用的で公開されています。次の章では、このフレームワークを利用してロボットの拡張機能を作成し、組織内やサードパーティの顧客に透過的に配布する方法について説明します。
2.プラグインの例
プラグイン・フレームワークの原則を示すために、簡単なプラグインを作成します。の付録で説明されている2つのプラグインの例を使ってみましょう。フィーチャー・プラグイン・フレームワークの第 6 章で説明されている Java テストスクリプトの例も参照してください。(ja) Javaスクリプトドキュメントクラスは3つある:
について
com.tplan.robot.scripting.commands.impl.ConsoleMessageCommandという新しいTPRスクリプト言語コマンドを提供する。「Msgについて
プラグインサンプル.GuiPluginExampleという新しいメニュー項目とツールバーボタンをインストールします。「こんにちはをロボットのツールメニューとツールバーに追加します。について
スクリプト.ベリファイクラスはJavaテストスクリプトで、テストスクリプトからファイルの存在を確認することができます。
私たちはこのコードを事前にコンパイルし、3つのクラスをJARファイルとして公開しています。ダウンロードしてください。これ.
機能を確認するには、ダウンロードしたアーカイブからJARファイルをプラグインディレクトリにあることを確認してください。その後、Robotを起動または再起動してください:
そこには"こんにちはボタンをクリックします。に対応するメニュー項目もあります。"道具"メニューから選択できます。選択するとシンプルなメッセージウィンドウが開く。
を使用することができる。「Msgコマンドを使うと、コンソールにメッセージが出力される。メッセージを見るにはヘルプ→ログビューアウィンドウに表示されます。
についてスクリプト.ベリファイスクリプトは走るスクリプト・クラス・セレクタ ("..."ボタンを右にクリック)。

JARファイルをビルドすることで、我々は効果的にフィーチャープラグインの3つの機能を持つ。これからインストール可能プラグイン同じ機能を持つ。
3.プラグインの構造
インストール可能なプラグインアーカイブは、Robotのインストールディレクトリに解凍するための単純なZIPです。Linux/Unix や Mac OS X 上のプラグインはファイルのパーミッションを保持する必要があるかもしれません。
アーカイブには実際のプラグインファイルが含まれ、ディレクトリ構造やプラグイン記述子.これはプラグインを記述する必須のJSONファイルです。このファイルはプラグインディレクトリに配置し<pluginId>.jsonどこ<pluginId>は、プラグインを識別する一意のID(名前)です。
プラグインファイルから始めましょう。新しい空のディレクトリを作成し、そこに移動します。そしてプラグインにあるJARファイルをコピーする:

いよいよプラグイン記述子を作成する番だ。
3.1 プラグイン記述子
ディスクリプタを作成する前にユニーク識別子 (Id)を使用します。ファイル名に使用できる文字であれば、どのような文字でも使用できます。あなたの名前や会社のプレフィックスを付けるなど、ユニークな文字列を使用することをお勧めします。この例ではIdを使用します:
tplanプラグインのサンプル
Idは重要な役割を果たす。記述子ファイルにはこのIdで名前を付けなければなりません。Robotがプラグインがインストールされているかどうかを確認する必要がある場合はplugins/tplan-plugin-examples.json記述子ファイルに記述します。このIdは、Robotがプラグインの新しいバージョンが利用可能かどうかをチェックする際にも使われます。
1つのプラグインで複数のOSバージョンを作成する場合は、異なるIDを使用してください。もし私たちのプラグインがMS WindowsとMac OSで別々のバージョンを必要とするなら、次のように選択します。tplan-plugin-examples-ウィンそしてtplan-plugin-examples-マック.
Robot 7+では、プラグイン記述子を生成するコマンドラインがサポートされています。第一引数にプラグインファイルのあるフォルダ、第二引数に対象のJSONファイルを指定します。Robotのインストールフォルダに移動して実行します:
|
|---|
JSONファイルは次のようになる:
|
|---|
プラグインの機能に合わせて、属性値の一部を更新する必要があります。必ずUTF-8対応のテキストエディタを使用してください。
属性 | 許容値 | 説明 |
|---|---|---|
| 文字列。使用できる文字はファイル名と同じです。 | IDは一意でなければならず、JSONファイル名から |
| 数字とピリオドからなる文字列(例:1.0または5.3.2 | プラグインのバージョン。 |
| 英語を必須とする文字列のマップ ( | デフォルトの英語のプラグイン名(プレーンテキスト)と、他の言語用のバリエーション。 |
| 英語を必須とする文字列のマップ ( | デフォルトの英語のプラグインの説明文と、他の言語の説明文。プレーンテキストあるいは HTML の |
| 各キーが2文字の文字列のマップ。 | プラグインのインストール前にポップアップウィンドウに表示されるメッセージ。プレーンテキストでもHTMLでもかまいません。 |
| 各キーが2文字の文字列のマップ。 | プラグインインストール後にポップアップウィンドウに表示されるメッセージ。プレーンテキストでもHTMLでもかまいません。 |
| 各キーが2文字の文字列のマップ。 | プラグインをアップデートする前にポップアップウィンドウに表示されるメッセージ。通常、次のような説明に使われます。 |
| 各キーが2文字の文字列のマップ。 | プラグインを削除する前にポップアップウィンドウに表示されるメッセージ。これは通常、以下のことを説明するために使われます。 |
| ストリング | ベンダー/プラグイン製作者名。 |
| 文字列(HTTPリンク) | ベンダー/プラグイン製作者のホームページ。 |
| 数字とピリオドからなる文字列(例:7.0または8.1 | プラグインのインストールに必要なRobotの最小バージョンです。7.0以上でなければなりません。 |
| 文字列(HTTPリンク) | ベンダー/プラグイン製作者のサポート・コンタクト・ページ。 |
| yyyy-MM-dd形式の日付 | プラグインのリリース日。 |
| ファイルパス | 内部使用 - 空のままにする。 |
| 文字列 (Java クラス名) | インストールフックです。ロボットの起動時に初期化が必要なプラグインは、このフックに |
| ブール ( | プラグインインストール後にRobotを再起動するかどうかを示します。 |
| ブール ( | プラグインがMS Windows、Mac OS X、Linux/Unixのいずれをサポートしているかを指定します。 |
| 文字列の配列。サポートされる値: | 対応アーキテクチャ(オプション)。指定された場合、サポートされているOSとともに使用されます。 |
| ストリング | オプションのキーワード、またはプラグインを特徴付けるキーワードのカンマ区切りリスト。値は |
| ストリング | プラグイングループ名(オプション)。更新とアップグレード]に表示されるフォルダ(ブランチ)の名前となります。 |
| ブール ( | プラグインの更新と削除の可否を示します。例えばJavaのような一部のプラグインは、更新や削除ができない場合があります。 |
| ストリング | 内部使用 - 空のままにする。 |
| 文字列(HTTPリンク) | オンラインプラグインヘルプページ/ドキュメントへのリンク(オプション)ロボットは新しいヘルプメニューアイテムポインティング |
| 弦楽器の地図 | ロボットが生成したプラグインファイルとそのチェックサムのマップ。変更しないでください. |
プラグイン記述子には、ファイルのリストとその小切手合計.記述子自身以外のプラグイン内のファイルを変更した場合、記述子を再作成するか、あるいはファイル属性のリストを更新した。
について最小限の変更このプラグインの例では
"バージョン":"1.0"- プラグインのバージョンは仕様を満たしていなければならない。「restartRequired": true- 私たちのプラグインはプラグイン-examples.jarファイルを作成し、ロボットを再起動する必要があります。"アーキテクチャ":[]- 現在のアーキテクチャを削除して、プラグインがすべてのアーキテクチャで動作することを示す。
また、インストール前に表示される名前、説明、グループ、メッセージのような、プラグインの外観を改善するために、いくつかのオプションフィールドを更新します。これらは後でサンプルアーカイブで見ることができます。
3.2 プラグイン・アーカイブ
プラグインアーカイブを作成するには、プラグインディレクトリを1つのZIPファイルに圧縮するだけです。Linux/UnixやMac OSでファイルのパーミッションを保持する必要がある場合は、任意の名前のTARファイルを1つ作成し、それをZIPに圧縮します。プラグインの例は次のようになります:

ファイルをダウンロードするこれ.機能を確認するには、ファイルからインストールしてください:
を開く。ツール→アップデート&アップグレードウィンドウ
を選択する。ファイル/URL更新ボタン
フィールドにファイルパスを入力しOK.

インストールが完了し、Robotを再起動すると、プラグインで提供されている3つの機能が表示されていることを確認できます。
4.リリース記述子
すでにご覧になったように、プラグインアーカイブとロボットリリースは、以下の方法で配布されています。アップデート&アップグレードウィンドウに表示される。表示されるデータは'リリース記述子'.これは、既知のアドレスのHTTPサーバーに置かれるXMLファイルである。例えば、デフォルトのT-Plan記述子は、次の場所にある:
https://downloads.t-plan.com/releases/robot/descriptor.xml
ファイルは暗号化されているため、閲覧できない。
リリース記述子は通常、次のようなツールで作成されます。リリース記述子エディター.これについては後で書く。しかし、単純なラベルや説明の更新など、場合によっては手動編集の方が効率的です。そのため、基本的な記述子のフォーマットに慣れておくと良いでしょう。
空のリリース記述子は非常にシンプルだ:
|
|---|
についてリリースノードは2つの子ノード・タイプを含むことができる:
リリースはリリースを指定する。ディスクリプタは別の記述子の内容をロードする。例えば<ディスクリプタhttps://downloads.t-plan.com/releases/robot/descriptor.xml</descriptor>。は、すべてのT-Planリリースをあなたの記述子に追加します。
この例のプラグインのリリース記述子を作成するには、まず空の記述子XMLをUTF-8対応のエディタに貼り付けます。リリースノードを作成するには、同じRobotを呼び出します。コマンドラインインターフェイスプラグイン・ディスクリプターの作成に使用したが、今回はプラグイン・ファイルのパスを唯一の引数として指定する:
|
|---|
をコピーするだけです。リリースノードをリリース.最初の記述子はこのようになる:
|
|---|
記述子はいくつでもリリースノードを含むことができるので、別のプラグインや、異なるバージョンの同じプラグインでも、これらの手順を繰り返すことができます。ここでの唯一の制限は、1つの記述子内の2つのノードがは同じlabel属性を持たないかもしれない。というのもアップデート&アップグレードウィンドウは製品ツリーにラベルを表示するため、同じ名前のエントリが複数あると曖昧になります。このため、プラグイン名にバージョンを追加することをお勧めします。"T-Planインストール可能プラグイン例v1.0".
記述子をテストするにはファイル/URLアップグレードの特徴である。アップデート&アップグレードウィンドウに、記述子XMLファイルのパスを入力する。ロードされると、ウィンドウは以下のようになるはずです:

確認することをお勧めする:
ボタンが期待通りに有効になっていることを確認してください。例えばダウンロード&インストールボタン
選択ダウンロード&インストールをクリックしてプラグインをインストールしてください。これにより、ファイルサイズ、チェックサム、パス(URL)属性が正しいことが確認されます。
以下はその完全な仕様である。ノードの属性を解放するそして、それがどのような影響を及ぼすのか。アップデート&アップグレードウィンドウの動作:
属性 | 許容値 | 説明 |
|---|---|---|
|
| の値である。 |
|
| A |
| ストリング | プラグイン固有の識別子。には存在しません。 |
| ストリング | プラグイングループの識別子で、よく知られているグループの名前かコードです。パッケージを表示する場所を定義します。 |
|
| OSのサポート。属性を削除するか、空の文字列を使用する |
|
マイクロソフト・ウィンドウズ | OSのサポート。属性を削除するか、空の文字列を使用する |
| ストリング | デフォルトの英語表示パッケージ名。他の言語を指定するには |
| 数字とピリオドからなる文字列(例:1.0または5.3.2 | パッケージのバージョン。 |
| 文字列 (HTTP リンクまたは相対ファイルパス) | プラグインファイルのダウンロードリンク。以下のようなHTTPリンクでもかまいません。 |
| ストリング | プラグインのファイルサイズとチェックサム(ハッシュ)。これらは、ダウンロードされたファイルが壊れていないか、改ざんされていないかを確認するために使用されます。 |
| ストリング | 農産物/業者の名前。 |
リリース・ノードはこれらの子ノードをサポートする:
子ノード名 | 説明 |
|---|---|
| デフォルトの英語のプラグインの説明。このテキストはノードのテキストコンテンツとして配置されなければなりません。 |
| で指定された言語用のプラグインの説明。ISO-639-1言語コード.例えば、スペイン語の説明は次のようになる。 |
| で指定された言語のプラグイン表示名(ラベル)。ISO-639-1言語コード.上記と同じルールが適用される |
5.リリース記述子エディター
についてリリース記述子エディター(RDE)は、T-Planによって作られたGUIツールです。リリース記述子やプラグインアーカイブを作成・編集することができます。
RDEはJavaで実装され、Robotプラグインとして配布されています。RDEはRobotプラグインフレームワークの上で動作します。大きな利点は、製品ツリーをアップデート&アップグレードウィンドウも同じAPIを使っているからだ。
RDEを取得するには、以下のプラグインを探します。アップデート&アップグレード.万が一、表示されない場合はTプラン・サポートダウンロードリンクからインストールする。URL/ファイルのアップグレードボタンをクリックする。
インストールが完了したら、以下の手順でRDEを起動する:
ロボットのホームフォルダに移動する
実行する
リリースバット(またはrelease.sh(Mac OS、Linux/Unix)。以下の場合release.shに実行ファイルのパーミッションを与える必要があるかもしれません。chmod a+x release.sh).
重要:RDE は起動時に常に最新の T-Plan リリース記述子をダウンロードします。これは、最新の XML 構造で動作するようにするためです。インターネットにアクセスできない場合は、起動に失敗します。

ウィンドウの左側には、現在の記述子の内容が表示されます。右側は編集とコード表示用です。
へ新しいディスクリプタを作成するをクリックする。新しいボタンをクリックしてください。RDEは実際には、現在のドキュメントからすべてのパッケージを削除し、最近のXML構造をそのまま残すだけです。
へ既存の記述子ファイルをロードする選ぶオープン.
RDEはRobotプラグインCLIとは異なり、zip圧縮されたプラグインアーカイブ(Linux/Unixではオプションでtar/zip圧縮)を扱います。アーカイブにはプラグインディスクリプタとプラグインフォルダを作成します。これにより、先に説明したプラグインのJSONディスクリプタを手動で作成する手間を省くことができます。あとはRobotのインストールフォルダに置きたいファイルをzip圧縮するだけです。
へZIPを新しいプラグインとして追加するクリック追加をクリックし、ZIPファイルを選択します。RDEはプラグインディスクリプターと共にJSONエディターを表示し、プラグインの属性を変更することができます。後でいつでも編集できるようになります。

プラグインを追加したら、そのリリースノードの属性はウィンドウの右側に表示されます。

ちょっとしたヒントがある:
プロパティを編集するときは注意してください。変更は即座に適用されます。後で「変更をキャンセルする」オプションはありません。記述子全体を破棄するか、プラグインを再追加して値をリセットするしかありません!
リリース記述子は、プラグインZIP内のJSON記述子に存在するプロパティのいくつかを複製します。これらは主にプラグインID,ビルド・タイプ,ビルドバージョンそして建築.これらの値の編集は可能ですが、プラグイン自体との同期を保つために変更を避けてください。エディタはアップデート&アップグレードつまり、ラベルだけを更新する(ビルド名)、グループ、説明、ダウンロードURL。
説明エディターには生のHTMLを入力することができます。例えば、"
<html><body><h1>こんにちは!</h1></body></html>"を入力し、左のビューでその効果を見る。英語以外の説明を追加するにはデフォルトタブを選択しローカライズされた説明を追加するコンテキストメニューの項目。
JSONプラグイン記述子を編集するにはプラグイン記述子の編集ボタンをクリックしてください。RDEがプラグインファイルの再選択を求める場合は、正しいファイルを指定してください。
RDE v1.4は、他の記述子へのリンクをサポートしていません(
記述子XMLノード)。テキストエディタで手動で追加する必要があります。RDEはそれらに触れません。
ディスクリプタの内容に満足したら、以下を選択する。セーブをクリックしてファイルに保存します。オプションでファイル/URLアップグレードでのアップデート&アップグレードウィンドウを開き、期待通りに動作することを確認する。
6.プラグイン配布
へ分配プラグイン
パッケージ(プラグインZIPアーカイブ)とXMLリリース記述子を公開ウェブサーバー.
記述子のURLを把握する。
https://myserver.mydomain/downloads/descriptor.xmlこのURLをユーザーに提供し、以下を使用してロードするように求めます。ファイル/URLアップグレードの特徴である。アップデート&アップグレードウィンドウに表示されます。
ロボット7.0では、商品ツリーにディスクリプタを恒久的に追加することはできません。ユーザーは常にファイル/URLアップグレード.しかし、ウィンドウは最後の値を記憶します。また、自動更新機能や、新しいプラグインのバージョンを知らせるポップアップもありません。将来のRobotリリースではこのような機能を提供する予定です。