JSL 4.0Scripters Club プラットフォームを利用して、JSL の新機能や将来の機能強化について話し合うことは理にかなっていますか?その目的は、アイデアを整理し、新機能について人々に知らせ、将来の改善点を宣伝することです。
ゲームチェンジャー:
クールで便利な新機能:
あると良いもの:
JSL 4.0について複数のユーザーがメイン投稿のリストへの書き込みアクセス権を取得できるかどうかはわかりません。
JMP19 で最も気に入っている改善点は何ですか?
何が足りないですか?
どのアプローチが「ゲームチェンジャー」と言えるでしょうか?
JSL 4.0についてこんにちは、Hogiさん。JMP19のJSL新機能の概要をJMPが公開しているものはありますか?まだドキュメントは読んでいません。19.0.01と以前のバージョン(17.2と18.2)を比較検討しているところです。
アドイン ビルダーの場合:
過去10年以上にわたり、ネットワークドライブ上にカスタムアイコン(jpgなど)を保存したアドインツールバーをいくつか開発してきました。当時のコーディングと設定方法では、JMPウィンドウが開かれるたびにJMPがそれらのアイコンをすべて取得していました。JMPはツールバーを表示するためにこれらのアイコンを必要としていたからです。問題の原因(最大40個のスクリプト)に気付いた頃には、JMPウィンドウを開くのに数秒かかることがありました。最初の1年を過ぎた頃は、新しいスクリプトをたまにしか追加していなかったため、徐々に問題が発生していきました。
現在、JMP19には、jslファイルとアイコンファイルをアドインの一部として自動的に含める新しいアドインビルダーがあります。そのため、ユーザーがインストールすると、jslとアイコンイメージがローカルホームフォルダにコピーされますが、JMPユーザー(19以降)は、JMPのインストールでサーバーの.jmpaddinファイルの更新が「確認」されたときにアドインが更新されたことを自動検出できるように設定しました。そのため、JMPを再起動すると、更新をインストールするように求められます。 このプロセスは以前の方法とは少し異なりますが、完璧なタイミングで完璧な修正でした... 数か月前に根本原因を発見しました。 私にとっては本当に役に立ちましたが、私のケースはかなりわかりにくいのではないかと思います。 ただし、このフォーラムではそれほどわかりにくいわけではないかもしれません。 修正に協力してくれたJMPサポートチームと開発者に感謝します。
ありがとう、
マイク
JSL 4.0について私の知る限り、リリースノート(「すべての詳細」を含む)は存在しません。
一般的な「概要」: JMPの新機能とリリースノート
セキュリティアップデートに関する情報は、こちらのページをご覧ください: https://www.jmp.com/en/company/trust-center
このため、ここで簡単な概要を説明すると役立つと思いました。
コメントや追加機能へのリンクは大歓迎です。
JSL 4.0についてアドイン -
JMPに含まれる標準の「アドインビルダー」のほかに、
アドイン マネージャージャスティン・チルトン -> マーケットプレイス経由で入手可能: アドイン マネージャー
https://community.jmp.com/t5/Learn-JMP-Events/Scripters-Club-Managing-Your-JMP-Add-Ins-with-Justin-Chilton/ev-p/887937

