Dynamics 365应用程序开发-1. 自定义应用程序导航

网站地图可以定义为一组链接,用户可以通过这些链接在网站上导航和找到自己的路。在Dynamics365及其早期版本中,站点地图是一个XML文件,用于为用户定义应用程序或特定应用程序模块的导航。在CRM 2016之前,一个组织只有一个站点地图文件。随着Dynamics 365中应用程序的出现,现在我们为每个应用程序模块都有一个站点地图文件。就自定义站点地图而言,到目前为止,我们必须使用XML编辑器、文本编辑器或一些第三方工具来更新它。但是,使用Microsoft Dynamics 365,我们在产品中内置了站点地图设计器。此设计器允许管理员、自定义程序或具有适当权限的用户通过简单地在“站点地图设计器”画布中添加、拖放组件,轻松定义应用程序的导航。在本章中,我们将介绍以下几点:

  • Dynamics 365中的站点地图概述
  • 了解设计器界面及其组件——区域、组和子区域
  • 可在站点地图上执行的常见操作

站点地图概述

对于配置的每个应用程序,我们都将为其定义一个单独的站点地图。默认情况下,我们将在设置Dynamics 365期间配置一个Dynamics 365自定义应用程序。
我们还可以在配置Dynamics 365实例时配置其他应用程序,如销售、现场服务、项目服务自动化或客户服务。现在,让我们尝试了解将Dynamics365用于销售应用程序的网站地图设计器的基本知识。假设我们在配置Microsoft Dynamics 365时选择了Sales,如下所示:

这将为Dynamics 365提供一个销售应用程序。以下是Sales应用程序的导航:

现在,我们已经介绍了站点地图的基本知识,让我们看看站点地图设计器界面,它有哪些组件,以及如何使用它来更新我们的站点地图以供销售。

站点地图设计器概述

要访问我们的销售应用程序的站点地图设计器,请执行以下步骤:

  1. 使用具有系统自定义程序、系统管理员或任何适当安全角色的用户登录Dynamics 365销售应用程序以自定义网站地图。
  2. 转到“设置”|“解决方案”。
  3. 创建一个具有适当详细信息的新解决方案。例如,我们创建了一个名为Site Map solution的解决方案,发布者为默认发布者,版本为1.0.0.0。
    我们还可以登录默认的Dynamics365-自定义应用程序,创建一个新的解决方案,并在其中添加销售应用程序站点地图。
  4. 点击Client Extensions,在其中添加Sales App Site Map,如下所示:

    我们可以转到“设置”|“自定义设置”,并在默认解决方案中更新网站地图。但是,作为最佳实践,我们应该创建一个单独的解决方案,并添加需要在其中自定义的必需组件。

    双击它将在网站地图设计器上打开销售应用程序网站地图供我们编辑。站点地图设计器画布允许我们使用区域、组和子区域组件:


    在设计器画布中,我们可以添加、剪切、复制、粘贴、克隆和删除。
    让我们详细看一下这些组成部分。

了解站点地图中的组件

现场地图由三个主要部分组成:

  • 区域:区域可以定义为导航窗格内的主节点或区域,导航窗格由组及其相应的子区域组成。可以添加新区域,也可以更新或删除现有区域。如果一个区域不包含任何可见的子区域,则该区域将被隐藏。
  • 组:组可以定义为子区域的集合或组。就像区域一样,可以添加新组,也可以更新或删除现有组。
  • 子区域:子区域可以定义为区域内的导航链接,该链接定义了单击时应在CRM主窗格中加载的内容。子区域可以指向仪表板、实体、URL或web资源。就像区域和组一样,可以添加新的子区域,也可以更新或删除现有的子区域。

参考我们的销售应用程序界面:

  • 销售、市场营销、设置和培训被称为区域
  • “我的工作”、“客户”、“销售”、“抵押品”、“市场营销”、“目标”和“工具”是“销售”区域内的组
  • 仪表板、新增功能和活动是“我的工作”组中的子区域。

