mcpField
P
platform-custom-application-generate

platform-custom-application-generate

github.com/forcedotcom开发1.1k5.8k 次安装1 天前更新
代码仓库

关于 platform-custom-application-generate

面向 Salesforce 开发者的 Lightning 应用元数据规范技能,用于组织导航标签、功能和品牌设置。还指导根据工作模式选择导航类型,并配置页面操作覆盖。

主要功能

  1. 01组织应用标签与功能
  2. 02指导 Standard 或 Console 导航选择
  3. 03配置设备规格与导航选项
  4. 04设置品牌和工具栏
  5. 05配置页面及用户配置文件操作覆盖

适用场景

  1. 01为业务流程创建 Lightning 应用
  2. 02为客服工作区选择 Console 导航
  3. 03为桌面和移动设备设置应用
  4. 04将记录操作指向自定义页面

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/forcedotcom/sf-skills --skill platform-custom-application-generate

安装后在 Claude Code 中输入/platform-custom-application-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 expert 生成了记录页面的自定义对象选项卡,都必须创建操作覆盖项。

  • actionOverrides.actionName:要覆盖的操作(“View” 或 “Tab”)
  • actionOverrides.content:页面/组件名称(FlexiPage、Visualforce、Lightning 组件)
    • 对于 “View” 操作:引用 flexipage expert 生成的记录页面
    • 对于 “Tab” 操作:引用 flexipage expert 生成的主页/应用页面
  • actionOverrides.formFactor:设备类型(“Large” 或 “Small”)
  • actionOverrides.type:覆盖类型(“Default”、“Visualforce”、“Flexipage”、“LightningComponent”、“Scontrol”)
    • 推荐:Lightning 记录页/主页使用 flexipage expert 生成的 “Flexipage”
  • actionOverrides.pageOrSobjectType:覆盖项适用的对象 API 名称
  • actionOverrides.comment:可选说明(最多 1000 个字符)
    • 自动生成的说明:“Lightning App Builder during activation 创建的操作覆盖项。”
  • actionOverrides.skipRecordTypeSelect:跳过记录类型选择(默认值:false)
配置文件操作覆盖项
  • profileActionOverrides.actionName:要覆盖的操作(“View” 或 “Tab”)
  • profileActionOverrides.content:页面/组件名称
    • 对于 “View” 操作:引用 flexipage expert 生成的特定配置文件记录页面
    • 对于 “Tab” 操作:引用 flexipage expert 生成的特定配置文件主页
    • 可引用与 actionOverrides 相同或不同的 FlexiPage,以提供特定配置文件的体验
  • profileActionOverrides.formFactor:设备类型(“Large” 或 “Small”)
  • profileActionOverrides.pageOrSobjectType:对象 API 名称
  • profileActionOverrides.type:覆盖类型
    • 推荐:Lightning 页面使用 flexipage expert 生成的 “Flexipage”
  • profileActionOverrides.profile:配置文件 API 名称(例如,“Admin”、“Standard User”)
    • 可为不同用户配置文件启用不同的页面布局

设备支持

桌面配置
  • formFactor:“Large”
  • tabs:完整的应用选项卡列表
手机配置
  • formFactor:“Small”
  • tabs:针对移动设备优化的选项卡选择
平板电脑配置
  • formFactor:“Medium”
  • tabs:适用于平板电脑的选项卡选择

用户体验功能

导航行为
  • 自动临时选项卡:可启用/禁用
  • 个性化:用户自定义选项
  • 选项卡持久性:记住用户选择的选项卡
无障碍功能
  • 键盘导航:全面支持键盘操作
  • 屏幕阅读器:兼容辅助技术
  • 高对比度:支持高对比度模式

集成点

  • 自定义选项卡:包含自定义对象选项卡和网页选项卡
  • 标准选项卡:包含 Salesforce 标准选项卡
  • Lightning 页面:与 Lightning 页面布局集成
  • 组件:包含自定义 Lightning 组件

