应用模板(3)探索模板结构

学习目标

完成本单元后,您将能够:

  • 描述Analytics模板的各个部分。
  • 列出构成Analytics模板的文件。
  • 描述每个Analytics Templates文件控制的内容。

首席执行官提高了标准

在完成最后一个单元之后,您会向首席执行官展示新模板的工作原理。(好吧,自从我们制作模板以来你并没有做太多事情,但是现在,让我们假装你做了。)所以你带领CEO完成应用程序创建过程并向她展示应用程序中的仪表板,销售业绩和管道绩效主管概述。

首席执行官非常感激,但她想要更多。(当然,她这样做!)“自从我们上次讨论以来,我发现我们的一些合作伙伴使用了Service Cloud,并且也想要这个服务性能仪表板。我想让它变得非常简单 – 我们不想让任何人有一个不爱我们的理由。我们可以给他们添加该仪表板的选项吗?

“而且,事实证明我们的一些合作伙伴挑剔,挑剔,挑剔。我在每周电话会议期间使用仪表板,有些人希望他们可以查看不同的数据。他们中的一些人询问了显示其帐户所在位置的不同方式。还有其他人提到他们不按我们的方式跟踪新业务。“

为了确保你知道她在说什么,你打开应用程序并让她告诉你。

执行程序概述仪表板详细信息

她说,“看看结算国家?我们的一些小型合作伙伴希望通过州或城市来查看。看看Lead Source?这表明我们如何获得新业务,但我们的许多合作伙伴并没有使用相同的术语。你能改变吗?“

幸运的是,您已经查看了“分析模板开发人员指南”,并且您已经了解了解决方案:编辑模板以添加配置向导,其中包含可让用户自定义其应用版本的问题。请记住,Execs Only 1是exec app的普通版本,不可能有任何变化。

在编辑模板之前,您需要了解其中的内容。在本单元中,我们运行模板文件,向您展示他们如何控制模板,最终控制您从中创建的应用程序。

模板JSON文件

分析模板文件目录

从Analytics应用程序创建模板时,您将获得如下所示的文件目录:

它包括组成模板对象的JSON文件。他们定义仪表板,数据集(external_files)和数据流。它还包括您编辑的文件以添加向导和其他功能。请注意,这些文件仅在创建模板后检索元数据时可用。要了解有关该内容的更多信息,请单击本单元末尾参考资料部分的“分析模板开发人员指南”中的“检索(导出)WaveTemplate对象”链接。

  • 模板info.json 管理模板的所有元素,包括有关模板的元数据信息,定义仪表板和镜头的Analytics对象以及属于模板的其他文件。
  • ui.json管理驱动应用程序创建的配置向导。它定义了向导页面的数量,向导问题的顺序以及您希望用户查看的任何消息。
  • variables.json包含所有模板变量,包括向导问题的文本和答案的规范。变量还定义了条件问题。例如,仅当组织包含某些数据时,您可能希望向导中显示一些问题。或者,您可能希望根据更一般的向导问题的答案添加更具体的问题。
  • 模板到应用,rules.json定义模板遵循的规则。例如,您可以定义一个规则,指定如果组织不使用某些Salesforce对象,则应用程序不会在仪表板中引用它们或将它们包含在数据流中。规则还定义了变量的处理方式。例如,如果向导询问要在帐户的过滤器中包含哪些字段,模板到应用,rules.json 确定该选项在仪表板中的反映方式。注意我们将此文件的名称缩写为 rules.json 在本单元的其余部分,以便于阅读。
  • folder.json 组织仪表板的各个部分,例如,让您在应用程序中设置仪表板的顺序,而不是按字母顺序保留它们。

如果你的眼睛很敏锐,你可能已经注意到我们缺少的服务性能仪表板的JSON文件(Exec_Overview_Service_Performance.json)。我们稍后再回过头来看看。

遇见老板:Template-info.JSON

让我们看一下来自Execs Only Template 1的那些文件 模板info.JSON。

