精通 Salesforce 紧凑布局:优化移动和 Lightning Experience 的顾问指南

背景与应用场景

作为一名 Salesforce 咨询顾问 (Salesforce Consultant),我的核心职责之一是帮助客户最大限度地提高用户工作效率和 Salesforce 平台的投资回报率。在众多提升用户体验 (User Experience, UX) 的工具中,紧凑布局 (Compact Layouts) 是一个经常被低估但却极其强大的功能。它虽然配置简单,但对用户日常操作的流畅性有着直接而深远的影响。

那么,什么是 Compact Layouts?简单来说,它是在记录页面的最顶部、Salesforce 移动应用程序中以及与其他 Salesforce 功能集成时,用于展示对象关键字段的简洁视图。它的主要目标是让用户在无需深入滚动或点击的情况下,一眼就能捕捉到最重要的信息。

Compact Layouts 的应用场景非常广泛,贯穿于用户的日常工作中:

  • 记录高亮面板 (Record Highlight Panel):在 Lightning Experience 中,当你打开一个客户 (Account) 或机会 (Opportunity) 记录时,页面顶部区域显示的一排关键字段就是由 Compact Layout 控制的。这使用户可以立即看到记录的核心数据,如客户电话、机会金额和结束日期。
  • Salesforce 移动应用程序:在移动端,屏幕空间寸土寸金。Compact Layout 定义了记录在列表视图和记录标题中的外观,确保销售人员在拜访客户途中,能用手机快速查看到客户状态、联系人职位等关键信息。
  • Outlook 和 Gmail 集成:当用户在收件箱中与客户邮件交互时,Salesforce 集成侧边栏会使用 Compact Layout 来展示相关联系人或潜在客户的摘要信息,极大地提升了邮件处理效率。
  • 相关记录悬停预览:在 Lightning 页面上,当鼠标悬停在某个查找字段(例如客户名称)上时,弹出的预览小窗口中显示的信息也是由该对象的 Compact Layout 控制的。

从咨询顾问的角度来看,精心设计的 Compact Layout 是提升用户采用率的关键一步。如果用户每次打开记录都能立刻看到他们最关心的信息,他们会觉得系统“懂我”,从而更愿意使用。反之,如果关键信息被隐藏在页面的深处,用户会感到沮丧,工作效率也会大打折扣。因此,为每个关键对象(特别是客户、联系人、机会、个案等)配置一个量身定制的 Compact Layout,是任何 Salesforce 优化项目的“必做题”。


原理说明

要深入理解 Compact Layouts,我们需要了解它的工作原理及其与 Salesforce 平台其他元素的关联。其核心机制可以概括为以下几点:

1. 独立于页面布局 (Page Layout)

这是一个非常重要的概念。页面布局 (Page Layout) 控制的是记录详情页的整体结构,包括字段的排列、相关列表的展示、按钮和操作的位置等,它是一个“大而全”的配置。而 Compact Layout 只专注于控制那个“摘要”区域。它们是两种不同类型的布局,协同工作但又相互独立。你可以修改 Page Layout 而不影响 Compact Layout,反之亦然。

2. 字段选择与顺序

每个对象的 Compact Layout 包含一个有序的字段列表。你可以从该对象中选择最多 10 个字段放入布局中。这些字段的顺序至关重要:

  • 第一个字段:通常是记录的标识字段,例如机会的名称或个案的编号。在移动应用等某些场景下,它会以更醒目的方式展示。Salesforce 建议此字段始终有值,否则系统可能会显示记录 ID,这会给用户带来困惑。
  • 后续字段:其余字段会按照你定义的顺序,从左到右、从上到下地显示在高亮面板中。

3. 系统默认与自定义布局

当你创建一个自定义对象时,Salesforce 会自动为其生成一个名为“系统默认” (System Default) 的 Compact Layout,通常只包含记录名称字段。你可以修改这个默认布局,但更好的做法是创建自己的自定义紧凑布局 (Custom Compact Layout)。这样做的好处是你可以创建多个布局,并根据不同的业务需求进行分配。