最佳实践

  • 始终使用 Lightning UI:将 uiType 设置为 "Lightning",以适用于现代应用
  • 选择合适的导航方式:重要——仔细分析需求,再选择 navType
    • 一般业务应用使用 "Standard"(默认)
    • 仅当工作流需要多标签页工作区、分栏视图或同时管理多条相关记录时,才使用 "Console"
    • Console 示例:客户服务、呼叫中心、支持运营
    • 大多数一般业务场景默认使用 "Standard"
  • 包含标准标签页:添加常用的 Salesforce 标签页(Home、Accounts、Contacts 等)
  • 使用清晰、描述性强的应用名称
  • 按逻辑对相关功能进行分组
  • 考虑不同用户角色和需求
  • 在不同设备类型上进行测试
  • 确保权限和访问控制设置正确
  • 为用户提供有意义的描述
  • 遵循一致的命名规范
  • 始终配置品牌标识:设置 headerColor,打造专业的应用形象
  • 使用易于识别的品牌颜色:确保十六进制颜色具有足够的对比度(符合 WCAG AA 标准)
  • 配置实用工具栏:添加对用户有用的快捷访问工具
  • 充分利用操作覆盖:使用 flexipage expert 提供的 FlexiPages,自定义特定对象的页面布局
  • 使用配置文件覆盖:为不同配置文件引用 flexipage expert 生成的不同页面,提供针对角色定制的体验

增强规则

  • uiType:始终设置为 "Lightning",以提供现代应用体验
  • navType:重要决策——仔细分析用户需求
    • 一般业务应用设置为 "Standard"(默认)
    • 仅当工作流需要以下功能时,才设置为 "Console":
      • 通过分栏视图功能同时管理多条相关记录
      • 使用多标签页工作区处理复杂且相互关联的数据
      • 同时查看来自多个来源的上下文信息
    • Console 示例:客户服务运营、呼叫中心、支持服务台
    • 如果无法确定使用 Standard 还是 Console,大多数业务场景请选择 "Standard"
  • formFactors:始终设置为 ["LARGE"],用于桌面版 Lightning Experience
  • 标准标签页:自动添加 Home、Accounts、Contacts、Opportunities、Leads、Cases
  • 导航设置:将所有导航标志设为 false,以获得最佳用户体验
  • 品牌标识:始终包含品牌配置,打造专业的应用形象
    • 必须设置 brand.headerColor 为合适的颜色(例如,"#0070D2" 表示 Salesforce Blue)
    • 根据需求设置 brand.shouldOverrideOrgTheme
  • 操作覆盖:存在自定义记录页面时,始终创建操作覆盖
    • 必须为 "View" 操作添加 actionOverrides,并将其指向 flexipage expert 生成的记录页面
    • 使用 "Flexipage" 类型,并引用准确的 FlexiPage 名称
    • 桌面端将 formFactor 设置为 "Large"
    • 将 pageOrSobjectType 设置为对象的 API 名称
  • 配置文件操作覆盖:引用 flexipage expert 生成的页面,以进行基于角色的自定义
  • 屏幕规格:覆盖项中,桌面端使用 "Large",移动端使用 "Small"

严格验证清单(必须验证)

  • 所有选项卡都已添加到应用中
  • 已正确设置 navType——验证 Console 与 Standard 的选择
  • 对于大多数通用业务应用,默认使用“Standard”
  • 仅当工作流需要同时管理多条记录、分栏视图或多选项卡工作区时,才设置为“Console”
  • 如果需求笼统或不明确 → navType 应为“Standard”
  • 已配置品牌信息——强烈建议专业应用进行此配置
  • brand.headerColor 已设置为有效的十六进制颜色(例如,“#0070D2”)
  • 已设置 brand.shouldOverrideOrgTheme(默认值:false)
  • 已创建操作覆盖——每个带有记录页面的自定义对象都必须配置
  • 为每个自定义对象选项卡定义操作覆盖,并指向正确的记录页面
  • actionOverrides.content 与 flexipage expert 生成的 FlexiPage 名称完全一致
  • actionOverrides.pageOrSobjectType 已设置为正确的对象 API 名称
  • actionOverrides.type 已设置为“Flexipage”
  • actionOverrides.actionName 已设置为“View”
  • actionOverrides.formFactor 已设置为“Large”
  • 所有必填字段均已填写(fullName、label、uiType、navType、formFactors)

评论

支持 Markdown