{
  "assetVersion" : 41,
  "name" : "Trailhead_Template_PartOne",
  "releaseInfo" : {
    "templateVersion" : "4.0"
  },
  //1-THE DASHBOARDS
  "dashboards" : [ {
    "file" : "dashboard/Exec_Overview_Pipeline_Performance.json",
    "name" : "Exec_Overview_Pipeline_Performance_PartOne",
    "label" : "Exec Overview - Pipeline Performance"
  }, {
    "file" : "dashboard/Exec_Overview_Sales_Performance.json",
    "name" : "Exec_Overview_Sales_Performance_PartOne",
    "label" : "Exec Overview - Sales Performance"
  } ],
  //2-TEMPLATE DESCRIPTION
  "description" : "Unlock the power of Einstein Analytics Templates.",
  "eltDataflows" : [ {
    "file" : "workflow/SalesAnalyticsDataflow.json"
  } ],
  //3-THE DATASETS
  "datasetFiles" : [ {
    "label" : "Users",
    "name" : "user_PartOne"
  }, {
    "label" : "Opportunities",
    "name" : "opportunity_PartOne",
    "userXmd" : "external_files/opportunity_XMD_template.json"
  }, {
    "label" : "User Allocation",
    "name" : "quota_PartOne",
    "userXmd" : "external_files/quota_XMD_template.json"
  }, {
    "label" : "Pipeline Trending",
    "name" : "pipeline_trending_PartOne",
    "userXmd" : "external_files/pipeline_trending_XMD_template.json"
  } ],
  "externalFiles" : [ {
    "file" : "external_files/plain_quota.csv",
    "name" : "plain_quota_PartOne",
    "schema" : "external_files/plain_quota.json",
    "type" : "CSV"
  } ],
  //4-THE TEMPLATE NAME
  "label" : "Execs Only Template 1",
  //5-REFERENCES TO OTHER FILES
  "folderDefinition" : "folder.json",
  "rules" : [ {
    "type" : "templateToApp",
    "file" : "template-to-app-rules.json"
  } ],
  "uiDefinition" : "ui.json",
  "variableDefinition" : "variables.json",
  "icons" : {
    "appBadge" : {
      "name" : "16.png"
    },
    "templateBadge" : {
      "name" : "trailhead_icon_160x160"
    },
    "templateDetail" : {
      "name" : "trailhead_detail"
    }
  }  
}

复制一个好的思考方式 模板info.JSON是它负责模板。它包含创建应用程序所需的所有信息。您可以看到模板和版本信息(前几行),仪表板(注释中的1),模板描述(2),数据集(3)和模板名称(4)的元数据。如果仔细查看文件的底部,您会看到对其他3个JSON文件的引用(5)。

重要

重要

此模块中的代码示例表示将仅限执行模板1(EATP1)升级到仅限执行模板2(EATP2)所需的主要步骤。我们建议您在尝试自己使用之前删除注释,因为JSON不支持注释。您可以从本机末尾的参考资料部分的链接下载完整,正常运行,未注释的模板文件。

变量,UI和规则

让我们仔细看看其他模板对象文件,从开始 variables.json。

{
  //1-THE DEFAULT VARIABLE
  "variableType": {
    "type": "ObjectType",
    "properties": {
      "createAllDashboards": {
        "type": "BooleanType"
       }
     },
  //2-THE OVERRIDE
  "Overrides": {
    "required": true,
    "description": "Internal configuration to allow asset creation overrides, not to be displayed in UI.",
    "defaultValue": {
      "createAllDashboards": false
    },
      "strictValidation": true
    }
  }
}

复制

该文件包含一个用于创建所有资产的默认变量(1),即 createAllDashboards。

它还包括一个覆盖(2),设置为 假。这意味着如果我们希望模板创建除了中提到的仪表板之外的任何仪表板template_info.json – 即我们缺少的服务性能仪表板 – 我们必须明确说出来。现在请记住这一点 – 我们很快就会展示该怎么做。

接下来,我们来看看 ui.json。该文件确定配置向导的内容。Execs Only 1没有向导,因此文件中没有任何内容 – 默认情况。

{
  "pages": [
  ]
}

复制

最后,这里是Execs Only 1 rules.json文件,默认也为空。由于用户无法从向导问题中做出任何选择,因此没有关于如何更改仪表板的规则。请注意,有两个部分:常量和规则。我们稍后会详细说明。

{
  "constants": [],
  "rules": []
}

复制

为了给首席执行官和我们的合作伙伴 – 他们想要什么,我们将编辑所有4个文件。我们将向您展示在接下来的两个单元中如何完成。但首先,还有一些问题可以帮助您获得此模块的徽章。