Sales区域将具有特定于Sales的子区域,这些子区域排列在所谓的组中。类似地,市场营销、设置和培训区域将在相应的组内具有相应的子区域。如下面的屏幕截图所示,市场营销区域有仪表板、活动、帐户、联系人、潜在客户、市场营销列表、市场活动、快速市场活动等。它还具有特定于市场营销模块的子区域。这些分区排列在“我的工作”、“客户”、“市场营销”、“抵押品”和“工具”组中:

现在,由于我们已经获得了站点地图组件的概述,让我们在下一节中查看每个组件的不同属性。

了解区域、组和子区域属性

在开始自定义之前,让我们先看看这些组件的不同属性。

  • 区域组件包括以下属性:
  • 组组件与区域共享大部分相同的属性:

    “设置为组的配置文件”属性可能与Dynamics 365无关,因为工作区区域已从CRM 2013开始停止。
    与区域和组相比,分区几乎没有更多的属性:


  • 正如我们所知,站点地图基本上是一个XML文件,我们通过站点地图设计器所做的任何更改基本上都是在幕后更新站点地图的XML。
  • 要获取Sales App Site Map定义,请导出包含Sales App Site Map客户端扩展的解决方案并将其解压缩。然后,打开customizations.xml文件并搜索SiteMap标记。
  • 以下是Sales App Site Map中Sales区域的My Work组的示例XML。我们可以看到Area、Group和SubArea标签及其相应的属性:
  • 如前所述,我们可以使用任何文本编辑器手动更新站点地图的XML,而不是使用站点地图设计器,并且可以导入回解决方案(并发布它)以查看更改。
    站点地图XML参考:SiteMap XML reference | Microsoft Learn

在本节中,我们查看了Site Map Designer的区域、组和子区域组件的属性。在下一节中,我们将学习如何通过站点地图设计器对这些组件执行一些基本操作,如更新、添加、删除等。

使用站点地图设计器的常见操作

现在,我们已经详细介绍了站点地图组件的所有属性,让我们看看如何使用站点地图设计器执行一些常见操作。

编辑站点地图中的现有组件

要编辑站点地图中的现有区域、组和子区域,我们需要在设计器中选择该组件,然后转到该组件的属性选项卡。让我们举一个简单的例子来理解这一点。假设我们想将现有的Training区域重命名为Help,我们需要在站点地图上选择Training区域,转到其Properties选项卡,并更新其Title属性。

让我们指定Help作为Title属性的值。这会将该区域的标题从“培训”更新为“帮助”,如下所示:

我们还可以通过内联编辑来更新网站地图组件的标题属性。
为此,请将鼠标悬停在零部件上以显示铅笔。我们可以点击铅笔图标来编辑标题。类似地,我们可以编辑或更新组和子区域组件的相应属性,正如我们前面提到的,在设计器中所做的任何更改都将反映在站点地图的XML中。

将组件添加到站点地图

要将区域、组或子区域添加到站点地图,我们需要单击站点地图设计器中操作栏上的“添加”按钮。让我们在这里添加一个区域来理解这一点。单击添加按钮并选择区域:

或者,从“组件”选项卡中拖放“区域”。

添加后,我们需要选择组件(此处为Area),然后在properties选项卡中编辑其属性。例如,添加的新Area组件的properties选项卡如下图所示:

这将在站点地图中添加一个名为new Area的新区域。

类似地,我们可以在导航中添加或拖放新的组和子区域组件,并指定它们的属性。

剪切、复制零部件并将其粘贴到场地地图

通过站点地图设计器,我们还可以剪切、复制和粘贴站点地图组件。让我们选择我们的新区域,然后单击操作栏上的剪切按钮来剪切组件。该组件将变灰。

同样,我们可以选择组件,然后单击“复制”按钮来复制组件。粘贴按钮为我们提供了在区域和组组件的情况下将组件粘贴到右侧或左侧的选项,如下所示:

将组件克隆到站点地图

