platform-custom-application-generate

platform-custom-application-generate

热门

当用户需要创建或配置基于标签的Salesforce自定义应用程序,包括导航、品牌和操作覆盖时,使用此技能。当用户提及自定义应用程序、应用程序元数据、应用程序导航或将标签组织到应用程序中时触发。当用户想要为标签和页面创建应用程序容器时使用。当目标是在App Launcher中托管React UI捆绑包时,请勿使用——这种情况请使用experience-ui-bundle-custom-app-generate。

774Star
282Fork
更新于 2026/7/24
SKILL.md
readonly只读
name
platform-custom-application-generate
description

当用户需要创建或配置基于标签的Salesforce自定义应用程序,包括导航、品牌和操作覆盖时,使用此技能。当用户提及自定义应用程序、应用程序元数据、应用程序导航或将标签组织到应用程序中时触发。当用户想要为标签和页面创建应用程序容器时使用。当目标是在App Launcher中托管React UI捆绑包时,请勿使用——这种情况请使用experience-ui-bundle-custom-app-generate。

何时使用此技能

当您需要以下操作时,请使用此技能:

  • 创建Lightning应用程序
  • 将标签和功能组织到专注的应用程序中
  • 配置应用程序导航和品牌
  • 为对象设置自定义页面布局
  • 排查与自定义应用程序相关的部署错误

CustomApplication(Lightning App)元数据规范

概述

自定义应用程序(Lightning Apps)将标签和功能分组,为特定业务流程提供专注的用户体验。始终为Lightning Experience配置。

目的

  • 将相关功能组织到专注的应用程序中
  • 为特定用户角色分组标签和组件
  • 提供量身定制的用户体验
  • 控制对特定功能和数据的访问
  • 对于一般业务应用程序使用Standard导航,对于需要多标签工作区的专业服务/支持工作流使用Console导航
  • 使用自定义颜色和品牌创建专业、有品牌标识的应用程序身份
  • 使用自定义Lightning页面覆盖标准操作,以增强用户体验
  • 通过配置文件操作覆盖实现特定于配置文件的体验

必需属性

核心应用程序属性

  • fullName:应用程序的API名称
  • label:应用程序的显示名称
  • uiType:对于现代应用程序始终为"Lightning"
  • navType:关键——根据用户需求和工作流模式选择
    • "Standard":对于一般业务应用程序(例如销售、市场营销、运营)为默认值
    • "Console":仅当工作流需要同时管理多个记录,使用分屏或多标签工作区时(例如客户服务、呼叫中心、支持运营)
  • formFactors:外形因素数组(桌面端为["LARGE"],移动端为["SMALL"],或两者)

可选属性

  • description:应用程序目的的简要描述
  • tabs:要包含的标签名称数组
  • utilityBar:Utility Bar配置的API名称
  • brand:⚠️ 强烈推荐——品牌配置对象(headerColor、shouldOverrideOrgTheme、footerColor)
  • actionOverrides:⚠️ 当存在自定义记录页面时必需——操作覆盖配置(actionName、content、formFactor、type、pageOrSobjectType)
  • profileActionOverrides:特定于配置文件的操作覆盖(actionName、content、formFactor、pageOrSobjectType、type、profile)
  • isNavAutoTempTabsDisabled:导航行为设置(默认:false)
  • isNavPersonalizationDisabled:个性化设置(默认:false)
  • isNavTabPersistenceDisabled:标签持久性设置(默认:false)

应用程序配置

导航类型选择(关键)

navType的决策标准:

选择"Standard"(默认)用于:

  • 一般业务应用程序和大多数工作流
  • 单记录焦点或线性导航模式
  • 标准的基于标签的导航就足够了

仅当工作流需要时选择"Console":

  • 在分屏视图中同时管理多个相关记录
  • 用于处理复杂、相互关联数据的多标签工作区
  • 同时可见来自多个来源的上下文信息
  • 示例:客户服务运营、支持台、呼叫中心

