加載項管理器描述
加載項管理器使您能夠輕鬆構建和重新構建加載項文件,隨著時間的推移管理加載項的版本,直接訪問源文件,並為您的加載項進行額外的自定義。 現在有了 2.0 版加載項管理器,您可以控制整個 JSL 應用程序開發生命週期,因為您可以直接從加載項管理器!
快速構建加載項
的基本特徵加載項管理器是直接從源文件構建 JMP 插件文件的能力。 此功能最初包含在我的自定義加載項生成器加載項和加載項管理器已經採用了該插件的基礎知識並對其進行了改進。

向用戶部署加載項
隨著版本 2.0加載項管理器,您現在可以直接從加載項管理器. 您可以部署到 TEST 位置以供用戶測試您的加載項,也可以部署到 PROD 位置。

部署到 PROD 時,帶有關聯數組的 JSL 腳本會自動更新為最新的發布日期/時間。 此關聯數組可由自動生成的“updateCheck.jsl”腳本使用,該腳本可以根據關聯數組將用戶加載項的構建日期與構建日期進行比較。 如果有更新版本的插件可用,用戶將看到以下窗口,他們可以在其中選擇更新到最新版本。 這個使用關聯數組檢查更新的概念改編自@brady_brady的使用帶有發布日期的表格的方法。 該方法在@Jeff_Perkinson的帖子如何編寫自更新 JMP 插件.

管理加載項的版本
加載項管理器每次構建新文件時,都能夠自動保留加載項文件的版本歷史記錄。 它允許您安裝、恢復或刪除以前版本的加載項。 您可以選擇為每個構建添加註釋,以便跟踪每個版本的更改。

進行額外的插件自定義
加載項管理器允許您對以前需要手動更改 XML 的加載項進行一些自定義。 以下是可用的額外自定義加載項管理器.
- 最大 JMP 版本
- 菜單項的內置 JMP 圖標
- 在位置之前插入以指定菜單項的位置
- 自定義菜單欄 - 創建您自己的菜單或使用“加載項”以外的現有菜單
- 新進加載項管理器2.0:單個加載項中的多個主菜單

直接從 JMP 訪問源文件
在文件選項卡上加載項管理器,您可以通過雙擊表格中的所需文件直接從 JMP 打開源文件夾中的文件。

自定義元數據的自動管理
和加載項管理器2.0 版,除了自動包含和管理的元數據之外,您還可以創建自己的自定義元數據加載項管理器.

管理以前安裝的加載項
在已安裝選項卡中,您可以啟用、禁用或註冊已安裝的插件以及註冊未安裝的插件。

系統要求
此插件在裝有 JMP 13 或更高版本的 Windows 和 Mac 操作系統上受支持。
博客系列
插件管理器,第 1 部分:定義和構建 JMP 插件
加載項管理器,第 2 部分:為用戶部署自動更新加載項
加載項管理器,第 3 部分:高級自定義
變更日誌
版本 1.1-1.3(2017 年 10 月 16 日)
- 修復了一些導致加載項拋出錯誤的情況
- 添加了用於控制是否顯示菜單和工具欄的新首選項
2.0 版(2017 年 11 月 22 日)
- 添加了對將加載項部署到 TEST 和 PROD 位置的支持。
- 通過可以包含在腳本中的關聯數組添加了對自定義元數據的支持。
- 添加了在單個加載項中擁有多個主菜單的功能。
- 添加了在菜單項樹中復制和粘貼菜單項的功能。
- 添加了對從現有的“jmpaddin”文件建立源文件夾的支持。
- 添加了檢查新版本的功能,直接從 JMP 社區中提取。
- 添加了在構建後自動安裝加載項的首選項。
- 由於各種原因,刪除了對一次構建多個加載項的支持。
- 壓扁了其他各種錯誤。
2.1 版(2018 年 2 月 26 日)
- 添加了排除不可見文件和文件夾(即以句點開頭的文件/文件夾)的首選項。 如果您使用的是版本控制系統,例如 Git,這將非常有用。
- 在確定您是否安裝了最新版本時,現在會忽略 customMetadata.jsl 文件。
2.2 版(2018 年 3 月 8 日)
- 修復了添加兩個以上頂級主菜單時的問題。
- 在選擇屏幕中添加了新圖標。 刪除的圖標僅在一個操作系統上可用。
2.3 版(2018 年 4 月 6 日)
- 修復了在 Mac 上重命名或刪除源文件夾時導致的錯誤
- 即使您的計算機上沒有安裝 Consolas 字體,首選項窗口現在也可以工作。
2.4 版(2020 年 1 月 9 日)
- 允許在其他項目之前或之後插入菜單項,而不是只允許在之後插入。
- 添加 15 和 16 作為最小/最大 JMP 版本號。
2.5 版(2020 年 2 月 5 日)
- 在 JMP 15 中使用 macOS 深色模式和 Windows 高對比度模式時提高可讀性。
- 修復在 Mac 上打開首選項時顯示的警報。
2.6 版(2020 年 6 月 4 日)
- 修復了使用自定義菜單解析加載項的錯誤。
- 添加了用於解析錯誤的診斷信息,以幫助解決未來的問題。
2.7 版(2020 年 6 月 10 日)
2.8 版(2020 年 9 月 24 日)
- 修復了使用子文件夾解壓縮加載項的問題
- 添加了使用加載項模板時自動創建文件夾的選項(默認啟用)。
2.9 版(2021 年 2 月 4 日)
- 將某些日期格式更改為區域設置格式
- 修復了檢查更新功能
3.0 版(2022 年 1 月 18 日)
- XML 特殊字符(例如 '&')不應再破壞 addin.jmpcust 文件。
3.1 版(2022 年 3 月 4 日)
如果您發現任何問題,請告訴我!
當前版本=3.1
2.9
加載項管理器使您能夠輕鬆構建和重新構建加載項文件、隨時間管理加載項的版本、直接訪問源文件、對加載項進行額外自定義以及將加載項部署到你的用戶。

實用程序回复:加載項管理器@賈斯汀_奇爾頓JMP17 為我的插件顯示空菜單結構,其中 JMP16 顯示菜單項。 這三個插件都是一樣的。 請參閱我之前 2021 年 9 月 14 日的消息。