要将现有区域、组和子区域克隆或复制到站点地图,我们可以选择组件,然后单击站点地图设计器中操作栏上的“克隆”按钮。克隆会将相应的组件添加到下一个要克隆的组件中,并在其标题中添加-Copy后缀。例如,如下图所示,克隆Sales Area将在克隆的Sales Area旁边添加一个名为Sales Copy的新区域:

从站点地图中删除组件

要从场地地图中删除区域、组或子区域,请选择组件,然后单击操作栏中的“删除”或按delete键:

删除一个区域也会删除其中的组和子区域。同样,删除该组也会删除该子区域。

在站点地图中组织组件

使用拖放,我们可以在重新排列网站地图之前,在网站地图周围移动组件:

例如,我们可以将Sales Area移动到站点地图中的最后一个Area,将My Work移动到Sales Area中的第二个组,将Dashboard移动到MyWork group中的最后个子区域,依此类推,如下所示:

我们也可以将一个子区域移动到另一个组。例如,仪表板子区域可以移动到任何其他组,如客户、销售、抵押品等,并且一个组可以成为不同区域的一部分。也就是说,我们可以将“我的工作组”移动为“设置、培训和销售”区域的一部分。

保存、验证和发布站点地图中的更改

要反映用户之前的任何更改,如添加、克隆、删除等,我们需要单击“保存”,然后在“站点地图设计器”画布中发布它。此处,*Draft表示存在未保存的更改:

 

保存更改并单击“发布”后,它将更改为“已发布”,表示更改已应用,用户可以查看:

如果站点地图中有任何错误,单击“保存”按钮也会验证并显示。例如,如果我们没有为任何必需字段提供值,或者没有为任何属性指定不允许的字符。在下面的屏幕截图中,我们没有为子区域中的实体属性提供值,并单击了“保存”,这是一个必填字段:

这显示了设计器中的ERROR MESSAGE通知以及所有详细信息。我们只能在修复错误后保存并发布更改。

在场地地图中添加分区组件

让我们在这里采用一个简单的场景来了解如何添加新的Subarea组件。
我们意识到,我们的销售应用程序用户将经常访问CRM中的Open Lead视图,因此,如果我们可以在销售区域的My Work Group中为他们添加Open Lead View的Subarea,这将对他们有所帮助。要实现它,我们需要在URL类型的“我的工作组”中添加一个新的子区域。为此,我们需要在Sitemap Designer的操作栏中单击“添加”,添加一个新的子区域,并将其拖放到我的工作组中的活动子区域下方:

在这里,视图的URL模式需要如下:

=/_root/homepage.aspx?etc=<entity code >&viewid=%7b<GUID value of view
id>%7d"

对于etc和viewid查询参数,我们需要转到CRM中的Open Leads视图,然后单击EMAIL A LINK|Of Current view功能区按钮以获得链接:

链接的值为etc和viewid。然后,我们将从链接中复制etc和viewid查询字符串参数的值。然后,我们可以为新的SUB AREA设置属性,如下所示:

我们将保存并发布它。发布后,在Sales应用程序中,用户将能够看到名为Open Leads的新子区域:

单击Open Lead Subrea将打开Open Lead视图,如下所示:

在场地地图中隐藏子区域组件

正如我们前面看到的,子区域组件具有特权属性。它根据用户通过分配的安全角色所拥有的权限来定义是显示还是隐藏子区域。让我们试着通过一个例子来理解这一点。假设我们想只向那些对Lead实体具有Create权限的用户显示我们刚刚添加的Open Lead Subrea。要定义这一点,让我们回到Site Map Designer中Open Leads子区域的Properties选项卡。在那里,我们需要进入高级部分的特权。在实体下拉列表中,我们可以选择Lead实体,然后单击+(加号)按钮添加记录。我们将取消选中所有复选框,创建除外:

保存并发布更改。现在,让我们使用只分配了Salesperson安全角色的用户登录。在这里,我们已经更新了安全角色,并将“无”设置为“创建Lead实体特权”;也就是说,我们在下面的屏幕截图中看到的第一个选项:

对Lead记录没有创建权限的用户将无法在其站点地图中看到Open Lead Subrea。

将参数从网站地图传递到URL