4. 紧凑布局分配 (Compact Layout Assignment)

仅仅创建了自定义 Compact Layout 是不够的,你还需要将其“激活”。激活的方式是通过紧凑布局分配 (Compact Layout Assignment)。你可以将一个 Compact Layout 设置为对象的主要 (Primary) 布局,这样它将对所有没有特定分配的记录类型生效。

更精细的控制是通过记录类型 (Record Type) 进行分配。例如,一个客户对象可能有“潜在客户”和“合作伙伴”两种记录类型。对于“潜在客户”,你可能希望在高亮面板中看到“潜在客户来源”和“下一步跟进日期”;而对于“合作伙伴”,你可能更关心“合作伙伴级别”和“年度收入”。通过为不同的记录类型分配不同的 Compact Layout,你可以实现这种高度定制化的用户体验。

5. 显示逻辑与响应式设计

Compact Layout 的最终呈现效果是响应式的。在宽屏的桌面浏览器上,记录高亮面板可能会显示 4-6 个字段。但在较窄的浏览器窗口或 Salesforce 移动应用中,它可能会自动减少显示的字段数量,以适应有限的空间。系统会优先显示你在布局中排在前面的字段。这就是为什么字段顺序如此重要的原因。


元数据 API 示例 (Metadata API Example)

作为顾问,我们不仅要在界面上进行点击配置,更要理解这些配置在底层是如何通过元数据 (Metadata) 存储和管理的。这对于进行版本控制、持续集成/持续部署 (CI/CD) 以及在不同沙盒 (Sandbox) 和生产 (Production) 环境之间迁移配置至关重要。以下是一个通过 Metadata API 定义的客户 (Account) 对象自定义 Compact Layout 的 XML 文件示例。

这个名为 Customer_Account_Highlight 的紧凑布局,旨在为客户服务团队提供客户最重要的信息概览。

<?xml version="1.0" encoding="UTF-8"?>
<CompactLayout xmlns="http://soap.sforce.com/2006/04/metadata">
    <!-- 
        这是紧凑布局中显示的字段列表。
        顺序非常重要,第一个字段是主标识符。
        这里我们依次选择:客户名称、客户所有者、客户类型、行业和电话。
    -->
    <fields>Name</fields>
    <fields>OwnerId</fields>
    <fields>Type</fields>
    <fields>Industry</fields>
    <fields>Phone</fields>

    <!-- 
        这是紧凑布局的显示标签。
        当你在设置界面中选择或分配此布局时,会看到这个名称。
        一个清晰的标签有助于管理员理解其用途。
    -->
    <label>Customer Account Highlight</label>
</CompactLayout>

代码注释解析:

  • <CompactLayout xmlns="http://soap.sforce.com/2006/04/metadata">: 这是 Metadata API 中定义 Compact Layout 的根元素。
  • <fields>: 每个 <fields> 标签都包含一个字段的 API 名称。Salesforce 会按照这些标签出现的顺序来渲染字段。在此示例中,Name 是第一个,因此是关键标识符。
  • <label>: 这是你在 Salesforce 设置界面的紧凑布局列表中看到的名称。一个具有描述性的标签(例如,“销售团队视图”或“服务团队视图”)是最佳实践,便于管理。

要部署这个文件,你需要将其命名为 [布局API名称].compactLayout (例如 Customer_Account_Highlight.compactLayout),并将其放在项目包的 objects/[对象API名称]/compactLayouts/ 目录下。同时,不要忘记在对象的元数据文件 (Account.object) 中更新紧凑布局的分配。


注意事项

