关于 generating-custom-application
用于创建 Salesforce Lightning 应用的技能,可将标签页和功能组织为面向角色或业务流程的体验。内容涵盖导航、品牌、设备设置、页面覆盖及部署检查。
主要功能
- 01配置 Lightning 应用元数据
- 02选择 Standard 或 Console 导航
- 03组织标签页和实用工具栏
- 04设置品牌与设备规格
- 05配置页面及个人资料覆盖
适用场景
- 01为业务流程创建应用
- 02设置多记录支持控制台
- 03自定义导航和应用品牌
- 04排查应用部署问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill generating-custom-application安装后在 Claude Code 中输入/generating-custom-application确认已加载。
详细介绍
何时使用此技能
在需要以下操作时使用此技能:
- 创建 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:实用工具栏配置的 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)
实用工具栏
- utilityBar:对 Lightning 实用工具栏的引用(显示在 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")
- 推荐:对 flexipage expert 生成的 Lightning 记录页/主页使用 "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 相同或不同的 FlexiPages
- profileActionOverrides.formFactor:设备类型("Large" 或 "Small")
- profileActionOverrides.pageOrSobjectType:对象 API 名称
- profileActionOverrides.type:覆盖类型
- 推荐:对 flexipage expert 生成的 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 标签页(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
- 操作覆盖:存在自定义记录页面时,始终创建操作覆盖
- 必须:添加 actionOverrides,使 "View" 操作指向 flexipage expert 生成的记录页面
- 使用 "Flexipage" 类型,并引用准确的 FlexiPage 名称
- 将 formFactor 设为 "Large",用于桌面版
- 添加 pageOrSobjectType,并填写对象 API 名称
- 配置文件操作覆盖:引用 flexipage expert 生成的页面,以支持基于角色的自定义
- Form Factors:在覆盖项中,桌面版使用 "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)
评论
支持 Markdown