自己更新型 JMP アドインの作成方法「アドイン デポ」をセットアップすると、自己更新型 JMP アドインのコレクションを簡単に管理できるようになります。 この例では、デポは以下を含むフォルダーにすぎません。
- JMP アドイン ファイル「com.jmp.brady.addin1.jmaddin」。
- メタデータ ファイル「File Metadata.jmp」。
通常、アドイン デポは、アドイン ユーザーが読み取りアクセス権を持つサーバー フォルダーに存在します。メタデータ ファイルは、デポ内の各アドインに関する情報を保存する JMP テーブルです。 この例では、これを使用して、アドインが最後に発行されたのがいつかを確認します。
ユーザーがアドインを実行するときにそのアドインが最新の場合、アドインはファンファーレなしで実行されます。 ただし、ユーザーがアドインの古いバージョンを実行しようとすると、新しいバージョンをインストールするように求めるプロンプトが表示されます。
ユーザーが「キャンセル」をクリックすると、現在のアドインが実行されます。 「OK」をクリックすると、アップデートが自動的にインストールされ、古いバージョンが上書きされます。 この例では、ユーザーにインストールが通知され、アドインを再実行するように求められます。

自己更新 JMP アドイン: ステップバイステップの例。
- 「Hello Script.jsl」を開きます。
- 10 の行に引用符の間に 08/01/2012 の日付が含まれていることを確認します。
- 22 行目にテキストボックス引数として文字列「Hello world」が含まれていることを確認します。
- 注: 15 行目はアップデートを確認この関数はメイン スクリプトには含まれていませんが、「update_functions.jsl」に含まれています。 これが理由です。含む13行目のステートメント。 これはメイン スクリプトを簡素化するため便利ですが、アドインを構築するたびに追加ファイルとして「update_functions.jsl」を必ず含める必要があります。
- ファイルを保存して閉じます。

- 「ファイル Metadata.jmp」を開きます。
- 「File」列のファイル名は、上記のスクリプトの 11 行目で「Addin_Name」に割り当てられた文字列と同じである必要があることに注意してください。
- 公開日が 08/01/2012 であることを確認し、必要に応じて変更し、保存して閉じます。

- 「update_functions.jsl」を開きます。
- 4 行目で、depot_path 変数をデポに使用するフォルダーに設定します。
- 5 行目の meta_file 変数はメタデータ ファイルの名前と一致する必要があることに注意してください。
- このファイルを保存して閉じます。

- アドインをビルドします。
- JMP メニューから、「ファイル」>>「新規」>>「新規アドイン」を選択します。
- [一般情報] タブ:
- アドイン名を入力します。この例では「Hello World」です。
- アドイン ID を入力します。 ここに入力する内容は、メタデータ ファイルの File 列と、「Hello Script.jsl」の Addin_Name 文字列の両方に正確に一致する必要があります。

- 「メニュー項目」タブ:
- 「追加」ボタンをクリックします。
- 「全般」パネルの「メニュー項目名」テキストボックスに、アドインのドロップダウン メニューに表示する名前を入力します。
- [アクション] パネルで、[このファイルで JSL を実行する:] ラジオ ボタンを選択します。
- 「参照」をクリックし、「Hello Script.jsl」ファイルを追加します。

- 「追加ファイル」タブで:
- 「追加」をクリックします。
- 「update_functions.jsl」ファイルを参照して追加します。
- [保存] をクリックし、新しい .jmpaddin ファイルを便利な場所に保存します。