JMP19 の新機能: JMP に直接組み込まれた更新チェック。
以前のバージョンでは、UpdateCheck.jsl (AddIn Manager から) を介して同様の機能を設定できました。
誰かが 2 つのアプローチの速度を比較しましたか?
たとえば、UpdateCheck による 40 個の AddIn 更新チェックと新しい機能との比較はどうでしょうか?
新しい関数はファイルの日付、あるいは何らかのコンテンツを比較しますか?
ところで: @mikedriscoll
興味深いコンセプトです。前回のコンセプトと非常に似ています。
エンタープライズアドイン管理戦略 (2025-US-30MP-2576) @MikeD_Anderson
提案されたコンセプトの重要な違い:
スクリプトの「現在の」バージョン (およびアイコン?) を含むフォルダーは、OneDrive/Sharepoint に保存され、同期されたフォルダーを介してローカル システムで利用できます。
JSL 4.0についてJustinが元々組み込んでいた更新機能をベースに独自の更新スクリプトを作成しましたが、19の新しい方法と並行してテストはしていません。JMPの方法は更新ファイルのソースフォルダを参照するため、JMPの方法の方が高速になる可能性があります。一方、Justinの方法(少なくとも私が使用しているもの)は、メタデータマスターファイルの保存場所によっては遅延が発生する可能性があります。JMPからjmp19のアドインを更新するように指示されたことが数回ありましたが、既に実装している方法と同じくらい高速に感じました。
19の新しい方法は基本的に特定の場所にある新しいファイルを探すようで、ビルド日付のメタデータには結び付けられていないようです。このアプローチは概ね気に入っていますが、「ソースフォルダ」を構成する要素を厳密に制御することはできません。例えば、ダウンロードフォルダからアドインをドラッグして、更新を確認するかどうかを尋ねられた場合、チェックするソースとしてダウンロードフォルダが表示されます。さらに、アドインの製品版とテスト版を区別していないため、ユーザーが更新を確認した際に別の場所からインストールされたテスト版だった場合、「ソース」フォルダが誤っている可能性があります。
ここで、これらの部分を成文化することを許可するようリクエストしました (他の希望リスト項目について簡単にチャットしたので、主にこのスレッド用です)。
JSL 4.0について@nathan-clark JMP19のアドインビルダーで見た限りでは、そうではありません。残念ながら、今のところ経験をすべて文書化する時間がありませんが、簡単に概要を説明します。ただし、私は専門家ではありません。私の目標は、以前の共有ドライブ版を完全に再現することですが、JMP19の手法を使って、別の場所で再現することです。
ファイル > 新規 > アドインを使用してアドインを作成します。
スクリプトやアイコンを追加してアドインを設定します。私の場合は、これらは共有ドライブに保存されています。
ファイルを自動的に更新するように設定し ([インクルード ファイル] タブ)、[全般] タブで JMP の起動時に更新を確認します。
名前を付けて保存すると、アクセス可能な場所に新しい.jmpaddinが作成されます。そのままにして、他のユーザーはそこからインストールできます。
他の JMP ユーザーはその場所からインストールし、そのバージョンの JMP ではその場所をチェックして変更を検出します。
ファイルを編集する場合は、アドインビルダー/jmpaddin ファイルを開いてアドインエディタを表示し、スクリプトを編集してください。すると、アドインビルダーに「保存」ボタンが表示されます。または、「名前を付けて保存」を使用して、同じ名前でアドインを保存することもできます。更新したスクリプトファイルをドロップしたり、jslファイルを編集して閉じた後にアドインビルダーを開いたりすると、保存オプションが表示されません。これは開発者に報告済みのバグです。
旧バージョンのJMPをご利用の場合は、.jmpaddinファイルを再インストールしてアドインを更新する必要があります。JMP19をご利用の場合、同じ場所からアドインをインストールした場合は、更新を促すメッセージが表示されます。.jmpaddinファイルをメールで送信した場合、どうなるかは分かりません。おそらくJMPは後でどこで更新を確認すればよいか分からなくなるのでしょう。
JSL 4.0について@mikedriscoll さん、その通りですね。残念ながら、それはJMPのアドイン作成実装に依存しています。私にはアドインが多すぎて、今は全てGitHubで管理しているので、その方法はスケーラブルではありません。そのため、addin.defファイルに詳細を記述するよう依頼しました。
JMP19はアドイン管理において大きな進歩を遂げていると思いますが、長期的には、様々な個人や組織がアドイン管理を利用する規模に応じて、より多くのオプションを用意する必要があります。JMPのアップデートがいくつか行われれば、現在のアドイン更新インフラの一部を廃止できると考えています。
JSL 4.0について好き嫌いは別として、クリックした時の反応速度が前作の18と比べて少し遅いのは残念です。もちろんPCのスペックにもよりますが、明らかに反応速度に差があると思います。
JSL 4.0についてまた、アドインに関しては、JMP 19 でいくつかのことが簡単になる可能性があると思います。
私はアドインを開発するのにこの方法が一番気に入っています:
- ドキュメントフォルダ内の解凍されたフォルダ内
- インストールするには、JMPで.defファイルを開きます。
- .jmpcust ファイルをテキスト エディターで編集します (これは少し難しいですが、ほとんどの変更を行う必要がないため、私の場合は問題なく機能します)
- メニュー項目はこのフォルダ内のスクリプトを参照します
- このフォルダ内のスクリプトを直接テスト/編集できます (メニューから .jmpaddin 内のファイルをコピーして更新するのは非常に面倒で、不必要で、エラーが発生しやすいため、これは大きな利点です)。
- 展開用に、アドインをパックして他のユーザーの共有場所に移動する小さな PowerShell スクリプトがあります (また、問題が発生した場合にロールバックを実行できるように、古いバージョンのコピーも作成します)。
JSL 4.0についてはい、今後の機能強化などについてScriptersクラブで議論したいと思っています。このトピックはクラブの一部にはなりますが、唯一のトピックではないはずです。ご提案ありがとうございます。
JSL 4.0について@hogi ウィッシュリストのエントリで提案したように、エラー処理が改善されれば状況は大きく変わるでしょう。少なくとも17.1では、エラー処理は統一されておらず、ドキュメントも十分に整備されていません。現状(そしておそらく18.2でも)では、exception_msg() で2種類のエラーメッセージが利用できるようですが、これもScripting Indexにも他のドキュメントにも記載されていません。
エラーメッセージは、エラー処理で確認できるように言語に依存しないものにするか、エラールーチンで確認できるような固有のエラーコードを持つべきです。例えば、以下のようなものです。
try (
<SOME action="https://community.jmp.com/">
,
<BR /> // we have to check for the exact message in all languages to handle a specific error:
<BR /> If (error_msg()[1] == "File not found" || error_msg()[1] == "Datei wurde nicht gefunden", // better would it be to have a language independent code // If (error_code() == 93 or better: ...== error_code["FileNotFound"] print("File not found: ");
<DO something="" because="" file="" was="" not="" found="">
, ... ); );
</DO>
</SOME>
Open 関数は現在、追加の引数を含むリスト エントリとしてエラー メッセージを返します。
try(
open ("table");
,
Show(exception_msg());
//
// Returns in german language setting
// exception_msg() = {"Tabelle kann nicht geöffnet werden"(1, 2, "Open", Open /*###*/("table"))};
//
// Returns in english
// exception_msg() = {"Cannot open table"(1, 2, "Open", Open /*###*/("table"))};
);
これらの議論はどちらもどこにも文書化されておらず、まだ見つけていません。
私の意見としては、エラーに関するすべての情報を含むエラー オブジェクト (クラス形式) が返されるとよいと思います。例:
try(
<ACTION>
<BR /> ,
<BR /> if (exception() << code == exception.FILENOTFOUND,
<BR /> Print( exception() << message );
<BR /> ...
</ACTION>
それから、throw関数があります。これは便利ですが、exception_msg()で使用される引数をサポートしていないようです。引数の値をエラー処理ルーチンに渡すことができれば便利です。
try(
throw("Error"(1,2));
,
Show (exception_msg());
// Arguments to the thrown "Error" are lost.
);
結論として、エラー処理はさらに改善の余地があります。エラー処理がこれらの改善を受けていただければ幸いです。
JSL 4.0についてリンク: エラーメッセージを改善し、文書化する
ありがとうございます。「クールで役立つ新機能」として追加しました。トップ 10 に達したら「ゲームチェンジャー」に移動します。
ドキュメント部分には、 包括的なスクリプト インデックスがあります。
「トップ 10」のアイデアに従って、これを「クール/役立つ」から「ゲームチェンジャー」に引き上げます。
もっと候補者はいますか?
JSL 4.0についてCol 集計はどのくらいの頻度で使用しますか? 複雑なもし()式を含む「制限された」集計はどのくらいの頻度で使用しますか?
固有のエントリの数を入力する必要があります。
投票: Col Median (およびその他): 「Where」オプションを追加