表浏览器扩展D365:第3部分创建表浏览器扩展

阅读时间:4分钟

分享:

在facebook上分享
在twitter上分享
分享在linkedin

本文是在浏览器上下文中讨论Microsoft Dynamics 365 Finance and Operations (D365FO)系列文章的第三部分。在第一部分中,我们探讨了创建书签在第二部分我们将书签小工具转换为浏览器扩展。在第三部分中,我们将创建一个扩展,简化打开D365FO表浏览器。

在第二部分中,我们创建了一个内容脚本(content.js),这是一个必要的浏览器扩展名能够在当前打开的网页上下文中访问内容。使用Chrome扩展API的浏览器扩展还可以包括后台脚本。需要后台脚本才能访问API的特定特性,例如omn​​ibox.。内容脚本和后台脚本在不同的上下文中执行,因此它们之间的通信通常采用某种消息传递协议。

创造我们的D365FO表浏览器扩展,我们将:

  1. 展开背景和内容脚本之间的消息传递
  2. 使用D365FO元数据API收集表列表并表单相关的数据源
  3. 使用Chrome选项API存储D365FO URL和相关设置
  4. 使用omnibox API创建表浏览器关键字,并将第一个参数解析为表名

消息传递

在浏览器扩展中的后台脚本和内容脚本之间的消息传递给开发人员访问页面内容,同时在后台脚本中侦听通知(反之亦然)。这Chrome开发人员文档的“hello world”示例消息传递:

chrome.runtime.sendMessage({greeting: " hello "}, function(response) {

console.log(response.farewell);

});

在这个概念的基础上,我们可以监听后台脚本中的消息,当内容脚本检测到当前页面是一个D365FO实例时,我们可以推断表浏览器的基本D365FO实例URL,它将遵循如下格式:

https://[基本url] / ?mi=SysTableBrowser&TableName=[table name]&cmp=[company name] &limitednav=true&lng=en-us

元数据API.

使用元数据API,我们可以生成表和formdatasource的列表。有了这些信息,我们就可以根据当前表单为用户提供一组可供选择的表。关于元数据API有一些很好的文章,包括马丁单调它展示了如何开始使用新API的基础知识。另一篇好文章来自Ievgen Miroshnikov演示如何获取提供程序,然后枚举元数据元素。

出于我们的目的,我们将使用MetaModelServiceFactory创建IMETAMODELSERVICE,然后迭代表格列表并沿途生成.JSON文件。D365FO中的文件处理与以前的版本相差,因此要简化我们的任务,我们将利用标准文件:: sendfilerouser(Stream,Filename)方法。

Chrome的选项

Chrome选项让我们能够存储与扩展相关的小块数据,并在浏览器之间同步它们。为此,我们将利用Chrome存储API

omn​​ibox.

Chrome Omnibox允许使用关键字的扩展,基于Omnibox文档

我们将使用d3f2作为关键字,[tablename]作为第一个参数,这样扩展就可以像这样使用:

d3f2 salestable

通过利用和组合这些api,我们可以产生我们的搜索结果:

如何创建一个表浏览器扩展

为了提高可用性,我们可以在元数据信息中包括开发人员文档。

将以前的博客的想法和微软提供的元数据结合起来,您就可以开始了解基于浏览器的Dynamics如何为改进开发人员和用户故事带来机会。

对于Dynamics 365的浏览器扩展,你能想到什么想法?请告诉我们,感谢您的阅读。

本出版物仅包含一般信息,依据本出版物,呈现会计,业务,财务,投资,法律,税务或任何其他专业咨询或服务,并不是。本出版物不是替代这些专业建议或服务,也不应该将其作为可能影响您或您业务的任何决定,行动或遗漏的基础。在做出任何决定之前,应采取任何行动或省略可能影响您或您业务的行动,您应该咨询合格的专业顾问。您承认,Sikich不得对您或任何依赖本出版物持续的任何人负责。

注册的见解188bet188asia

加入14,000+企业高管和决策者

接下来的活动

最新见解188bet188asia

关于作者