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)






