扬声器 | 成绩单 |
| 约翰摩尔 | 嗨,谢谢你加入我。 我叫 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 与我联系。我很乐意帮助您进行设置。 |
| 非常感谢,再次感谢。 再见。 |