回复:加載項管理器@賈斯汀_奇爾頓, @內森克拉克我終於回到了我的測試插件自動更新功能。 我想我確實讓它運行正常,只是加載項管理器沒有為測試設置寫出元數據文件夾。
有機會啟用此功能嗎?否則每次都需要手動更新這些文件,這很容易出錯。
亨寧
回复:加載項管理器你好@賈斯汀_奇爾頓
在發布問題後嘗試各種事情時,我懷疑文件被內部行業安全系統損壞。
當我從外部收到文件並繼續重新安裝時,它已正常安裝。

我將保留同一案例的問題和答案。
永遠感謝你,賈斯汀
Dave_Ryu。
回复:加載項管理器你好@賈斯汀_奇爾頓
我收到了很多使用加載項管理器構建的幫助。
我一直使用它直到 v2.9,但重新安裝時出現以下錯誤。
在 v2.9 和最新版本的 v3.1 中都會出現此錯誤。
當我運行安裝文件時,立即出現錯誤並且無法繼續。
你能告訴我如何對錯誤採取措施嗎?

非常感謝。
Dave_Ryu。
回复:加載項管理器你好@賈斯汀_奇爾頓,我在部署到 TEST 文件夾時遇到了以下錯誤。 否則感謝加載項! 這應該是 JMP 中的標準功能 
錯誤信息:
{"argument should be character"(1, 2, "Concat", Bad Argument(currentAddinInfo["Name"]), "你沒有保存你的更新信息" || /*###*/currentAddinInfo["名稱"] || /*###*/"加載項。" /*###*/)}
錯誤:參數應該是字符
1 次。
類型:錯誤
函數名稱:連接
錯誤參數:currentAddinInfo["Name"]
正在執行的函數:“您尚未保存更新的信息” || /*###*/currentAddinInfo["名稱"] || /*###*/“ 加入。” /*###*/
調用堆棧:
保存按鈕檢查
刷新AddinTableBox
部署選定
回复:加載項管理器@賈斯汀_奇爾頓感謝您的建議。 你是對的,我想要的可以通過 include() 來處理。感謝您提供關於 <
不知道為什麼我的 zip 不起作用,但我是在 Mac 上做的,在我手動嘗試後所有條目都消失了。現在我得到了包含工作,無論如何都不需要手動編輯。
回复:加載項管理器@steveylin ,只需壓縮加載項內容並重命名為 xxx.jmpaddin 即可,您只需確保 jmpcust 和 def 文件位於 jmaddin zip 文件的根目錄。
或者,我建議將您的路徑添加為“運行 thi JSL”的 include(),而不是直接使用路徑使用腳本。 這將避免手動編輯 jmpcust 文件的需要。 我不確定為什麼路徑對您不起作用,但這是我實際用於加載項的設置。

我喜歡在插件的 Includes 中使用 <
回复:加載項管理器我是一個試圖讓插件工作的新手。我讓它引用一個目錄,但它默認為“文本”,我必須手動更改為“路徑”
<動作類型> “小路” >$ADDIN_HOME(com.cirrus.pejmpscriptsMac)\pe-jmp-scripts\Check_Duplicate_Measurements.jsl
我遇到的問題是我可以修改 .jmpcust 以使其在我的計算機上運行,但我無法導出它。有沒有一種簡單的方法來獲取 addin.def/addin.jmpcust 並自己壓縮它?我希望這很簡單,我不必使用加載項管理器。
我嘗試使用 zip 和重命名,但沒有奏效。
問候,
史蒂夫
回复:加載項管理器你好@賈斯汀_奇爾頓,我最近在部署新的 Prod 版本時遇到了這個錯誤。
錯誤信息:
{"argument should be character"(1, 2, "Concat", Bad Argument(currentAddinInfo["Name"]), "你沒有保存你的更新信息" || /*###*/currentAddinInfo["名稱"] || /*###*/"加載項。" /*###*/)}
錯誤:參數應該是字符
1 次。
類型:錯誤
函數名稱:連接
錯誤參數:currentAddinInfo["Name"]
正在執行的函數:“您尚未保存更新的信息” || /*###*/currentAddinInfo["名稱"] || /*###*/“ 加入。” /*###*/
調用堆棧:
保存按鈕檢查
刷新AddinTableBox
部署選定
回复:加載項管理器嗨內森,
是的,我確實先構建了它,並且沒有收到任何錯誤。 但無論如何我都會收到部署消息。
約翰
回复:加載項管理器@Gido_vanderStar ,
看起來您可能使用的語言環境與我不同,這導致了未知格式錯誤。 我剛剛更新了插件 (v3.1),它使歸檔過程中使用的日期格式尊重您所在地區的日期格式。
回复:加載項管理器@john_madden您是否先單擊構建按鈕? 這是保存圖標旁邊的按鈕。 這將構建插件並將其放置在開發文件夾中。
然後你可以安裝DEV .... 或者,您可以部署插件的 TEST 或 PROD 版本。 (您需要先部署 TEST 或 PROD 插件,然後才能安裝 TEST 或 PROD 插件。
回复:加載項管理器嗨賈斯汀,
當我嘗試安裝我的加載項(AIM 構建得很好)時,我收到一個錯誤“DEV/TEST/PROD 加載項不存在”。 我可能做錯了什麼?
約翰
AIM 3.0、JMP Pro EA 17.0b6、OS X 12.2.1
回复:加載項管理器你好@賈斯汀_奇爾頓,
感謝這個插件。 只是想報告一個煩惱。 安裝或部署加載項時,我在日誌中收到大約 50 次以下消息:
Unknown format: m/d/y h:m
在 JMP 16.0.0、Windows10 中使用最新 (v3.0) 版本的插件。
回复:加載項管理器@vohwinkelh0我收穫了賈斯汀的自動更新代碼,我相信,進行一些更新以允許您正在談論的內容會很容易。
根據您的集成方式,您可以使用本地代碼進行這些更新。 就目前而言,代碼有一個步驟,主要是查看安裝的版本是否為 PROD,然後檢查是否有更新的版本。 如果安裝的版本是 PROD 或 TEST,我相信您可以執行此過程......並檢查部署區域元數據以查看是否有更新的 PROD 版本。
在帶寬開放之前,您可能會考慮滿足您的需求:)
回复:加載項管理器@pauldeen ,感謝您的報告! 它應該在 v3.0 中修復。
回复:加載項管理器@vohwinkelh0 ,對於加載項管理器中的功能來說,這聽起來是個好主意。 聽起來您需要某種單獨的 TEST(或 beta)版本控制? 不幸的是,我目前沒有足夠的帶寬來實現類似的東西,但我確信可以通過添加一些自定義元數據字段並在代碼中使用這些字段來了解它是否是 TEST 構建。
回复:加載項管理器@賈斯汀_奇爾頓在工具提示字段中輸入 & 會導致寫入 addin.jmpcust 時出現故障,從而導致其不再可解析。 (JMP 16.1 Windows 10)。
回复:加載項管理器@賈斯汀_奇爾頓你知道是否有辦法在 TEST 上實現自動更新功能? 我經常偶然發現我將 TEST 分發給用戶以測試功能,但是一旦 PROD 更新,他們就沒有部署該更新,因為 TEST Addin 不會自動檢查是否有新的 PROD 版本?
回复:加載項管理器謝謝@pauldeen ! 不知道 addinLoad.jsl 功能是否可用(隱藏在指南中)。 該解決方案適用於我的問題!
回复:加載項管理器@Djtjhin您可以使用包含自定義函數的 addinLoad.jsl 將空插件部署到所有計算機
或者
您可以使用您的 IT 部門來安排一個 jmpStartAdmin.jsl 文件,其中包含您描述的自定義功能這裡,不需要插件。
回复:加載項管理器嘿@賈斯汀_奇爾頓,我正在嘗試使用加載項管理器來部署用戶定義的自定義函數,該函數理想地在啟動時運行。 您能否推薦使用加載項管理器執行此操作的最佳方法?
回复:加載項管理器@賈斯汀_奇爾頓JMP17EA2 再次顯示空菜單結構,日誌中沒有錯誤。 感謝這個插件,它應該直接集成到 JMP 中!
回复:加載項管理器@賈斯汀_奇爾頓@MikeD_Anderson
非常感謝您的回复! 實際上,前幾天我只是偶然發現了這樣做的能力,但是您擊敗了我將其發佈在此處。
@MikeD_Anderson - 關於快速 JMP 啟動的信息真的很好知道,應用程序腳本肯定開始變得非常龐大,所以這很有幫助。
我希望使用插件管理器完成的部分工作是跳過每次我想測試某些東西時必須將 .jmpappsource 導出到 .jsl 或 .jmpapp 的步驟,所以我最終得到的是下面的代碼. 我不太確定它是如何工作的,但是當使用 OpenFile() 時,.jmpappsource 不會啟動應用程序構建器,並且可以直接運行應用程序。 正是我需要的!
app = JMPApp();
app << OpenFile("$ADDIN_HOME(com.example.addin)\MyApp.jmpappsource");
app << Run;回复:加載項管理器@mringqui & @賈斯汀_奇爾頓- 只是對賈斯汀提到的方法的一點色彩評論。 您需要先將 jmp app 源文件編譯成 .jmpapp 文件。 當您在應用程序構建器中時,這可以在文件 > 導出下完成。 然後將 .jmpapp 文件包含在加載項包中並打開 .jmpapp 文件:
open("$ADDIN_HOME(com.example.me.myaddin)/MyApp.jmpapp");
這就是 JMP 默認插件嚮導的樣子。