如有疑问: 对于大多数一般业务用例,默认选择"Standard"

导航设置

  • isNavAutoTempTabsDisabled:控制自动临时标签的创建
  • isNavPersonalizationDisabled:控制用户个性化功能
  • isNavTabPersistenceDisabled:控制跨会话的标签持久性

标签管理

  • tabs:要包含在应用程序中的标签名称数组
  • formFactors:特定于设备的配置(桌面端为Large,移动端为Small)

Utility Bar

  • utilityBar:引用Lightning utility bar(出现在Lightning Experience底部)

品牌(强烈推荐——请勿跳过)

重要:提供品牌配置以创建专业、视觉上独特的应用程序身份。

  • brand.headerColor:十六进制格式的标题栏颜色(例如"#0070D2")——推荐
  • brand.shouldOverrideOrgTheme:覆盖组织主题(true/false)——默认:false
  • brand.footerColor:十六进制格式的页脚颜色

操作覆盖(关键——请勿跳过)

重要:必须为每个具有flexipage专家生成的记录页面的自定义对象标签创建操作覆盖。

  • actionOverrides.actionName:要覆盖的操作("View"或"Tab")
  • actionOverrides.content:页面/组件名称(FlexiPage、Visualforce、Lightning组件)
    • 对于"View"操作:引用flexipage专家生成的记录页面
    • 对于"Tab"操作:引用flexipage专家生成的主页/应用程序页面
  • actionOverrides.formFactor:设备类型("Large"或"Small")
  • actionOverrides.type:覆盖类型("Default"、"Visualforce"、"Flexipage"、"LightningComponent"、"Scontrol")
    • 推荐:对于flexipage专家生成的Lightning记录/主页页面,使用"Flexipage"
  • actionOverrides.pageOrSobjectType:覆盖适用的对象API名称
  • actionOverrides.comment:可选描述(最多1000个字符)
    • 自动生成的注释:"Action override created by Lightning App Builder during activation."
  • actionOverrides.skipRecordTypeSelect:跳过记录类型选择(默认:false)

配置文件操作覆盖

  • profileActionOverrides.actionName:要覆盖的操作("View"或"Tab")
  • profileActionOverrides.content:页面/组件名称
    • 对于"View"操作:引用flexipage专家生成的特定于配置文件的记录页面
    • 对于"Tab"操作:引用flexipage专家生成的特定于配置文件的主页
    • 可以引用与actionOverrides相同或不同的FlexiPage,以实现特定于配置文件的体验
  • profileActionOverrides.formFactor:设备类型("Large"或"Small")
  • profileActionOverrides.pageOrSobjectType:对象API名称
  • profileActionOverrides.type:覆盖类型
    • 推荐:对于flexipage专家生成的Lightning页面,使用"Flexipage"
  • profileActionOverrides.profile:配置文件API名称(例如"Admin"、"Standard User")
    • 为不同的用户配置文件启用不同的页面布局

设备支持

桌面配置

  • formFactor:"Large"
  • tabs:应用程序标签的完整列表

手机配置

  • formFactor:"Small"
  • tabs:移动优化的标签选择

平板配置

  • formFactor:"Medium"
  • tabs:适合平板的标签选择

用户体验功能

导航行为

  • 自动临时标签:可以启用/禁用
  • 个性化:用户自定义选项
  • 标签持久性:记住用户的标签选择

可访问性

  • 键盘导航:完整的键盘支持
  • 屏幕阅读器:与辅助技术兼容
  • 高对比度:支持高对比度模式

集成点

  • 自定义标签:包括自定义对象和Web标签
  • 标准标签:包括标准Salesforce标签
  • Lightning页面:与Lightning页面布局集成
  • 组件:包括自定义Lightning组件

