准备与对象无关
介绍
在该项目中,我们帮助媒体发行公司ZBS(Zippy广播系统)将其出色的DJ,veejay和Podcast主持人与全球粉丝联系起来。为此,我们通过构建Lightning组件来为ZBS代理提供关于其Salesforce系统中的节目,联合组织和其他数据的复杂信息的快速可视化摘要。而且,我们使用自定义元数据来允许ZBS在任何对象中重用这些组件,而无需进行任何代码更改!
您将在此项目中做什么:
- 使用自定义元数据类型来定义功能模式。
- 创建自定义元数据记录以将该模式链接到业务规则。
- 创建一个显示在Lightning App Builder中的IndicatorBadges组件。
- 创建一个基于Apex的控制器和服务类,并在Lightning组件中使用它们。
- 使用基础的Lightning组件。
- 与Lightning Data Service一起使用以响应记录级别的更改。
- 创建具有复杂通信模式的控制器和助手标记。
- 自定义几个对象的记录主页,并对所有对象使用相同的组件。
创建一个新的Trailhead游乐场
对于此项目,您需要创建一个新的Trailhead Playground。滚动到该页面的底部,单击游乐场名称,然后选择创建游乐场。创建新的Trailhead游乐场通常需要3-4分钟。
安装Trailhead软件包并导入数据
我们需要做的第一件事是了解ZBS数据模型并导入一些样本数据。如果您在组织中看到一个标签为“安装软件包”的标签,那就太好了!请按照以下步骤操作。
如果不是,请从App Launcher()中找到并选择Playground Starter,然后按照步骤进行操作。如果您没有看到Playground Starter应用程序,请复制 此程序包安装链接, 并 在Trailhead帮助上签出“ 安装程序包或应用程序以完成Trailhead挑战”。
- 单击安装软件包选项卡。
- 粘贴
04tB0000000M8Av
到字段中。 - 点击安装。
- 选择“仅为管理员安装”,然后单击“安装”。软件包安装完成后,您会看到一个确认页面,并收到一封电子邮件,发送到与您的游乐场关联的地址。
- 软件包安装后,我们需要更新其中一个软件包文件。
- 点击齿轮图标(),然后选择开发者控制台。
- 在开发人员控制台中,选择“文件”>“打开”,然后选择“类”> ZBSDataLoadController,然后单击“打开”。
- 用以下代码替换代码:
- 保存文件。
- 在应用启动器()中,找到并选择ZBSLightning。
- 单击“加载数据”,然后单击“初始化样本数据”以导入您在该项目中使用的数据。
- 单击 ,然后选择设置。
Session
在“快速查找”框中输入并选择“会话设置”。- 滚动到“缓存”部分,然后取消选中“启用安全和持久的浏览器缓存”以提高性能。
- 点击保存。
检查指标标记自定义元数据类型
我们为ZBS构建的解决方案的核心是快速可视化的摘要,我们称之为指示器徽章。支持此指标标志的自定义元数据类型的开头以及我们稍后将介绍的Apex模式的基本形状来自于协作的Big Thinks在Visualforce中构建的名为Weathervane的开源解决方案,该解决方案现在由大船咨询。(非常感谢Christian Carter和Beth Breisnes,这是Big Thinks的大脑!)Weathervane和ZBS的指标徽章的共同主题是能够将复杂的逻辑转换为视觉效果。我们以自定义元数据开始此转换。
自定义元数据类型有两个关键部分:自定义元数据类型和基于自定义元数据类型的记录。自定义元数据类型和自定义元数据记录之间的关系就像杯形蛋糕罐和罐中烘焙的杯形蛋糕之间的关系。每个纸杯蛋糕的形状都由罐子定义,但是蛋糕的味道,糖霜颜色和填充类型等都属于每个纸杯蛋糕,而不是罐子。
ZBS入门包包括一个称为“指示符徽章”的自定义元数据类型。让我们来看看。
- 在“设置”的“首页”标签中,
Custom Metadata Types
在“快速查找”框中输入,然后单击“自定义元数据类型”。 - 从列表中选择指标徽章。
- 此页面上的信息告诉我们有关模式的信息,该模式使我们能够从ZBS Salesforce实例中的不同字段和对象中获取值并创建视觉效果。换句话说,这就是我们的蛋糕罐。
- 创建良好模式的重要部分是为元数据类型上的字段选择正确的数据类型。您如何确保留有足够的灵活性,使得该模式可以在您的实例中使用,并且可以容忍随着时间的变化?您如何在灵活性与给用户足够的结构避免简单错误之间取得平衡?
- 让我们看几个关键字段,看看我们的指标徽章元数据类型如何回答这些问题。
检查指标徽章自定义字段
- 在“指示符徽章”自定义元数据详细信息页面上,向下滚动到该
Custom Fields
部分。 - 选择对象字段。
- 该字段的数据类型为
Metadata Relationship
,这意味着我们可以将我们的指标徽章元数据类型链接到ZBS组织元数据的其他部分。如本Metadata Relationship Options
节所述,在这种情况下,此字段Entity Definition
与ZBS Salesforce实例中的标准对象和自定义对象有关系,或者用更熟悉的话来说。当用户去创建一个“指示符徽章”自定义元数据记录时(我们将在一分钟内完成),“对象”字段将看起来像一个选择列表,其值与组织中可用的标准对象和自定义对象相匹配。自定义元数据类型还可以具有哪些其他类型的关系字段?让我们找出答案。 - 单击页面左上方的“返回指示器标志”。
- 在“指标徽章”详细信息页面上,再次向下滚动至该
Custom Fields
部分,然后选择“相关字段”。 - 该字段也是一个关系字段,但是当查看时
Metadata Relationship Options
,我们看到该字段具有另一种类型的关系。而不是链接到标准或自定义对象,我们链接到标准和自定义字段。我们还可以看到此自定义字段由我们的对象自定义关系字段控制。这意味着,当用户决定使用Account
“对象”字段中的值作为指标标记记录时,“相关字段”将显示“帐户”字段的选择列表。因此,用户不必完全记住(或拼写!)API名称即可将记录与对象和字段连接起来。使用关系字段代替硬编码的字符串还意味着我们可以更改对象或字段的名称,并且我们的记录与任何更改保持同步。 - 我们的“指标标志”自定义元数据类型的其余字段可帮助定义逻辑,以确定记录是否应显示指标,以及显示时指标的外观。我们混合使用文本字段和选择列表字段来实现此模式。
- 我们的选择列表之一尚未完成。在继续之前,让我们深入研究并解决该问题。
完成徽章颜色选择列表
- 从“
Custom Fields
指示器徽章”详细信息页面的部分中,选择“徽章颜色”选择列表。 - 向下滚动到该
Values
部分,然后选择“新建”。 - 输入
RosyBrown
作为值。 - 点击保存。
- 既然我们已经了解了指标徽章的基本形状,并且已经完成了所有字段,那么让我们为自定义元数据记录构建一个列表视图,以帮助我们了解如何将这种自定义元数据类型用于ZBS。
创建一个显示所有指标的列表视图
- 在“指标标志”元数据详细信息页面的顶部,单击“管理指标标志”按钮。
- 从“指标徽章”列表主页的顶部,选择“创建新视图”。
- 填写列表视图详细信息。
- 查看名称:
All Indicators
- 查看唯一名称:
All_Indicators
- 查看名称:
- 滚动到步骤3。选择要显示的字段,然后选择以下字段和顺序:
- 标签
- 指标徽章名称
- 目的
- 相关领域
- 比较类型
- 比较值
- 徽章图标名称
- 徽章颜色
- 点击保存
现在,我们实际上可以看到我们的自定义字段,并看到我们如何使用业务逻辑和特定于ZBS的详细信息填充我们的指标徽章元数据类型创建的模式。(对于您和美食迷来说,这是我们的美味蛋糕!)我们可以看到Active Subscriber
记录正在寻找该Active Subscriptions
字段中值为1或更大的Accounts 。该Content Advocate
记录寻找与在一个2个或更多的价值联系人Total Account Subscriptions
场。该Active Syndication
记录被连接到自定义复选框(或布尔数据类型)字段中的聚合自定义对象上。每个自定义元数据记录还定义了用户对于特定徽章应该看到的图标形状和颜色,即一旦我们构建了一些组件和Apex类。
创建自定义元数据记录
在构建组件并开始使用代码之前,我们需要解决最后的配置问题。ZBS还希望根据其业务规则显示一些其他种类的指标。我们需要通过创建一些其他的指标徽章自定义元数据记录来帮助他们。
- 在“设置”的“首页”标签中,
Custom Metadata Types
在“快速查找”框中输入,然后单击“自定义元数据类型”。 - 选择管理记录。
- 创建具有以下值的记录:
- 标签:
Audience Favorite
- 指标徽章名称:
Audience_Favorite
- 对象:显示
- 相关领域:主动联合组织
- 比较类型:大于或等于
- 比较值:
3
- 徽章图标名称:
custom:custom97
- 徽章颜色:番茄
- 标签:
- 注意“徽章图标名称”字段如何具有一些帮助文本,解释了用户应如何在该字段中输入数据。这样,自定义元数据字段的行为就像常规对象字段一样。与对象一样,您可以为自定义元数据类型创建验证规则,以确保记录遵循预期的行为。
- 我们用于“徽章图标名称”字段的结构基于 Salesforce闪电设计系统(SLDS)以及这些图标的名称。对于“观众最爱”徽章,我们使用的是SLDS的“ custom97”图标,它是一个温度计: 。我们徽章的颜色将与“徽章颜色”字段匹配。整洁吧?
- 点击保存并新建。创建具有以下值的记录:
- 标签:
Needs Some Love
- 指标徽章名称:
Needs_Some_Love
- 对象:显示
- 相关领域:主动联合组织
- 比较类型:小于或等于
- 比较值:
2
- 徽章图标名称:
custom:custom94
- 徽章颜色:RosyBrown
- 标签:
- 点击保存并新建。创建具有以下值的记录:
- 标签:
Subscription Superpower
- 指标徽章名称:
Subscription_Superpower
- 对象:帐户
- 相关领域:有效订阅
- 比较类型:大于或等于
- 比较值:
3
- 徽章图标名称:
custom:custom1
- 徽章颜色:DeepSkyBlue
- 标签:
- 点击保存并新建。创建具有以下值的记录:
- 标签:
Syndication Rockstar
- 指标徽章名称:
Syndication_Rockstar
- 对象:联系人
- 相关领域:主动联合组织
- 比较类型:大于或等于
- 比较值:
2
- 徽章图标名称:
standard:calibration
- 徽章颜色:红色
- 标签:
- 点击保存并新建。创建具有以下值的记录:
- 标签:
Syndication Superpower
- 指标徽章名称:
Syndication_Superpower
- 对象:帐户
- 相关领域:主动联合组织
- 比较类型:大于或等于
- 比较值:
3
- 徽章图标名称:
custom:custom49
- 徽章颜色:DeepPink
- 标签:
- 点击保存并新建。创建具有以下值的记录:
- 标签:
Vlog
- 指标徽章名称:
Vlog
- 对象:显示
- 相关字段:格式
- 比较类型:包含
- 比较值:
Vlog
- 徽章图标名称:
custom:custom99
- 徽章颜色:紫罗兰色
- 标签:
- 点击保存。