請注意,與直接嵌入 JSL 相比,這具有一些很好的連鎖效應。 最大的是,對於非常大的應用程序,它將阻止 JMP 在啟動時變慢。 所有的代碼都需要在啟動時進行解析——所以如果你的腳本真的很大或者你有很多,它可能會減慢速度——這是我在使用 STK 時遇到的問題。 作為應用程序嵌入意味著 JMP 只需在啟動時解析一行代碼。 還有其他一些,但這是 IMO 中最重要的一個。
回复:加載項管理器@mringqui , 感謝您與我們聯繫。 我在想這需要對加載項管理器加載項進行一些更改,但是@MikeD_Anderson向我展示瞭如何使用加載項管理器已經工作的方式來做到這一點。
不要設置要運行的文件,而是使用運行 JMP 應用程序源文件的腳本。 您只需將其粘貼到“運行此 JSL”的文本框中。
Include("$ADDIN_HOME(com.example.me.myaddin)/MyApp.jmpappsource");</CODE></PRE></LINGO-BODY><LINGO-SUB id="lingo-sub-394777" slang="en-US">回复:加載項管理器</LINGO-SUB><LINGO-BODY id="lingo-body-394777" slang="en-US"><P>嗨,偉大的工作! 我希望創建一個使用 .jmpappsource 文件作為菜單項的“在此文件中運行 JSL”操作的加載項。 這是可以輕鬆添加的東西嗎? 現在,被迫使用 .jsl 文件限制了我以方便的方式使用加載項管理器的能力。 謝謝!</P></LINGO-BODY><LINGO-SUB id="lingo-sub-386516" slang="en-US">回复:加載項管理器</LINGO-SUB><LINGO-BODY id="lingo-body-386516" slang="en-US"><P><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/1855" target="_blank">@賈斯汀_奇爾頓</A><BR />我使用 $ADDIN_HOME 和 Get Default Directory() 的組合,具體取決於我需要在哪裡/如何包含東西。 對於我的許多包含,我確實有一組庫,這些庫對於我的許多工具都是通用的,並且我確實將它們完全視為一個單獨的插件。 然後,我製作的任何工具都只包含 $ADDIN_HOME 中的文件,並且所有庫函數都可供我或任何可能想要使用它們的人使用。<BR /><BR />我不確定為什麼<A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2173" target="_blank">@tsl</A>必須將額外的層添加到 zip 中。 從我的角度來看,將它留在他的第一個層次結構中的組織會使事情總體上更簡單,但不了解該基礎架構的所有細節,我可能會遺漏一些東西。<BR />通常,一旦設置了原始內容,我需要對 .jmpcust 文件進行的唯一更新是更新版本更新的顯示名稱(我在我的存儲庫中執行此操作,但可以在插件管理器中完成)。</P></LINGO-BODY><LINGO-SUB id="lingo-sub-386499" slang="en-US">回复:加載項管理器</LINGO-SUB><LINGO-BODY id="lingo-body-386499" slang="en-US"><P>感謝您的澄清<A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2173" target="_blank">@tsl</A> . 在我看來,它可以對您的流程進行一些更改。</P>
<OL>
<LI>不要更改 $ADDIN_HOME 文件夾,而是使用相對路徑和 Get Default Directory()。 這也使得開發插件更容易,因為任何對它的引用都是針對已安裝版本的。</LI>
<LI>使用變量來確定 CommonFiles 的相對路徑位置並在您的包含中使用它,因為位置在生產加載項和開發存儲庫之間有所不同。</LI>
</OL>
<P>或者,您可以放棄將 CommonFiles 複製到每個加載項中的想法。 您可以為 CommonFiles 創建一個單獨的加載項條目(它沒有命令項),並要求用戶在加載項之外安裝它。 這意味著用戶只有一個 CommonFiles 副本(這可能是好事也可能是壞事,具體取決於您在更新 CommonFiles 後測試所有加載項的頻率。 有了這個,您可以使用 $Addin_Home 路徑變量包含文件,但您仍然需要弄清楚如何從開發中包含它們。 這可能類似於<A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/6649" target="_blank">@內森克拉克</A>正在做,但我不確定。</P>
<P>另一種選擇是,我可以實現一個您可以定義的非常靈活的後處理腳本,而不是我為您實現副本(有些限制)。 比如說,您定義了一個引用 ZipArchive 的函數,並且您可以按照您認為合適的方式操作它。 此解決方案可能需要您和我進行最少的更改。</P>
<P>很抱歉所有的漫無邊際,但希望這些建議之一能讓我們朝著正確的方向前進!</P></LINGO-BODY><LINGO-SUB id="lingo-sub-386453" slang="en-US">回复:加載項管理器</LINGO-SUB><LINGO-BODY id="lingo-body-386453" slang="en-US"><P><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/1855" target="_blank">@賈斯汀_奇爾頓</A>,是的,您所描述的事情與我所做的非常接近。 讓我詳細說明一下,如果我使用插件管理器會發生什麼。 (而且我仍在探索和學習它是如何工作的,所以如果我錯過了代表它可以做什麼,請原諒我!)</P><P> </P><P>構建插件後,我將源文件夾設置為 Addin_1\Source,我在 Addin_1\Release 文件夾中有一個名為 Addin_1.jmaddin 的文件。</P><P>我將其重命名為 .zip 擴展名,打開並查看。 我發現它看起來像這樣:</P><P> </P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Addin_Initial_Folder_Structure.png" style="width: 217px;"><span class="lia-inline-image-display-wrapper" image-alt="Addin_Initial_Folder_Structure.png" style="width: 217px;"><img src="https://us.v-cdn.net/6038925/uploads/images/32932i1AD28B843A933FC3/Addin_Initial_Folder_Structure.png" role="button" title="Addin_Initial_Folder_Structure.png" alt="Addin_Initial_Folder_Structure.png" /></span></SPAN></P><P> </P><P>(還有幾個 XML 文件我用來管理一些事情,但為了簡單起見,我們可以跳過這些文件)</P><P>然後,我通過在 .zip 中創建一個新文件夾並將所有 Source_1 等文件拖到該新子文件夾中來手動更改 zip。 我將 addin.jmpcust 和 add.def 保留在根級別,否則加載項將無法安裝。 我還將 CustomMetaData.jsl 保留在根級別,因為我猜這就是它需要的地方。</P><P>然後我將我還需要的 CommonFiles 文件夾拖到 .zip 中。 我最終的 Zip 結構如下所示:</P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Addin_Final_Folder_Structure.png" style="width: 220px;"><span class="lia-inline-image-display-wrapper" image-alt="Addin_Final_Folder_Structure.png" style="width: 220px;"><img src="https://us.v-cdn.net/6038925/uploads/images/32933i3C14631B2CA97BE7/Addin_Final_Folder_Structure.png" role="button" title="Addin_Final_Folder_Structure.png" alt="Addin_Final_Folder_Structure.png" /></span></SPAN></P><P>然後我還有一件事要做:現在需要編輯 .jmpcust 文件中的 <ACTION type=""path""> 行。 而它說</ACTION></P><P>$ADDIN_HOME(com.xyz)\Source_1\Code_1.jsl</P><P>我需要將其更改為閱讀</P><P>$ADDIN_HOME(com.xyz)\Addin_1\Source_1\Code_1.jsl</P><P>我可以在文本編輯器中使用搜索/替換來完成。</P><P>完成所有這些步驟後,我就可以部署和安裝插件,一切正常。</P><P> </P><P>對於您的最後一條評論,因為這個插件是一套工具,每個插件在 Addin_1 中都有自己的“源”子文件夾,所以為了引用 CommonFiles,我在 Code_1.jsl 等中的 Include() 語句確實有一個額外的"..\" 上一級以正確找到包含文件。</P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-385991" slang="en-US">回复:加載項管理器</LINGO-SUB><LINGO-BODY id="lingo-body-385991" slang="en-US"><P><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2173" target="_blank">@tsl</A><BR />我對顛覆做了類似的事情,我使用插件管理器發布任何 Repo 活動。 提交所有代碼後,我將導出到成為插件“源”的位置(本地或網絡文件夾)。 就個人而言,我在我的存儲庫中管理我的 .jmpcust 文件和 .def 文件,因此它們也可以導出,但是您可以只導出代碼並使用 Addin Manager 製作 .def 和 .jmpcust 文件(它將在源文件夾中創建文件,在我的情況下,從 repo 中導出新內容只會覆蓋正在導出的文件)。<BR /><BR />然後我使用他的工具來處理所有的打包、歸檔和分發到我的生產文件夾(無論如何,這總是花費最多時間手動完成)。 為了讓我自己更輕鬆,因為我在插件管理器之前也管理了許多插件,我還手動編輯了存儲所有信息(插件、名稱、源文件夾等)的 jmp 文件,所以我準備好了所有插件當我啟動插件而不是通過該界面手動添加它們時去)。</P><P> </P><P>除了插件本身之外,我還更新了一些功能,以允許我的用戶在新版本投入生產時收到通知並自動更新插件。</P></LINGO-BODY><LINGO-SUB id="lingo-sub-385979" slang="en-US">回复:加載項管理器</LINGO-SUB><LINGO-BODY id="lingo-body-385979" slang="en-US"><P><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2173" target="_blank">@tsl</A> ,當您手動壓縮時,加載項的文件結構是什麼樣的?</P>
<P>我想,因為您的代碼包含到 CommonFiles 目錄的相對路徑,所以您的加載項看起來像這樣?<SPAN style="font-family: inherit;">插件文件中不包含Release文件夾嗎?</SPAN></P>
<P> </P>
<PRE>Addin_1.jmpaddin
|_Addin
|_Source<BR /> |_Code.jsl<BR /> |_Release<BR /> |_Something?<BR /> |_CommonFiles</PRE>
<P>在上述結構中,“Addin”文件夾的存在只是為了保持文件夾結構與您的相對路徑相同。 你是這種情況嗎?</P>
<P>我想我可以添加一個新的可選目錄路徑,它可以作為構建過程的一部分複製到加載項文件中。 但是,我們仍然需要解決目錄問題。 為了解決這個問題,我的想法是添加一個小片段來設置 CommonFiles 目錄的位置,並將其用於所有常見文件包括。 或者,您可以創建一個“IncludeCommonFile()”函數,嘗試從生產位置包含並故障轉移到開發位置</P>
<P> </P>
<PRE><CODE class=" language-jsl">commonFilesDir = Directory Exists("../CommonFiles/",
"../CommonFiles/", // production location
"../../CommonFiles/" // development location
);
//or
IncludeCommonFile = Function({file},
Try(Include("../CommonFiles/" || file), Include("../../CommonFiles/" || file));
);
這將為您提供以下結構,如果我要添加共享文件夾功能,我*認為*會起作用。 我能想到的一個小問題是,如果您在 Source 中有其他文件夾,那麼 Include 函數將不起作用,或者您需要使用 directory 變量在您的包含中添加額外的“../”。
Addin_1.jmpaddin
|_Source
|_Code.jsl
|_CommonFiles
回复:加載項管理器你好@賈斯汀_奇爾頓,
我剛剛發現了您的加載項管理器並且很感興趣。 多年來,我一直在手動管理加載項,包括手動編輯 .jmpcust 文件。 我看到了使用您的插件管理器讓我的生活更輕鬆的機會。 但是,我想知道如何讓它支持我想做的事情。
我將參考建議的文件夾結構的附圖。 想法是有一個包含 JMP 代碼的文件夾,我們在這裡將其稱為 RepositoryRoot。 此文件夾位於 GIT 實驗室存儲庫中,並在兩個或多個 JSL 開發人員之間共享和同步。
每個開發人員在存儲庫中都擁有一個插件。 我們稱它們為 Addin_1 和 Addin_2。 這些加載項位於存儲庫中各自的子文件夾中。
在存儲庫中還有一個我們將稱為 CommonFiles 的文件夾,其中包含兩個插件都使用的一些標準 JSL 庫文件。
這些標準庫文件包含在各個加載項中,例如 Addin_1\Source 中的 JSL 文件可能有如下行
包括(“..\..\CommonFiles\LibraryFile1.jsl”);

所以問題是我們如何通過 Add-in Manager 來利用這個結構? 我遇到了兩個可能的選項的問題:
1) 如果在加載項管理器中我讓“RepositoryRoot”作為源文件夾,那麼它會在 RepositoryRoot 中創建 Addin.def 和 Addin.jmpcust。 這不起作用,因為我們在給定的源文件夾中只能有一個 addin.def,並且我們希望與不同的開發人員擁有單獨的加載項,但共享代碼。
2) 如果我讓“RespositoryRoot\Addin_1\Source”作為源文件夾,那麼 addin.def 和 addin.jmpcust 會在 Addin_1 的子文件夾的 Source 文件夾中創建。 這很好,因為它包含在自己的文件夾中。 但是,我看不到任何將 CommonFiles 文件夾從目錄樹中的兩個級別添加到加載項的方法。 該代碼需要該公共文件夾,但我們希望將其保持在更高級別以進行代碼共享和同步。
我知道,在發布插件之前,最終“CommonFiles”文件夾確實必須複製到每個最終的 .jmpaddin 文件中。
希望我們能找到一個插件管理器功能來為我們管理它。 我們的替代方法是手動創建 .zip 文件並按照我們需要的方式設置文件夾結構,然後在發布之前將擴展名更改為 .jmaddin。
如果您有想法或考慮讓加載項管理器支持此功能,那就太好了。
非常感謝
湯姆
回复:加載項管理器感謝你的回复@賈斯汀_奇爾頓! 我最終為 jmp 實施了一個淺色主題,以完全避免顏色問題。 我會嘗試你的建議,點擊退出鍵來解決延遲時間。
回复:加載項管理器你好@alavy ,
我不確定響應時間慢是怎麼回事。 我將不得不做一些進一步的調查,看看是我的插件有問題還是 JMP 有問題。 但是,我確實找到了一個不錯的解決方法。 第一次單擊文本編輯框時,按住退出鍵直到文本不再處於焦點。 現在,所有編輯框在您單擊它們後都應該可以正常工作了。
至於配色方案,我不確定是什麼原因造成的。 2.5 之後的任何版本的加載項都應該具有適合深色主題的顏色。 我認為重現該問題的唯一方法是在 JMP 打開時從淺色主題切換到深色主題。 我總是得到灰色主題的下面的視圖。

