| 揚聲器 |
文字稿 |
| 約翰·摩爾 |
大家好,感謝收看。我叫約翰·摩爾,今天我們將討論 Lupine,這是我開發的一個用於創建、發布、管理和監控 JMP 插件的框架。 |
| |
首先簡單介紹一下我自己。我叫約翰‧摩爾,擁有工程和管理學位,但其實我骨子裡是個資料極客。過去19年,我一直在禮來動物保健公司擔任分析師。 |
| |
我有一個兒子,一個丈夫,一隻狗,目前還有大約 8 萬隻蜜蜂。 |
| |
所以,你知道,我們是怎麼走到這一步的?在禮來公司,我們有技術顧問(TC),他們通常是獸醫或營養學家,遍布全球,我們讓他們使用 JMP 和 JMP 腳本。 |
| |
而且,由於這些培訓中心地處偏遠,許多培訓中心只能斷斷續續地連接到網路。 |
| |
所以當時的情況是,腳本都是臨時寫的,在人與人之間傳遞。沒有版本控制。根本不知道誰在使用哪個腳本。 |
| |
腳本發布困難,腳本更新也很困難。所以我創建了 Lupine,希望能幫助我們實現腳本標準化、版本控制,讓我們輕鬆了解誰在做什麼,誰在使用哪些腳本。 |
| |
我們可以輕鬆地分發更新,而且作為額外獎勵,我們也在公式編輯器中添加了一些公式。 |
| |
所以我們來看看 Lupine。好的,安裝 Lupine 之後,你會發現它很簡單。 JMP 上只有一個 Lupine 選單,裡面只有一個「檢查更新」的選項。 |
| |
當你查看更新時,你會看到它會列出所有由 Lupine 控制的插件。 |
| |
如果不是最新版本,它會顯示「已是最新版本」。如果是最新版本,它會顯示“好的”,很簡單。這裡列出可用的插件。您是否擁有最新版本? |
| |
另外,在公式編輯器中,因為我們發現自己經常使用這些特定的公式,例如 month/year,它會回到月份的第一天。 |
| |
該日期所在的月份已經過去了。我們有年份、季度和季節。此外,我們還有周計數器,您可以在其中執行諸如一周開始、一周結束等操作。 |
| |
Lupine 也具備使用日誌功能。因此,每當使用者使用 Lupine 管理的腳本時,我們都會建立一個日誌檔案。這樣我們就能知道是誰在什麼時間戳記使用了哪個腳本和插件。這確實有助於我們判斷哪些腳本有用,哪些沒用。 |
| |
假設你想在你的組織中安裝 Lupine。 |
| |
好的,第一步我們要下載一些壓縮檔。我們有一個 Lupine 壓縮檔案、一個 Lupine 管理器和一個 Lupine 模板。 |
| |
我們還有 Lupine 的範例。所以我建議你找個資料夾,把這三個檔案都下載進去。 |
| |
身為管理員,接下來你需要決定的是,網路資料夾應該放在哪裡?對 Lupine 來說,有兩個網路資料夾非常重要。 |
| |
首先,你需要將插件加入倉庫資料夾。這個資料夾將包含你所有的插件,以及包含這些插件元資料的 PublishedAddins.jmp 檔案。 |
| |
我們需要考慮的另一個資料夾是中央日誌資料夾。這個資料夾將存放使用者每次執行 Lupine 管理的腳本時所建立的所有已上傳日誌檔案。 |
| |
所以您可以看到,這裡展示了我們已發布插件檔案中所有插件的範例。以下只是一個範例: |
| |
日誌檔。每個日誌檔案都有一個唯一的 ID。我們稍後會詳細討論這一點,但每次我們獲取這些文件時,只會獲取最新的文件,這樣您就不必每次都下載所有文件了。 |
| |
所以,一旦你決定要把這些文件放在哪裡,接下來我們就需要告訴 Lupine 這些文件在哪裡。方法是,在你解壓縮 Lupine 檔案之後,進入那個資料夾。 |
| |
在「新增管理」子資料夾下,你會看到一個名為 setup 的文件,這就是 setup 檔案中需要尋找的部分。 |
| |
在這裡,您可以定義插件倉庫路徑和中央日誌路徑。在生產環境中,您需要配置這些網路位置,但為了方便演示,我只在自己的機器上建立了這些路徑,您可以在這裡定義您的網路路徑。 |
| |
完成上述步驟後,現在就可以為您的組織建立 Lupine 了。在 Lupine 資料夾中,您需要下載所有內容,但 gitattributes 檔案除外。我使用 GitHub Desktop 來管理我的專案。 |
| |
腳本。我強烈推薦它。它讓我的生活變得輕鬆多了。但是你不需要把這些檔案放到你的腳本裡,所以除了 gitattributes 檔案之外,把所有檔案都複製出來。你要右鍵點擊這些文件,選擇「傳送到」和「刪除」。 |
| |
將這些檔案傳送到一個壓縮的 zip 資料夾。這將創建一個包含所有這些文件的 zip 檔案。 JMP 外掛程式檔案其實就是 zip 檔案。所以我們要做的就是將其重新命名為 Lupine.jmpaddin。 |
| |
命名完成後,只需雙擊它,即可完成安裝。安裝完成後,Lupine 就會出現在你的電腦上。我們暫時還不用對它做任何操作,但它已經安裝好了。如果你查看選單欄,就能看到 Lupine。 |
| |
接下來,我們來談談 Lupine Manager。這是一個獨立的插件,專為管理員設計。 |
| |
並且需要追蹤和更新組織內的所有加載項。因此,它可能不會安裝在普通用戶的電腦上,原因如下: |
| |
它沒什麼用。它提供的是一系列工具,可以幫助你(作為管理員的你)管理外掛程式。 |
| |
打開 Lupine Manager 後,首先要做的就是向下捲動到設置,然後我們要說的是… |
| |
我們的唯一使用者文件,其中包含您組織中的所有唯一使用者和日誌資料。 |
| |
好的,唯一用戶表關聯用戶 ID。所以我們正在從你的電腦上獲取用戶 ID。 |
| |
身份標識,但通常這些標識並不能說明什麼特別有意義的資訊。例如,我的識別碼是 00126545。 |
| |
我們想把「John Moore」這個名字連結到這裡。這就是使用者唯一身分統計功能的作用。日誌資料檔案中每條日誌都對應一行。這是我們之前建立的所有日誌檔案的總和。我們可以盡情地分析這些文件。 |
| |
好的,假設你想開始使用 Lupine Manager。 |
| |
首先,你需要告訴它你想管理哪些加載項。為此,我們將進入「建立加載項」選單,然後向下捲動至「管理可用加載項」功能表。 |
| |
然後這裡會是空白的。找到這裡後,點擊“新增加載項”,您就可以選擇包含要管理的加載項檔案的資料夾了。 |
| |
完成之後,你會看到這些插件列在可用插件清單中,點擊「建立插件」。好的,這裡你有兩個選項。 「建構插件」只是創建插件。 |
| |
腳本所在的資料夾會新增一個附加文件,所以這很適合用來測試。我想快速建立一個版本,以便測試它是否有效。 |
| |
「建置並發佈」操作與此相同,但它也會將此外掛程式複製到您的外掛程式庫資料夾,並更新已發佈的外掛程式檔案。因此,當您完成測試,準備好將其分發給公司時,就可以發布了。 |
| |
現在,如果您想匯入所有這些日誌數據,您只需轉到匯入和處理日誌數據,它就會匯入所有新的日誌檔案並將它們新增至您的日誌資料檔案。 |
| |
這裡有一個使用者概覽,它以表格的形式快速列出哪些使用者正在使用哪些外掛程式。這樣您就可以快速了解… |
| |
我的主要用戶分別使用了哪些外掛?例如,我們可以看到,Lupine 和 LupineManager 使用率很高;LupineExample1 使用率也很高;而 LupinExample 的使用率則相對較低。 |
| |
好的,假設您已經安裝了 Lupine 和 Lupine Manager。現在您想在 Lupine 下管理一些外掛程式。那我們來談談具體步驟。 |
| |
首先,你需要找到我們提供的插件模板文件,也就是 Lupine 模板文件,並將其複製到某個地方。這個檔案包含了所有必要的腳本以及讓 Lupine 與你的插件協同工作的所有要素。所以,請複製它。 |
| |
接下來,我們將逐步完成一些步驟。首先,我們將編輯 addin.def 檔案。 |
| |
我們將創建您外掛程式中所需的所有腳本,或者如果您已有腳本,我們將對其進行更新。 |
| |
建立插件後,我們將自訂選單,使其外觀正確。假設您點擊選單,它應該會按照您想要的方式顯示。選單修復後,我們將再次建立插件進行測試,確保其顯示正常。測試完成後,我們就可以發布它了。 |
| |
所以讓我們來談談addin.def文件;addin.def實際上是一個非常小的文字文件,但每個插件都需要它。它包含了插件的核心重要資訊。 |
| |
它的ID和名稱是什麼?你需要進入編輯頁面,將其更改為你的外掛名稱。 |
| |
而且這只需要操作一次。完成此操作後,以後就不需要再更改插件的設定了。所以只需設定一次即可。 |
| |
接下來,你需要決定我要在這個插件放哪個腳本?現在我已經創建了一個, |
| |
Lupine 產生日誌檔。 |
| |
這段程式碼會為所有使用 Lupine 的插件建立日誌檔案。它實際上會創建日誌,並允許你進行版本監控。 |
| |
所以我建議把這個頭部資訊放在所有檔案的開頭…也就是你要使用的腳本檔案的開頭,因為正是這個頭部資訊才能讓你進行監控。 |
| |
現在,你的所有腳本都已放入其中,下一步就是將選單檔案設定為你想要的樣子。目前,它只顯示“模板”。 |
| |
我們先來建構這個東西。就像我們之前建立 Lupine 一樣,我們選中除 gitattributes 檔案之外的所有內容,右鍵單擊,壓縮,然後更改名稱。 |
| |
我們也要做同樣的事情。但這樣一來,選單就會出錯,因為現在它仍然使用的是模板選單。所以我們需要進去更新那個模板選單,讓它符合我們的需求。 |
| |
好的,安裝完成後,您會看到這裡的新腳本、新插件和模板。我們右鍵單擊。 |
| |
打開選單,你會看到一個很長的清單。在清單的最底部,你會看到“自訂”,我們只需要進入“選單和工具列”。好的,進入之後你會看到類似這樣的介面。 |
| |
我們首先需要做的是告訴 JMP 我們想要編輯什麼。我們想要編輯與我們特定外掛程式配套的選單,它現在被稱為模板。 |
| |
所以,我們點擊這個更改按鈕。點擊它,這裡會出現很多選項。但我們要做的是點擊這裡的“JMP 插件”單選按鈕,然後向下滾動… |
| |
我們感興趣的插件。好的。這裡我只是把它當作模板,但如果你…因為你已經在 addin.def 檔案中修改過了,那它就會變成那樣。 |
| |
完成之後,你會看到一些零碎的東西。 |
| |
屬於您的插件的內容將在左側以藍色顯示。 |
| |
所以,我們要對這段內容進行編輯和修改,使其成為我們新插件想要的樣子。 |
| |
所以我們來看一下。我把“關於”部分作為標準腳本包含在“新增功能”中了,但當你看到它時,你會發現它指向的是… |
| |
這個模板外掛不是你想要的。你想要的是自訂插件名稱。所以我們要做的就是點擊這個檔案中的「運行插件」按鈕。 |
| |
點選「使用加載項」資料夾,然後選擇所需的加載項。這樣就能將 JMP 指向您剛剛建立的新腳本。然後,我們可以點選「瀏覽」。 |
| |
然後我們可以瀏覽、導航,找到我們需要的特定腳本,並說:“不,不,我不想在模板中使用它。我想讓你在我的新插件中使用它。” |
| |
同樣,我們也可以用同樣的方法來處理選單中的「新增菜色」這個選項。 |
| |
完成這些之後,剩下的就是添加我們想要的其他內容了。 |
| |
如果你在藍色區域上點擊滑鼠右鍵,你會看到「插入在…之前」、「插入在…之後」等選項,你可以在這裡新增或刪除選單中的內容。 |
| |
所以你可以添加各種內容,其中大部分是命令。你也可以加入子選單,讓選單層級更深,或是加入分隔符,讓它變成一條漂亮的橫線。 |
| |
所以你要建立選單,把你剛剛創建的腳本中的所有項目放進去。 |
| |
然後我們要把它保存下來,而且要保存兩次。 |
| |
當你在這裡儲存時,它只會更改你機器上已安裝的插件版本。 |
| |
這很好,但我們還需要將其保存到您建立插件的資料夾中。這樣,下次建立插件時,它就能使用正確的選單檔案了。 |
| |
所以點擊儲存後,我們要點擊另存為,然後進入包含插件檔案的資料夾。 |
| |
好了,腳本都寫好了,插件定義也定義了,選單也設計好了。 |
| |
接下來我們需要做的就是實際建造並測試這個東西。通常我會把它發給用戶,讓他們告訴我哪些功能有效,哪些功能無效。 |
| |
之後,我就可以進去發文了。所以當你進去發布的時候,系統會提示你更新資訊。 |
| |
最重要的事情(在 Lupine Manager 中)是更改發布日期。這樣可以讓使用者知道有更新的版本。 |
| |
版本可用,對吧。所以……接下來會發生的情況是,它會與未發布日期進行比較,然後 Lupine 將使用比較後的日期,並說,嘿,這裡有一個更新的版本供你上傳。 |
| |
所以你也可以加入註釋,例如修訂筆記。這些是我這次修改的內容。這些是我對插件進行的一些重要更新和改進。完成這些操作後,如果你點擊“發布”, |
| |
然後 Lupine Manager 會複製該插件,並將其放入建立該插件的資料夾中,也就是存放原始碼的資料夾中。 |
| |
它還會將插件發佈到插件庫,並將已發布的插件檔案更新為最新版本。 |
| |
最重要的是,它包含了你的發布日期。然後,如果用戶點擊“檢查更新”,它會提示“嘿,這個插件有新版本可用,您要下載嗎?”他們可以點擊下載,然後安裝到他們的電腦上。 |
| |
好了,介紹就到這裡吧。 |
| |
我希望這裡的資料足夠您自行完成這項工作。如果不夠,請聯絡我,電子郵件是john_moore@elanco.com。我很樂意幫助您完成設定。 |
| |
非常感謝,再次感謝。再見。 |