- デポをセットアップします。
- 作成した .jmaddin ファイルを、「File Metadata.jmp」ファイルとともに、アドイン デポ フォルダーとして指定したフォルダーに配置します (「update_functions.jsl」ファイルの 4 行目)。
- アドインをテストします。
- JMP メニュー バーから、[アドイン] >> [Hello World] (または、メニュー項目のテキストとして入力したもの) を選択すると、単純な「Hello World」ウィンドウが表示されます。
- 「OK」をクリックしてウィンドウを閉じます。
- アドインの更新バージョンを作成します。
- 「Hello Script.jsl」を開きます。
- 行 10 を変更して、引用符の間に日付が 10/01/2012 になるようにします。
- 22 行目を変更して、テキストボックス引数として文字列「Hellooooooooo world」を含めます。
- ファイルを保存して閉じます。
- ステップ 4a から 4d を前とまったく同じように実行します。ただし、次の重要な例外があります。
- アドインを構築するときに、[一般情報] タブで、 「保存後にインストール」ボックスがチェックされていないことを確認してください。
- 構築したばかりの .jmpaddin ファイルをデポに配置し、古い .jmpaddin ファイルを上書きします。
まだ完了していないことに注意してください。出版されたメタデータ ファイルの公開日をまだ変更していないため、アドインを削除します。 これを確認するには、JMP メニューから [アドイン] >> [Hello World] (またはメニュー項目のテキストとして入力したもの) を選択すると、前と同じように [Hello World] ウィンドウが表示されます。
- アドインを公開します。
- 「ファイルメタデータ.jmp」を開きます。 公開日を 2012 年 10 月 1 日に変更します。 ファイルを保存して閉じます。
- 自動更新をテストします。
- JMP メニューから、[アドイン] >> [Hello World] を選択します。 アドインは更新が利用可能であることを判断し、更新ウィンドウを表示します。
- 「キャンセル」をクリックして更新を拒否すると、以前と同様に「Hello World」ウィンドウが表示されます。
- [アドイン] >> [Hello World] を選択して、アドインを再度実行します。
- 今回は、更新ウィンドウが表示されたら、「OK」をクリックして更新を受け入れます。
- 「OK」をクリックして確認ウィンドウを閉じます。
- アドインを再度実行します。 新しいアドインが実行され、ウィンドウ テキストとして「Hellooooooooo World」が表示されます。
Re: 自己更新型 JMP アドインの作成方法@ivan_j_moore私も同じ問題 (国際企業) を抱えていたため、日付の代わりにアドインのバージョン番号を使用するように切り替えました。 だから基本的に:
// Get the installed JMP AddIn version
installedAddIn = Get Addin( "com.jmp.brady.addin1.jmpaddin" );
installedAddInVer = installedAddIn << version;
addinLocation = "http://gitlab.contoso.com/addin/updateLocation/addin1.jmpaddin";
depot_path = "http://gitlab.contoso.com/addin/updateLocation/";
meta_file = "File Metadata.csv";
Try(
dtm = Open( depot_path || meta_file, invisible );
r = ((dtm << selectwhere( :File == "addin1.jmpaddin" )) << get selected rows)[1];
mostrecent = Column( dtm, "Version" )[r];,
print("Cannot access update site.");
mostrecent = installedAddInVer;
Throw("AddIn cannot check for updates.");
);
If( mostrecent != installedAddInVer,
requestUpdate( mostrecent, installedAddInVer, addinLocation);
);
Close( dtm, nosave );トレードオフ (そう呼んでもいいでしょうか?) は、アドインのバージョン番号とファイル メタデータのバージョン列 (日付列の代わり) が新しいバージョンごとに同じでなければならないということですが、これはそれほど大きな問題ではありません。取引は完了しました(とにかく日付を更新する必要があります)。 また、JMP アドインを構築する Python スクリプトがあるのに、Python では .jmp ファイルを書き込むことができないため、ファイル メタデータ用に .csv に切り替えました。 本当はそのスクリプトについて投稿すべきなんですが...
Re: 自己更新型 JMP アドインの作成方法こんにちは、ジェフ
これは、グループまたは Team でアドインを制御する場合に非常に便利です。
ちょっとした問題があり、あなたの指示に従ってアップデートを行うと、常にこのメッセージが表示されます。
「アップデートバージョンはまだ利用可能です」
[OK] をクリックするとインストールが開始されますが、次回もメッセージが表示されます。
私はイギリスにいるので、タイムゾーンの違いが関係していると思います。
メタファイル「発行日」のタイムゾーンを d/m/y に更新しました。
スクリプト行 10 の「形式」の先頭を dd/mm/yyyy に更新しました。
「更新関数」ファイルで更新する必要があるものはありますか?
助けていただければ幸いです。
Re: 自己更新型 JMP アドインの作成方法<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、これはとても便利ですね。 残念ながら、私にはうまくいきませんでした(最後のポイント f まではすべてうまくいきました)。
何か(ルート?)がある可能性はありますか? 「ファイル Metadata.jmp」内のフォルダー?) を変更する必要がありますか?
編集:
私の場合は命名の問題がありました。 次の名前を同じに設定することで問題を解決できました。
- アドイン名
- アドインID
- 「ファイルメタデータ.jmp」内のファイル
- jmpadin のファイル名
これらすべてに「Foo.jmpadin」という名前を付けました。
今では魅力的に動作します!