正如我们前面看到的,Subrea组件有一个Parameter Passing复选框属性。它指定是否将有关组织和语言上下文的信息传递到URL。该属性仅适用于web资源或URL类型的子区域。假设我们在Subarea的URL属性中定义了以下URL:

http://mydomain/mypage.aspx
选中“参数传递”复选框将向其传递以下参数:
http://mydomain/mypage.aspx/?orglcid=1033&orgname=org29d341dd&userlcid=
1033
  • orglcid:组织基本语言的语言代码标识符
  • orgname:组织的唯一名称
  • userlcid:当前用户使用的语言代码标识符

这些信息可用于创建支持多种语言的解决方案。

有关创建支持多种语言的解决方案的详细信息,请访问
SiteMap XML reference | Microsoft Learn

编辑站点地图和对客户端的支持

让我们简要介绍一下编辑站点地图的不同方法,除了站点地图设计器,以及Dynamics 365中不同类型的站点地图支持客户端的方式。

站点地图编辑器

我们基本上知道,站点地图是一个XML文件。任何XML文本编辑器都足以编辑站点地图XML文件。为此,我们可以导出包含站点地图XML的非托管解决方案,在记事本、Visual Studio或任何其他XML编辑器中对其进行编辑,然后将其导入回。这里需要记住的重要一点是,如果我们将站点地图作为托管解决方案导入,它将创建一个包含所有最新更改的新站点地图记录,在非托管的情况下,将覆盖现有的站点地图XML。

有关使用架构验证编辑站点地图XML的详细信息,请参阅 

Edit the customizations XML file with schema validation | Microsoft Learn

除了网站地图设计器,我们还可以使用第三方网站地图编辑器来编辑网站地图。最流行的工具之一是站点地图编辑器,它是XRM工具箱的一部分。以下是我们的销售应用程序网站地图在网站地图编辑器中加载的方式:

XRM工具请访问:

10. Xrmtoolbox_qq_41189734的博客-CSDN博客

与手动编辑XML相比,该工具可以轻松编辑站点地图。该工具一直是编辑网站地图最受欢迎的工具之一,自CRM 2011以来一直可用。该工具最近进行了更新,以支持Dynamics 365中提供的多个站点地图。另一个选项是以编程方式更新站点地图。为此,我们可以使用站点地图实体并更新其sitemapxml属性,如下所示:

  • 创建站点地图实体的对象:
     
    Entity siteMap = new Entity["sitemap"];

  • 使用有效的XML更新其sitemapxml属性:

     
    siteMap["sitemapxml"] = "valid site map xml";

  • 使用组织服务的实例更新实体:
     
    service.Update(siteMap);

  • 使用PublishXmlRequest类发布更改:
    PublishXmlRequest request = new PublishXmlRequest();
     request.ParameterXml =
    "<importexportxml><sitemaps><sitemap></sitemap></sitemaps></imp
    ortexportxml>";
     service.Execute(request);

我们还可以通过编程创建和删除应用程序特定的网站地图记录。但是,建议您使用站点地图设计器,而不是以编程方式进行。另一点需要注意的是,无法创建或删除默认的站点地图记录。

强烈建议我们在开始编辑之前导出现有的站点地图XML文件并保存其副本,这可以帮助我们在编辑时发生任何错误时将其还原回来。

支持的客户端

默认站点地图,即Dynamics 365的站点地图–Dynamics 365 web应用程序和Dynamics 365 for Outlook都支持自定义应用程序。仅Dynamics 365 web应用程序支持任何新的自定义应用程序或业务应用程序(如销售、客户服务、现场服务和项目服务自动化)的站点地图。

总结

在本章中,我们看到了Dynamics365中的站点地图是如何演变的。现在,我们可以为每个应用程序提供多个站点地图,并在产品本身中提供内置的站点地图设计器工具。我们还详细介绍了新的站点地图设计器以及可以通过它执行的一些常见操作。在下一章中,我们将介绍新的Visual Process Designer,以及如何使用它来创建具有直观拖放功能的业务流程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Martin-Mei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值