在设计和实施 Compact Layouts 时,顾问需要考虑以下几个关键点,以避免潜在的问题并确保方案的健壮性。

  1. 字段级安全 (Field-Level Security, FLS): Compact Layout 尊重 FLS。如果一个用户对布局中的某个字段没有读取权限,那么该字段将不会为该用户显示。这可能导致不同用户看到的高亮面板内容不一致。在设计时,必须与客户确认,所选字段对于目标用户群体是可见的。
  2. 字段类型限制: 并非所有字段类型都适合放在 Compact Layout 中。例如,长文本区域 (Long Text Area)、富文本区域 (Rich Text Area) 和多选选项列表 (Multi-Select Picklist) 字段无法添加到 Compact Layout。系统会优先选择能提供简洁、清晰信息的字段,如文本、数字、日期、选项列表等。
  3. 第一个字段的选择: 再次强调,布局中的第一个字段至关重要。它应该是对记录最有标识性的字段,并且最好确保它对于所有记录都有值。如果该字段为空,Salesforce 可能会退而显示记录的 18 位 ID,这会严重影响用户体验。通常,标准名称字段 (如 Account Name, Opportunity Name) 是最佳选择。
  4. 部署依赖关系: 当使用变更集 (Change Sets) 或 Metadata API 部署 Compact Layout 时,请记住它有两个部分:布局本身 (CompactLayout) 和它的分配 (在对象元数据的 compactLayoutAssignment 标签中)。必须确保两者都包含在部署包中,否则布局虽然被创建了,但并未生效。
  5. - API 限制: Compact Layout 元数据可以通过 Metadata API 进行管理,但需要注意 API 版本。始终建议使用最新的 API 版本以获取对最新功能的支持。
  6. 跨对象公式字段: 你可以在 Compact Layout 中使用公式字段,这非常强大。例如,你可以在联系人 (Contact) 的 Compact Layout 上创建一个公式字段来显示其关联客户 (Account) 的电话号码。但这会增加一些复杂性,需要确保公式字段的计算逻辑是高效的,并且底层字段的 FLS 权限也是正确的。

总结与最佳实践

Compact Layout 是一个“小功能,大影响”的典型范例。作为 Salesforce 咨询顾问,我们应当将其视为用户体验设计的核心组成部分,而不仅仅是一个技术配置项。一个经过深思熟虑的 Compact Layout 策略,可以显著减少用户的点击次数,加快信息获取速度,并最终提升整个团队的工作效率和对 Salesforce 的满意度。

以下是我在项目中总结的最佳实践:

  • 以终为始,访谈用户: 不要基于假设进行设计。与最终用户(如销售代表、客服人员)进行访谈或召开研讨会,询问他们:“当你打开一个[对象]记录时,你最想立刻知道的 3-5 条信息是什么?” 这个问题的答案就是你设计 Compact Layout 的黄金指南。
  • 保持简洁 (Less is More): 尽管最多可以添加 10 个字段,但这并不意味着你应该加满。一个拥挤的高亮面板会失去其“一目了然”的初衷。通常,4 到 6 个最关键的字段是最佳选择。
  • 为不同场景量身定制: 充分利用记录类型。不同业务流程下的记录,其关键信息点也不同。为每个记录类型分配专属的 Compact Layout,可以提供高度情景化的用户体验。
  • 全面测试: 在部署到生产环境之前,务必在沙盒中进行充分测试。不仅要测试功能,还要模拟不同角色的用户登录,检查 FLS 是否按预期工作。同时,必须在多种设备和屏幕分辨率上进行测试,特别是 Salesforce 移动应用程序。
  • 文档化你的设计: 在你的解决方案设计文档中,明确记录每个对象的 Compact Layout 设计,包括选择了哪些字段、它们的顺序以及背后的业务理由。这对于未来的系统维护和新任管理员的交接至关重要。

总之,将 Compact Layout 的设计提升到战略层面,是连接业务需求与技术实现的桥梁。通过精雕细琢这个看似微小的细节,我们可以为用户创造一个更智能、更高效、更令人愉悦的 Salesforce 使用体验。

评论

此博客中的热门博文

Salesforce 登录取证:深入解析用户访问监控与安全

Salesforce Experience Cloud 技术深度解析:构建社区站点 (Community Sites)

Salesforce Einstein AI 编程实践:开发者视角下的智能预测