最佳实践

  • 始终使用Lightning UI:对于现代应用程序,将uiType设置为"Lightning"
  • 选择适当的导航:关键——仔细分析navType选择的需求
    • 对于一般业务应用程序,使用"Standard"(默认)
    • 仅当工作流需要多标签工作区、分屏视图或同时管理多个相关记录时,使用"Console"
    • Console的示例:客户服务、呼叫中心、支持运营
    • 对于大多数一般业务用例,默认选择"Standard"
  • 包含标准标签:添加常见的Salesforce标签(主页、客户、联系人等)
  • 使用清晰、描述性的应用程序名称
  • 逻辑地分组相关功能
  • 考虑不同的用户角色和需求
  • 在不同设备类型上测试
  • 确保适当的权限和访问控制
  • 为用户提供有意义的描述
  • 遵循一致的命名约定
  • 始终配置品牌:设置headerColor以创建专业的应用程序身份
  • 使用可访问的品牌颜色:确保十六进制颜色具有足够的对比度(符合WCAG AA)
  • 配置utility bars:为用户添加有用的快速访问工具
  • 利用操作覆盖:使用flexipage专家的FlexiPage为特定对象自定义页面布局
  • 使用配置文件覆盖:通过引用每个配置文件不同的flexipage专家生成的页面,提供特定于角色的体验

增强规则

  • uiType:始终设置为"Lightning"以获得现代应用程序体验
  • navType:关键决策——仔细分析用户需求
    • 对于一般业务应用程序,设置为"Standard"(默认)
    • 仅当工作流需要时设置为"Console":
      • 使用分屏功能同时管理多个相关记录
      • 用于处理复杂、相互关联数据的多标签工作区
      • 同时可见来自多个来源的上下文信息
    • Console示例:客户服务运营、呼叫中心、支持台
    • 在Standard和Console之间犹豫时,对于大多数业务用例选择"Standard"
  • formFactors:对于桌面Lightning Experience,始终设置为["LARGE"]
  • 标准标签:自动添加主页、客户、联系人、机会、线索、案例
  • 导航设置:将所有导航标志设置为false以获得最佳用户体验
  • 品牌:始终包含品牌配置以获得专业的应用程序身份
    • 强制:将brand.headerColor设置为适当的颜色(例如Salesforce蓝色为"#0070D2")
    • 根据需求设置brand.shouldOverrideOrgTheme
  • 操作覆盖:当存在自定义记录页面时,始终创建操作覆盖
    • 强制:为指向flexipage专家生成的记录页面的"View"操作添加actionOverrides
    • 使用"Flexipage"类型并引用确切的FlexiPage名称
    • 对于桌面端,将formFactor设置为"Large"
    • 在pageOrSobjectType中包含对象API名称
  • 配置文件操作覆盖:引用flexipage专家生成的页面以实现基于角色的自定义
  • 外形因素:在覆盖中使用"Large"用于桌面端,"Small"用于移动端

关键验证清单(必须验证)

  • [ ] 所有标签都包含在应用程序中
  • [ ] navType已正确设置——验证Console与Standard的选择
  • [ ] 对于大多数一般业务应用程序,默认选择"Standard"
  • [ ] 仅当工作流需要同时管理多个记录、分屏视图或多标签工作区时,设置为"Console"
  • [ ] 如果需求是一般/模糊的→navType应为"Standard"
  • [ ] 品牌已配置——对于专业应用程序,这是强烈推荐的
  • [ ] brand.headerColor已设置为有效的十六进制颜色(例如"#0070D2")
  • [ ] brand.shouldOverrideOrgTheme已设置(默认:false)
  • [ ] 操作覆盖已创建——对于每个具有记录页面的自定义对象,这是强制性的
  • [ ] 为每个自定义对象标签定义了操作覆盖,指向正确的记录页面
  • [ ] actionOverrides.content与flexipage专家生成的确切FlexiPage名称匹配
  • [ ] actionOverrides.pageOrSobjectType设置为正确的对象API名称
  • [ ] actionOverrides.type设置为"Flexipage"
  • [ ] actionOverrides.actionName设置为"View"
  • [ ] actionOverrides.formFactor设置为"Large"
  • [ ] 所有必填字段均已填充(fullName、label、uiType、navType、formFactors)