揚聲器 | 成績單 |
| 約翰摩爾 | 嗨,謝謝你加入我。 我叫 John Moore,今天我們將討論 Lupin,這是我為創建、發布、管理和監控 JMP 插件而開發的框架。 |
| 所以首先只是關於我的一點點。 我叫 John Moore,我的學位是工程和管理,但我本質上是一個數據極客。 在過去的 19 年裡,我一直在 Elanco Animal Health 擔任分析師。 |
| 我有一個兒子、一個丈夫、一隻狗,目前大約有 80,000 只蜜蜂。 |
| 所以,你知道,我們是怎麼到這裡的? 在 Elanco,我們有 TC,他們是技術顧問,通常像遍布全球的獸醫或營養師,讓他們使用 JMP 並使用 JMP 腳本。 |
| 許多這些 TC 只能間歇性地訪問互聯網,因為他們太偏遠了。 |
| 因此,我們有點處於一種狀態,即我們在人與人之間傳遞臨時腳本。 沒有版本控制。 不知道誰在使用什麼腳本。 |
| 發布腳本很困難,更新腳本也很困難。 所以我創建了 Lupin,試圖讓我們達到一種狀態,我們擁有標準化的腳本,我們擁有版本控制,我們可以很容易地知道誰在做什麼,誰在使用哪些腳本。 |
| 我們可以輕鬆地分發更新,作為額外的好處,我們將幾個公式放入公式編輯器中。 |
| 因此,讓我們在這裡看看盧平。 好吧,一旦你安裝了 Lupin,你就會看到它是否有什麼用處。 JMP 上只有一個 Lupin 菜單,您只能檢查更新。 |
| 當您查看檢查更新時,您會看到它會列出所有由 Lupin 控制的加載項。 |
| 如果它不是最新的,它會說是最新的。 如果它是最新的。 它只會說,好的,所以這很簡單。 只是說,這是可用的插件。 你有沒有最新版本? |
| 同樣在公式編輯器中,只是因為我們發現自己經常使用這些特定的公式,比如月/年,它會返回 |
| 日期的月份已經傳遞給它。 我們有季度,我們有季節。 我們還有計數器週,您可以在其中做一些事情,比如一周開始、一周結束,做這些事情。 |
| 同樣在 Lupin 中,我們有使用記錄。 因此,每次用戶使用由 Lupin 管理的腳本時,我們都會創建一個日誌文件。 所以我們知道誰使用了什麼腳本以及在什麼時間戳添加了什麼。 這確實有助於我們弄清楚哪些腳本有用,哪些沒有用。 |
| 因此,假設您想在您的組織中設置 Lupin。 |
| 好的,第一步我們要下載一些 zip 文件。 我們有一個 Lupin zip 文件、一個 Lupin 管理器和一個 Lupin 模板。 |
| 我們也有盧平的例子。 所以我建議你在某個地方找到一個文件夾,然後在那裡下載其中的三個。 |
| 作為設置此設置的經理,您需要決定的下一件事是,我要把我的網絡文件夾放在哪裡? 有兩個網絡文件夾對 Lupin 來說非常重要。 |
| 首先是,您要添加到倉庫文件夾中。 所以這是一個將包含所有加載項的文件夾,以及包含有關這些加載項的元數據的 PublishedAddins.jmp 文件。 |
| 我們需要考慮的另一個是我們的中央日誌文件夾。 所以這個文件夾將包含人們每次執行 Lupin 託管腳本時創建的所有上傳的日誌文件。 |
| 所以你可以在這裡看到,我們在發布的插件文件中有一個所有插件的示例。 這只是一個例子 |
| 日誌文件。 所以每個日誌文件都有一個唯一的 ID。 我們稍後會討論這個,但是每當我們進入並獲取那些時,我們只會獲取新的,這樣您就不必每次都下載所有內容。 |
| 所以一旦你決定了你想把它們放在哪裡,我們就需要告訴盧平它們在哪裡。 我們這樣做的方法是進入那個 Lupin 文件夾,在你解壓之後, |
| 在 add in management 子文件夾下,您會看到這個名為 setup 的文件,這是在 setup 中要查找的部分。 |
| 所以這裡是您定義我們的添加倉庫路徑和我們的中央日誌路徑的地方。 現在在生產中,你需要有這些網絡位置,但只是為了這個簡單的小例子,我在我自己的機器上創建了這些,但這是你定義網絡路徑的地方。 |
| 完成後,現在就是為您自己的組織構建 Lupin 的時候了。 所以在 Lupin 文件夾中,你想要獲取所有內容,除非你有一個 gitattributes 文件。 我使用 GitHub Desktop 來管理我的 |
| 腳本。我強烈推薦它。 它讓我的生活變得更好。 但是你不想把它們放在你的腳本中,所以抓住除了 gitattributes 文件之外的所有東西。 你要右鍵單擊那些,說發送到和 |
| 將它們發送到壓縮的 zip 文件夾。 這將創建所有這些的 zip 文件。 現在 JMP 添加文件實際上只是 zip 文件。 所以我們要做的是重命名 Lupine.jmpaddin。 |
| 一旦你給它命名,你只需雙擊那個東西,它就會安裝它。 然後你就會在你的機器上安裝 Lupin。 現在我們還不打算對它做任何事情,但它就在那裡。 如果您在菜單欄上查找,您會看到 Lupin。 |
| 接下來,我們來說說魯邦經理。 這是一個單獨的插件,專為管理人員設計, |
| 跟踪並更新組織內的所有加載項。 所以這可能不會出現在你典型用戶的機器上,只是因為 |
| 這沒有用。 因此,它所擁有的是一組工具,可以幫助您……您作為經理來管理加載項。 |
| 當你打開 Lupin Manager 時,你做的第一件事就是進入設置,然後我們要說 |
| 我們的唯一用戶文件,它獲取您組織中的所有唯一用戶,並記錄數據。 |
| 好的,所以唯一的用戶錶鍊接了用戶 ID。 所以我們正在從您的計算機中獲取用戶 ID |
| 身份,但通常那些不會說什麼太特別有意義的東西。 例如,我的是 00126545。 |
| 我們想把約翰·摩爾的話聯繫起來。 這就是用戶唯一用戶所做的。 日誌數據文件中的每個日誌都有一行。 所以這是我們之前創建的所有日誌文件的摘要。 所以我們可以盡情地分析這些。 |
| 好的,假設您想開始使用 Lupin Manager。 |
| 您需要做的第一件事是告訴它您要管理哪些插件。 為此,我們將構建插件,然後繼續管理可用的插件。 |
| 然後這將是空白的。 當你到達它時,單擊添加加載項,你可以選擇包含要控制的加載項文件的文件夾。 |
| 一旦你這樣做,你會看到那些將列在可用的加載項中,單擊構建加載項。 好的,所以你在這裡有兩個選擇。 Build add in 只是要創建 |
| 在腳本所在的文件夾中添加一個文件,所以這非常適合測試。 我想做一個快速構建,這樣我就可以測試它是否有效。 |
| 構建和發布將做同樣的事情,但它也會獲取該插件,將其複製到您的插件 depot 文件夾並更新您發布的插件文件。 所以這是當你準備好將它分發給公司時,你已經完成了測試,它已經準備好了。 |
| 現在如果你想導入所有的日誌數據,你所要做的就是導入和處理日誌數據,它會引入所有新的日誌文件並將它們添加到你的日誌數據文件中。 |
| 我們在這裡有一個用戶摘要,它只是一個快速列表,說明誰在使用哪個插件。 所以這可以讓你快速了解 |
| 誰是我最大的用戶。 你知道這裡我們可以看到,對於這個例子,Lupin 和 LupineManager 使用了很多; LupinExample1 一些;盧平的例子,不多。 |
| 好吧,假設你已經安裝了 Lupin,你已經安裝了 Lupin Manager。 現在你有一些你想在 Lupin 下管理的插件。 那麼讓我們來談談這方面的步驟。 |
| 你需要做的第一件事就是去那個添加模板,Lupin 模板文件,我們有並將它複製到某個地方。 所以這包含所有必要的腳本和所有讓 Lupin 與您的插件一起工作的東西。 所以繼續複製它。 |
| 接下來,我們將在這裡完成一些步驟。 首先是我們要編輯 addin.def 文件。 |
| 我們將創建您將在加載項中擁有的所有腳本,或者如果您已經擁有這些腳本,則更新它們。 |
| 構建插件將自定義菜單,使菜單看起來正確。 假設您單擊它,它看起來就像您想要的那樣。 我們將再次構建插件,一旦我們修復了菜單以便我們可以測試它,確保它是正確的。 完成測試後,我們可以發布它。 |
| 那麼讓我們來談談這個 addin.def 文件; addin.def 實際上是一個很小的文本文件,但每個加載項都需要它。 這包含有關加載項的核心重要信息, |
| 它的 ID 是什麼,它的名字是什麼。 因此,您需要進入並編輯它以將其更改為您的加載項的名稱。 |
| 這是一次性的事情。 完成此操作後,您不必為以後的添加更改此設置。 所以這只是一次……您在設置時執行一次。 |
| 接下來,您需要決定我要將哪個腳本放入此插件中? 現在我創建了一個, |
| Lupin 製作日誌文件。 |
| 這就是為使用 Lupin 的任何插件創建日誌文件的內容。 所以這就是實際創建日誌並允許您進行版本監控的內容。 |
| 所以我建議把這個標題放在最後......在你所有文件的開頭。 您將要使用的腳本,因為它將允許您監控事物。 |
| 現在,您已將所有腳本放入其中,接下來要做的就是使菜單文件看起來像您想要的那樣。 現在,它只會說模板。 所以 |
| 我們將首先構建這個東西。 所以就像我們之前構建 Lupin 一樣,我們選擇了除 gitattributes 文件之外的所有內容,右鍵單擊,壓縮,更改名稱。 |
| 我們將做同樣的事情。 然後我們就會有錯誤的菜單,因為現在,它仍然有那個模板菜單。 所以我們需要進入並更新該模板菜單來做我們想做的事情。 |
| 好吧,一旦你安裝了它,你就會看到你的新腳本,你的新添加,模板。 我們要右鍵單擊 |
| 在菜單上,您會看到這個長長的列表。 在底部,我們將看到自定義,我們想要做的就是轉到菜單和工具欄。 好吧,一旦我們到了那裡,你就會看到這樣的東西。 |
| 我們需要做的第一件事就是告訴 JMP,嗯,我們想要編輯什麼。 我們想要編輯與我們的特定插件一起使用的菜單,現在稱為模板。 |
| 所以我們將轉到這個更改按鈕。 單擊它,我們在這裡有很多選擇。 但我們要做的是點擊此處的 JMP add ins 單選按鈕,然後轉到 |
| 我們感興趣的添加。 好的。 現在我只是把它作為模板,但是如果你...因為你已經在 addin.def 文件中改變了它,它就是那個樣子。 |
| 一旦你這樣做了,你將看到的是點點滴滴 |
| 屬於您的加載項的將以藍色顯示在此處的左側。 |
| 所以這就是我們要編輯和更改的內容,以使其成為我們新插件所需的內容。 |
| 那麼讓我們來看看這個。 我將 About 作為標準腳本包含在 What's New 中,但是當你得到它時,你會看到它指向 |
| 此模板添加,這不是您想要的。 您有自己想要的添加名稱。 所以我們要做的是點擊run add in this file。 |
| 單擊此使用添加文件夾,然後在此處選擇您想要的此添加。 這會將 JMP 指向您剛剛創建的新腳本。 然後我們可以單擊瀏覽。 |
| 然後我們可以瀏覽和導航並轉到我們想要的特定腳本,然後說,“不,不,我不想在模板一中使用它。 我希望你在我的新插件中使用它。” |
| 同樣,我們可以對菜單中的新項目做同樣的事情。 |
| 一旦你完成了這些,實際上就是把我們想要的其餘部分放進去。 |
| 如果您在藍色區域上單擊鼠標右鍵,您將看到這些用於插入之前、插入之後的選項,您可以在其中添加內容或從菜單中刪除內容。 |
| 所以你可以添加東西,其中大部分都是命令。 你也可以做一個子菜單,這樣它就可以更深入,或者你可以把一個分隔符放在它使它穿過那裡的漂亮小線的地方。 |
| 所以你要建立你的菜單,把你...為你剛剛創建的腳本的所有項目放在那裡。 |
| 然後我們要保存它,但是我們要保存兩次。 |
| 當您將它保存在這裡時,將要做的只是在您機器上安裝的插件版本中更改它。 |
| 這很好,但我們還需要做的是將它保存到您正在構建加載項的文件夾中。 所以我們需要把它保存在那裡,這樣下次我們構建插件時,它就有正確的菜單文件。 |
| 所以在我們點擊保存之後,我們將點擊另存為並轉到包含我們添加文件的文件夾。 |
| 好的,所以我們有了我們的腳本。 我們已經定義了 addin.def,我們已經制定了菜單。 |
| 我們需要做的下一件事就是實際構建這個東西並測試它。 通常,我會將其發送給用戶。 他們可以告訴我什麼有效,什麼無效。 |
| 在那之後,我可以進去實際發布它。 所以當你進去發布的時候,它會提示你說,更新信息。 |
| 最重要的是,這在Lupin Manager中,最重要的是更改發布日期。 所以這就是讓人們知道有一個更當前 |
| 版本可用,正確的。 所以它...將要發生的是將它與未發布的日期進行比較,這就是 Lupin 將要使用的內容,並且說,嘿,有一個更新的版本供您上傳。 |
| 所以你也可以像修改註釋一樣給它添加註釋。 這些是我這次改變的東西。 這些是我對我的插件所做的重要更新和事情。 一旦你這樣做了,如果你點擊發布, |
| 然後 Lupin Manager 將獲取該插件的副本,將其放入創建插件的文件夾中,您可以在該文件夾中獲得源代碼。 |
| 它還會將其發佈到插件倉庫,並將更新已發布的插件文件以具有最新版本, |
| 其中最重要的是,您的發布日期。 然後,如果你,如果用戶點擊檢查更新,它會說,嘿,這個插件有一個可用的新版本,你想下載它嗎? 他們可以點擊它,它會安裝它,它會在你的機器上……在他們的機器上。 |
| 好的,這是一個非常簡短的介紹。 |
| 我希望這裡有足夠的材料供您自己完成。 如果沒有,請通過 john_moore@elanco.com 與我聯繫。我很樂意幫助您進行設置。 |
| 非常感謝,再次感謝。 再見。 |