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