回复:加載項管理器嘿@賈斯汀_奇爾頓,
我在 MacOS 上運行的 JMP 15.1 上使用 v2.9 插件。 每當我需要在插件的任何文本框中輸入文本時,都會遇到非常慢的響應時間。 這太慢了,以至於使加載項無法使用。
第二個較小的問題是,所有配色方案都不適用於在暗模式下設置的 JMP。 文本框中的文本顏色太淺,無法根據背景顏色閱讀。

回复:加載項管理器@賈斯汀_奇爾頓我相信我確實具有寫入權限,因為我可以看到舊插件已正確存檔並且新插件已更新,但我仍然看到錯誤。 我不確定具體是哪一步失敗了。 關於已安裝的網絡驅動器,不幸的是,我可能對此不太了解。 我不確定這個狀態,但也許我可以詢問周圍的同事以了解更多信息。
回复:加載項管理器@Djtjhin ,聽起來很可能與它是共享點位置有關。 您能否通過在文件資源管理器中創建文件來確認您對該位置具有寫入權限? 即使您有權限,JMP 也可能沒有作為應用程序的權限。 您是使用常規網絡路徑還是通過已安裝的網絡驅動器保存? 將 sharepoint 服務器掛載為網絡驅動器可以解決權限問題,因為 JMP 可以只保存到掛載的驅動器。 對於常規網絡路徑,可能需要憑據,這是 JMP 不支持的。
回复:加載項管理器感謝您澄清賈斯汀!
跟進問題,我在嘗試部署到生產環境時收到以下錯誤消息。 目標文件夾實際上是一個共享點。 我不確定這是否是原因,或者是否有解決方法。
錯誤信息:
{“文件未在寫入模式下打開。 "(1, {1}, 2, "保存文本文件", 保存文本文件 /*###*/(filepath, str))}
錯誤:文件未在寫入模式下打開。
1 次。
數據表索引:1
類型:錯誤
函數名稱:保存文本文件
正在執行的函數:保存文本文件 /*###*/(filepath, str)
調用堆棧:
部署選定
回复:加載項管理器@Djtjhin ,
我建議將語句放在每個命令中,以便在使用插件時進行檢查,而不是每次用戶啟動 JMP 時進行檢查。 此外,在啟動時更新加載項存在問題,因此當用戶單擊加載項命令時這樣做是一種更安全的方法。
回复:加載項管理器@賈斯汀_奇爾頓我可以澄清一下您之前提供給 Sebastien 的回复嗎? 那麼,如果我將自動更新語句(如下)放在“啟動腳本”(快照)中,它會起作用嗎? 或者我們應該只在每個命令腳本下包含自動更新語句?
Include( "$ADDIN_HOME(com.jmp.myaddin)\updateCheck.jsl" );
com.jmp.juchil.addinmanager:checkForUpdate();

謝謝
丹尼爾
回复:加載項管理器已確認,再次生效,謝謝!
回复:加載項管理器謝謝@pauldeen .我認為有幾個不同的因素相互衝突。 一方面,該錯誤應該在最終的 JMP 16.0 版本中得到解決,但在 EA8 中存在。 此外,這個錯誤可能是因為您的語言環境不支持我使用的日期格式。 為了解決這個問題,並且對區域設置更加友好,我更新了一些我格式化日期的地方,以使用區域設置日期時間而不是特定格式。 這應該可以修復錯誤並以更友好的格式放置日期。
回复:加載項管理器感謝對文件夾的 2.8 修復!
我有一個新的給你:
打開加載項管理器,選擇一個加載項:

運行 JMP 16EA8。
在 Windows 10 下的 JMP 15.2.0 上同樣的事情沒問題
回复:加載項管理器@賈斯汀_奇爾頓謝謝! 我會試試的。
回复:加載項管理器@pauldeen ,我剛剛上傳了一個新版本 (v2.8),它修復了您看到的子文件夾問題。 我還添加了一個複選框選項來自動為您創建一個文件夾,就像您最初期望的那樣。
回复:加載項管理器@Sburel , 您可以將該代碼添加到您想要檢查更新的任何位置,例如在菜單項命令的開頭。 這可以使得當用戶單擊命令時,它會在啟動加載項之前檢查新版本。
如果我沒記錯的話,在 addinLoad.jsl 文件中使用此代碼存在問題,這將導致它在 JMP 啟動時進行檢查,但是在加載項時重新安裝加載項存在問題仍在加載中。 這個問題可能仍然是問題,也可能不是問題。
-賈斯汀
回复:加載項管理器@賈斯汀_奇爾頓
真的很酷的插件。 工作得很好。但是,我一直在努力使用自動更新功能。 特別是,我對添加以下代碼片段的適當文件/位置感到困惑
Include( "$ADDIN_HOME(com.jmp.myaddin)\updateCheck.jsl" );
com.jmp.juchil.addinmanager:checkForUpdate();
最好的
塞巴斯蒂安
回复:加載項管理器@賈斯汀_奇爾頓啊,是的,創建一個空文件夾會讓你通過這個屏幕。 文件夾的名稱似乎並不重要,只有它是空的這一事實。
在測試中,我發現了另一個錯誤:
如果我使用您的加載項管理器 v2.7.jmpaddin 並創建空文件夾,然後像這樣加載它,我會通過添加屏幕但出現一個大錯誤:其他包含子文件夾的加載項也會發生同樣的情況.

回复:加載項管理器@pauldeen源文件夾也是 jmpaddin 文件將被解壓縮的地方(我可能應該讓它自動創建文件夾,但我想我沒有)。 我建議在“Desktop”文件夾中創建一個名為“ASM Training Material”的文件夾並將其設置為源文件夾。 源文件夾中不能有任何內容,因為它最終都會壓縮在加載項中。
回复:加載項管理器@賈斯汀_奇爾頓從現有的 .jmpaddin 文件添加加載項時,我們在此屏幕上有一個錯誤:

您不能將源文件夾留空,如果您將任何內容放在那裡,您會收到警告,從 jmpaddin 文件開始時它需要為空。
回复:加載項管理器奇蹟般有效。 謝謝海寧
回复:加載項管理器你好@vohwinkelh0 ,
感謝您報告此事。 幾天前我看到了這個錯誤,你的評論提醒了我,所以我終於能夠用其中一個文件/目錄函數將問題追溯到一個錯誤。
我已更新此頁面上的加載項以暫時解決此問題,但我也在 JMP 中指出了該問題,以便我們可以在 JMP 16 發布之前解決它。
謝謝,
賈斯汀
回复:加載項管理器賈斯汀,
作為 JMP16EA 程序的一部分,您的加載項出現錯誤。 你想讓我在那裡提交錯誤報告還是我應該在這裡發布?
亨寧
回复:加載項管理器非常感謝分享……下週試試。
回复:加載項管理器@guillaumebugnon所以我在for循環中使用這個函數來加密腳本。
encryptScript = Function({filepath},
{defaultLocal},
errortxt = "";
winCount = N Items (Window ());
scriptWin = Open (filePath);
scriptWin << Bring Window to Front;
Wait (1);
Main Menu ("Encrypt Script");
windowList = Window ();
encryptedWin = windowList[nitems(windowList)]; // get reference to encrypted script window (i.e. the last window)
//TODO: Implement without Try
Try (
encryptedScript = encryptedWin[Script Box(1)] << Get Text;
save text file(filePath, encryptedScript);
ConsoleMsg("File Encrypted: "||filepath); // hoping this goes to stdout
,
errortxt ||= char(exception_msg) || "\!r\!n";
);
Try (scriptWin << Close WIndow());
Try (encryptedWin << Close WIndow());
Return (errortxt)
);
然後我還有一個自動腳本通過並輸入密碼並按回車鍵。
這絕對不是一個完美的解決方案,您的願望清單項目會更好。
回复:加載項管理器@pauldeen ,
感謝您報告自定義菜單加載項的問題。 我剛剛上傳了一個可以解決這個問題的新版本。
-賈斯汀
回复:加載項管理器@賈斯汀_奇爾頓感謝您的回答。
擁有一個可以加密其他 jsl 文件(或其他方式)的 jsl capabale 函數可能會很有用。
我看了@vince_faller今天上午(法國時間)的演講。 好東西。
我們也有一些 Devops 流程,但需要更多的自動化。
紀堯姆
回复:加載項管理器
@guillaumebugnon ,
@vince_faller可能有一些關於加密腳本的提示。 但是,我需要向加載項管理器添加一項功能,以便能夠在壓縮過程之前修改要添加的文件。
我認為@vince_faller昨天還做了一個演示/網絡廣播,可能對你有用: https://www.brighttalk.com/webcast/18305/412912
- 賈斯汀
回复:加載項管理器大家好,
在將腳本壓縮到 jmpaddin 文件之前,是否有人有加密腳本的提示或經驗?
謝謝
問候,
紀堯姆
回复:加載項管理器
在 JMP15 Windows 10 上運行,插件管理器無法再從現有插件解析菜單結構。
重現:創建一個新插件並使用自定義重命名頂級菜單。 創建命令並保存插件定義。
關閉插件管理器,重新打開並嘗試查看剛剛創建的插件的菜單項選項卡(確保在查看任何其他插件菜單結構之前先查看此選項卡)。
要使其正常工作,請創建第二個加載項,您不要更改頂部菜單項,而是將其保留為默認的“加載項”。 保存此插件。 關閉加載項管理器,再次打開,先查看默認頂層名稱的菜單結構,然後再查看自定義的菜單結構。 這一切都再次起作用。
回复:加載項管理器#2 從 JMP15/OSX15 開始,但我還沒有嘗試過 2.4,我會回复你。
回复:加載項管理器謝謝,賈斯汀!!
回复:加載項管理器你好@john_madden ,
感謝您與我們聯繫並為延誤道歉。
#1 應該在我剛剛上傳到這裡的 v2.4 中解決。
對於 #2,我無法在 Windows 上複製此問題,但我將在 Mac 上進一步調查。 您是否碰巧知道此問題是從特定的 JMP 版本號(即 JMP 14/15)還是從 macOS 版本(10.14/15)開始的,還是一直發生在您身上?
謝謝,
賈斯汀
回复:加載項管理器嗨賈斯汀,
我在 JMP 15/Mac OS 10.15 下的加載項管理器有幾個問題。
(1)【trivial】最大/最小JMP版本選項需要包含15個
(2) [不那麼瑣碎] 在管理器內的多個窗格中的文本框中輸入文本似乎(部分)損壞了。 我可以通過粘貼輸入文本(例如加載項名稱、版本等),但不能通過鍵入。
謝謝。
約翰·馬登
回复:加載項管理器您好,在手動管理更改多年後,我開始使用加載項管理器。 但是,我最近遇到了菜單項不可見的問題,我最近更新到 JMP 14.3.0,不確定這是否相關。 我以前對此沒有任何問題。
如您所見,標記的構建或部署中沒有錯誤,因此我對正在發生的事情感到茫然。
感謝任何幫助或建議,因為我真的不想從頭開始重建它。
問候,
德里克。

回复:加載項管理器嗨亞當,
對延遲回复表示歉意。 根據您在刪除嘗試時看到的錯誤消息,我認為 updateCheck 腳本能夠找到 customMetadata 文件的假設是正確的。 我知道你在哪裡有'
aa = 包括( “$ADDIN_HOME(com.jmpTest.myjmpaddin)\customMetadata.jsl” ) ;'腳本的一部分。 但是,您實際上並不需要在其中包含該文件。 相反,您想更改 updateCheck.jsl 腳本中的包含。 它應該如下所示(在第 11 行附近)。
customMetadata_aa = Include( "<SPAN>$ADDIN_HOME(com.jmpTest.myjmpaddin)\</SPAN>customMetadata.jsl" );
如果您有任何其他問題,請告訴我。
問候,
賈斯汀
回复:加載項管理器你好賈斯汀,
由於這是我的第一個加載項,而且我在 JMP 體驗方面還是個嬰兒(大約 11 個月的使用時間),我現在可能會在激活更新檢查功能時開始問一些簡單的問題。我創建了一個簡單的測試插件,只關注更新功能,這樣我就可以在將它應用到我更健壯的程序之前理解這個功能。
劇本:
aa = Include( "$ADDIN_HOME(com.jmpTest.myjmpaddin)\customMetadata.jsl" );
Include( "$ADDIN_HOME(com.jmpTest.myjmpaddin)\updateCheck.jsl" );
com.jmp.juchil.addinmanager:checkForUpdate();
New Window ("Test 3",
Panel Box ("Test 3",
Text Box("Test 3")
)
);
回答您的問題:
- 我是否設置了“創建元數據文件”首選項?
- 我確實為“創建元數據文件”選中了複選框,但我的腳本中沒有包含包含語句的自定義元數據代碼。如上所示,我已將這行代碼添加到更新檢查代碼之前的行中,但它並沒有解決問題。
- 我的插件的目錄結構是什麼?
- 在 Add-In Manager 窗口的中間部分,在 Files 選項卡下,addin.def、addin.jmpcust、customMetadata.jsl 和 updateCheck.jsl 都存在於同一個文件夾中。該文件夾與插件文件本身 (.jmaddin) 位於同一父文件夾中。
- 此文件夾存在於我的 C 盤上,而不是服務器上。我應該也將這些文件保存到服務器嗎?
- 在底部的 Prod 選項卡中,我將所有三個選項都保存到服務器位置。他們每個人都有自己的文件夾,並且所有三個文件夾都存在於同一個父文件夾中。
- ARCHIVE – 僅包含我部署時加載項的先前迭代。
- META – 僅包含文件 publishedAddins.jsl
- PROD – 僅包含插件安裝程序文件 .jmaddin
- 註釋掉“Try()”時收到什麼錯誤消息
- 我收到錯誤消息“文件錯誤:路徑無效:\customMetadata.jsl”
- 我嘗試將上述位置路徑從 $ADDIN_HOME... 語言更改為我的 C 驅動器上的確切位置,因為它在文件選項卡(中間部分)中被調用。它沒有幫助,我收到了同樣的錯誤信息。
謝謝您的幫助!
-亞當
回复:加載項管理器你好@Adam_R ,
感謝您在細節方面所做的所有工作! 幾個問題和要嘗試的事情:
- 您是否在“自定義元數據”首選項組下設置了“創建元數據文件”首選項? 此文件是更新腳本通過所必需的。
- 您的插件的目錄結構是什麼樣的? 腳本是否在較低級別的文件夾中調用“com.jmp.juchil.addinmanager:checkForUpdate”? 如果是這樣,updateCheck.jsl 文件期望它位於從中調用該文件夾的同一文件夾中,從而使該函數不起作用。 解決方法是在插件的根級別添加另一個 JSL 文件(與 customMetadata.jsl 和 updateCheck.jsl 相同),該文件調用 updateCheck 函數並將該文件包含在較低級別的 JSL 腳本中。 另一種選擇是編輯 updateCheck.jsl 腳本以使用 '$addin_home(com.jmp.myaddin)/customMetadata.jsl' 而不僅僅是相對文件名。 如果這是問題所在,我可以更新插件以使其更加靈活,而不那麼依賴於調用函數的默認目錄。
- updateCheck.jsl 腳本已實現,因此它會使用 Try() 靜默失敗,以免與加載項的工作流程發生衝突。 所以,如果前兩個建議都沒有解決它,您能否註釋掉 updateCheck.jsl 文件中的 Try() 並讓我知道您在嘗試檢查更新時收到什麼錯誤消息?
如果您有任何問題,請告訴我。
問候,
賈斯汀
回复:加載項管理器你好賈斯汀,
Add-In Manager v2.3 對我來說在各個方面都運行良好,但其中之一是,我無法讓 updateCheck 正確推送更新。一些事實:
- 我在更新檢查之外的代碼運行正確。
- 我的 PROD 文件夾“元數據”和“部署”都位於同一父文件夾下的服務器位置,並且我已驗證用戶可以訪問它們。
- 在首選項部分中,我選擇了“包含更新檢查腳本”,並將本部分中提供的包含語句複製到我的代碼中。我已從 (com.jmp.myaddin) 編輯此語句的加載項 ID 部分以匹配我的加載項。我沒有在此語句中編輯任何其他內容,也沒有在 updateCheck.jsl 腳本中編輯任何內容。
- 對加載項進行更改並部署到 PROD 時,我已驗證元數據服務器文件中的 publishedAddins.jsl 文件中的“pubDate”已隨每次部署而更改
- 我讓用戶下載了位於 PROD 文件夾中的文件的現有版本,關閉 JMP,重新打開 JMP,並成功運行加載項。
- 我已將更新的迭代部署到 PROD,驗證 pubDate 已更改,並請求之前的用戶重新打開 JMP 並運行現有的加載項。永遠不會提示用戶更新加載項。
- 我讓同一個用戶進入 PROD 文件夾並重新安裝加載項,它已成功更新加載項。
回复:加載項管理器嗨奧布里,
updateCheck.jsl 腳本中的 Include 語句使用 customMetadata.jsl 文件的相對路徑。 只要這兩個文件都在同一個文件夾中,它應該可以正常工作。 您的加載項的文件夾結構是什麼樣的?
如果您需要在此公開帖子上發送您不想要的任何內容,請隨時給我發送私信。
謝謝,
賈斯汀
回复:加載項管理器賈斯汀,
我遇到了自動更新功能的問題。我已將問題追溯到 updateCheck.jsl 腳本。
以下行失敗,然後 try 語句退出。
customMetadata_aa = Include("customMetadata.jsl" );
如果我將以下內容添加到文件路徑中,則沒有問題,並且看起來事情像宣傳的那樣工作。
$ADDIN_HOME(my_addin_here)
我應該為每個插件都這樣做還是應該是自動的?
謝謝,
奧布里
回复:加載項管理器賈斯汀,
2.3 版在我的 Mac 上就像一個魅力!謝謝!!!
約翰
回复:加載項管理器@賈斯汀_奇爾頓謝謝! 我會試試看。
回复:加載項管理器@john_madden ,
感謝您報告此事! 看起來您使用的是 Mac,並且您必須重命名或刪除了您的源文件夾之一。 我現在添加了一個檢查(v2.3)所以它不應該再失敗了。
回复:加載項管理器@內森克拉克,
如果您仍有 1.3 版的加載項,您可以更改該版本的 ID 和菜單項名稱,並將其與新版本一起使用。 版本 1 允許您使用複選框一次構建多個,並且應該能夠與版本 2 使用的數據表掛鉤。 v2.0 中有很多架構更改,所以不幸的是我不得不刪除複選框。 我把它放在我的清單上,以便將來添加。
回复:加載項管理器嗨賈斯汀,
在 JMP 14.0.1 中,我不斷收到此錯誤:
錯誤消息:{"argument should be list"(1, 2, "Concat Items", Concat Items /*###*/(errorList, " "))} 錯誤:參數應該是 list 1 次。 類型:錯誤函數名稱:Concat Items 正在執行的函數:Concat Items /*###*/(errorList, " ") 調用堆棧:getLastModifiedDateOfNewestFile getStatusIcon refreshAddinTableBox initialize
有任何想法嗎? 這是經理 2.2。
約翰
回复:加載項管理器@賈斯汀_奇爾頓
再次感謝這個插件。 我終於跟上了新版本的速度,並利用了你對我手動操作的一些改進:)我的一個問題是,我不確定這是否可能,是能夠一次構建多個插件。 我知道信息和目錄的底部面板是特定於插件的,但如果選擇了多個插件,這些面板可能會消失。 然後所有選擇的都可以是 DEVd/Deployed/etc。
我現在管理 40 多個插件,而且我經常批量更新,所以能夠一次完成一堆所有插件會很棒!
回复:加載項管理器這次真是萬分感謝! 現在創建和更新插件非常容易,以至於我開發和改進自己的插件比使用這個工具之前的黑暗時代更頻繁。
回复:加載項管理器我想變得如此優秀和慈善,並感謝 JMP 開發人員提供了我喜歡教授的軟件程序的第 13 版。 我從 5.0 版開始就擁有了它,它有很好的紙質手冊,老實說,自從那個版本以來,沒有任何東西對我有任何價值。 但是像我一樣熱愛 5.0 版本,我每年都開心且心甘情願地升級。 然後ROC-Curve & 部分曲線下面積分析腳本出現了,在 JMP12 中很漂亮。 我已經設置了一個教學課程來向我的學生展示 ROC 曲線......我升級到 v13...... 現在它不顯示曲線了。噓。
回复:加載項管理器你好@tejvishnu ,
是的,安裝此插件需要 JMP 13。 不幸的是,我無法使這個插件與 JMP 12 兼容。 我已更新帖子以包含此信息。
謝謝,
賈斯汀
回复:加載項管理器我的插件似乎沒有安裝計算機。 這似乎是一些最近上傳的加載項的問題。 此插件是否需要 JMP-13?
我的電腦上有 JMP 12.2。