揚聲器 | 成績單 |
| 約翰摩爾 | 嗨,謝謝你加入我。 我的名字是 John Moore,今天我們將討論 Lupin,這是我為創建、發布、管理和監控 JMP 插件而開發的一個框架。 |
| 所以首先是關於我的一點點。 我的名字是約翰摩爾,我的學位是工程和管理,但實際上我是個數據極客。 在過去的 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 來說非常重要。 |
| 第一個是,您將添加到 depot 文件夾中。 因此,這是一個包含所有插件的文件夾,以及包含有關這些插件的元數據的 PublishedAddins.jmp 文件。 |
| 我們需要考慮的另一個是我們的中央日誌文件夾。 因此,這個文件夾將包含人們每次執行 Lupin 託管腳本時創建的所有上傳日誌文件。 |
| 因此,您可以在這裡看到,我們在已發布的插件文件中提供了所有插件的示例。 這裡只是一個例子 |
| 日誌文件。 所以每個日誌文件都有一個唯一的 ID。 我們稍後會談到這一點,但每當我們進入並抓取這些內容時,我們只會抓取新的,因此您不必每次都下載所有內容。 |
| 所以一旦你決定了你想把它們放在哪裡,那麼我們需要告訴 Lupin 這些在哪裡。 我們這樣做的方法是在你解壓後進入那個 Lupin 文件夾, |
| 在 add in management 子文件夾下,您會看到名為 setup 的文件,這是要在 setup 中查找的部分。 |
| 因此,您可以在這裡定義我們的 add in depot 路徑和我們的中央日誌路徑。 現在在生產中,您需要擁有這些網絡位置,但對於這個簡單的小示例,我只是在我自己的機器上創建了這些,但這是您定義網絡路徑的地方。 |
| 完成此操作後,現在是為您自己的組織構建 Lupin 的時候了。 因此,在 Lupin 文件夾中,您想要獲取所有內容,除非您在其中有一個 gitattributes 文件。 我使用 GitHub Desktop 來管理我的 |
| 腳本。我強烈推薦它。 它讓我的生活變得更好了。 但是你不想把它們放在你的腳本中,所以抓住除了 gitattributes 文件之外的所有東西。 你要右鍵點擊那些,說發送到和 |
| 將它們發送到壓縮的 zip 文件夾。 這將創建所有這些的 zip 文件。 現在 JMP 添加文件實際上只是 zip 文件。 所以我們要做的是重命名 Lupin.jmpaddin。 |
| 一旦你命名它,你只需雙擊那個東西,它就會安裝它。 然後你的機器上就會有 Lupin。 現在我們還不會對它做任何事情,但它就在那裡。 如果您在菜單欄上查找,您會看到 Lupin。 |
| 接下來,讓我們談談Lupin Manager。 這是一個單獨的插件,專為管理人員設計, |
| 並跟踪和更新組織內的所有插件。 所以這可能不會出現在您的典型用戶的機器上,只是因為 |
| 這沒用。 因此,它所擁有的是一組工具,可以幫助您……您作為經理管理插件。 |
| 當你打開 Lupin Manager 時,你做的第一件事就是去設置,然後我們會說 |
| 我們的唯一用戶文件,該文件獲取您組織中的所有唯一用戶和日誌數據。 |
| 好的,所以唯一用戶錶鍊接了用戶 ID。 所以我們正在從您的計算機中獲取用戶 ID |
| 身份,但通常那些不會說什麼特別有意義的話。 例如,我的是 00126545。 |
| 我們想把John Moore 說的東西聯繫起來。 這就是用戶唯一用戶所做的。 日誌數據文件中每個日誌都有一行。 這是我們之前創建的所有日誌文件的摘要。 所以我們可以盡情地分析這些。 |
| 好的,假設您想開始使用 Lupin Manager。 |
| 您需要做的第一件事是告訴它您要管理哪些插件。 為此,我們將構建插件,然後繼續管理可用的插件。 |
| 然後這將是空白的。 當您到達它時,單擊添加插件,您可以選擇包含要控制的插件文件的文件夾。 |
| 完成後,您會看到這些將列在可用的加載項中,單擊構建加載項。 好的,所以你有兩個選擇。 構建插件只是要創建 |
| 腳本所在文件夾中的添加文件,因此這對於測試等非常有用。 我想做一個快速構建,以便我可以測試它是否有效。 |
| 構建和發布將做同樣的事情,但它也會使用該插件,將其複製到您的插件倉庫文件夾並更新您發布的插件文件。 因此,這是您準備將其分發給公司的時候,您已經完成了測試,可以開始使用了。 |
| 現在,如果您想導入所有日誌數據,您所要做的就是導入和處理日誌數據,它將引入所有新的日誌文件並將它們添加到您的日誌數據文件中。 |
| 我們在這裡有一個用戶摘要,它只是一個快速表格,說明誰在使用哪個插件。 因此,這可以讓您快速了解 |
| 誰是我最大的用戶。 你知道在這裡我們可以看到,對於這個例子,Lupin 和 LupineManager 使用了很多;羽扇豆Example1 some;盧平例如,沒那麼多。 |
| 好的,假設你已經安裝了 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 作為其中的標準腳本,但是當你得到它時,你會看到它指向 |
| 這個模板添加,這不是你想要的。 您有自己想要的添加名稱。 所以我們要做的是點擊這個文件中的運行添加。 |
| 單擊此使用添加文件夾,然後在此處選擇您想要的此添加。 這會將 JMP 指向您剛剛創建的新腳本。 然後我們可以點擊瀏覽。 |
| 然後我們可以瀏覽和導航並轉到我們想要的特定腳本並說:“不,不,我不想在模板中使用它。 我希望你在我的新插件中使用它。” |
| 同樣,我們可以對菜單中的新項目做同樣的事情。 |
| 一旦你完成了這些,實際上它只是放入我們想要的其餘部分。 |
| 如果您在藍色區域上單擊鼠標右鍵,您將看到插入之前、插入之後的這些選項,您可以在其中添加內容或從菜單中刪除內容。 |
| 所以你可以添加東西,其中大部分都是命令。 你也可以做一個子菜單,這樣它就可以更深入,或者你可以在它那裡放置一個分隔符,使它成為一個很好的小線。 |
| 因此,您將構建您的菜單,將您...用於您剛剛創建的腳本的所有項目放在那裡。 |
| 然後我們要保存它,但我們要保存它兩次。 |
| 當您將其保存在此處時,只需將其更改為安裝在您機器上的插件版本即可。 |
| 這很好,但我們還需要將它保存到您正在構建插件的文件夾中。 所以我們需要把它保存在那裡,這樣下次我們構建插件時,它就有正確的菜單文件。 |
| 因此,在我們單擊保存後,我們將單擊另存為並轉到包含我們的附加文件的文件夾。 |
| 好的,所以我們有我們的腳本。 我們已經定義了 addin.def,我們已經完成了我們的菜單。 |
| 接下來我們需要做的是實際構建這個東西並測試它。 因此,通常情況下,我會將其發送給用戶。 他們可以告訴我什麼有效,什麼無效。 |
| 之後,我可以進去並實際發布它。 因此,當您進入並發佈時,它會提示您說,更新信息。 |
| 最重要的是,這在 Lupin Manager 中,最重要的是更改發布日期。 所以這就是讓人們知道有一個更當前的 |
| 版本可用,對。 所以它......將會發生的事情是將它與未發布的日期進行比較,這就是 Lupin 將要使用的內容並說,嘿,有一個更新的版本供您上傳。 |
| 因此,您還可以像修訂註釋一樣添加註釋。 這些是我這次改變的東西。 這些是我對插件所做的重大更新和事情。 一旦你這樣做了,如果你點擊發布, |
| 然後 Lupin Manager 將復制該插件,將其放在創建插件的文件夾中,您可以在其中找到源代碼。 |
| 它還將它發佈到插件庫,並將更新已發布的插件文件以具有最新版本, |
| 其中最重要的是你的發布日期。 然後,如果你,如果用戶點擊檢查更新,它會說,嘿,這個插件有一個可用的新版本,你想下載它嗎? 他們可以點擊它,它會安裝它,它會在你的機器上......在他們的機器上。 |
| 好的,這是一個非常簡短的介紹。 |
| 我希望這裡有足夠的材料供您自己完成。 如果沒有,請通過 john_moore@elanco.com 與我聯繫。我很樂意幫助您進行設置。 |
| 非常感謝,再次感謝。 再見。 |