generating-custom-application
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWhen to Use This Skill
何时使用此技能
Use this skill when you need to:
- Create Lightning applications
- Organize tabs and features into focused apps
- Configure application navigation and branding
- Set up custom page layouts for objects
- Troubleshoot deployment errors related to custom applications
当你需要以下操作时,使用此技能:
- 创建Lightning应用
- 将标签和功能组织到聚焦型应用中
- 配置应用导航和品牌标识
- 为对象设置自定义页面布局
- 排查与自定义应用相关的部署错误
CustomApplication (Lightning App) Metadata Specification
CustomApplication(Lightning应用)元数据规范
Overview
概述
Custom applications (Lightning Apps) that group tabs and functionality to provide a focused user experience for specific business processes. Always configured for Lightning Experience.
自定义应用(Lightning应用)可将标签和功能分组,为特定业务流程提供聚焦的用户体验。此类应用始终针对Lightning Experience进行配置。
🎯 Purpose
🎯 用途
- Organize related functionality into focused applications
- Group tabs and components for specific user roles
- Provide tailored user experiences
- Control access to specific features and data
- Use Standard navigation for general business applications or Console navigation for specialized service/support workflows requiring multi-tab workspaces
- Create professional, branded application identity with custom colors and branding
- Override standard actions with custom Lightning pages for enhanced user experience
- Enable profile-specific experiences through profile action overrides
- 将相关功能组织到聚焦型应用中
- 为特定用户角色分组标签和组件
- 提供定制化的用户体验
- 控制对特定功能和数据的访问权限
- 对于通用业务应用使用标准导航,对于需要多标签工作区的专业服务/支持工作流使用控制台导航
- 通过自定义颜色和品牌标识打造专业、独特的应用形象
- 使用自定义Lightning页面覆盖标准操作,提升用户体验
- 通过配置文件操作覆盖实现针对特定配置文件的体验
⚙️ Required Properties
⚙️ 必填属性
Core Application Properties
核心应用属性
- fullName: API name of the application
- label: Display name of the application
- uiType: Always "Lightning" for modern apps
- navType: CRITICAL - Choose based on user requirements and workflow patterns
- "Standard": DEFAULT for general business applications (e.g., sales, marketing, operations)
- "Console": ONLY when workflow requires managing multiple records simultaneously with split-view or multi-tab workspace (e.g., customer service, call centers, support operations)
- formFactors: Array of form factors (["LARGE"] for desktop, ["SMALL"] for mobile, or both)
- fullName:应用的API名称
- label:应用的显示名称
- uiType:现代应用始终设为"Lightning"
- navType:关键属性 - 根据用户需求和工作流模式选择
- "Standard":通用业务应用的默认选项(例如销售、营销、运营)
- "Console":仅当工作流需要同时管理多条记录、使用拆分视图或多标签工作区时使用(例如客户服务、呼叫中心、支持运营)
- formFactors:适配设备类型的数组(["LARGE"]对应桌面端,["SMALL"]对应移动端,或两者皆选)
Optional Properties
可选属性
- description: Brief description of the application's purpose
- tabs: Array of tab names to include
- utilityBar: API name of the Utility Bar configuration
- brand: ⚠️ HIGHLY RECOMMENDED - Branding configuration object (headerColor, shouldOverrideOrgTheme, footerColor)
- actionOverrides: ⚠️ REQUIRED when custom record pages exist - Action override configuration (actionName, content, formFactor, type, pageOrSobjectType)
- profileActionOverrides: Profile-specific action overrides (actionName, content, formFactor, pageOrSobjectType, type, profile)
- isNavAutoTempTabsDisabled: Navigation behavior setting (default: false)
- isNavPersonalizationDisabled: Personalization setting (default: false)
- isNavTabPersistenceDisabled: Tab persistence setting (default: false)
- 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)
🔧 Application Configuration
🔧 应用配置
Navigation Type Selection (CRITICAL)
导航类型选择(关键)
Decision Criteria for navType:
Choose "Standard" (DEFAULT) for:
- General business applications and most workflows
- Single-record focus or linear navigation patterns
- Standard tab-based navigation is sufficient
Choose "Console" ONLY when workflow requires:
- Managing multiple related records simultaneously in split-view
- Multi-tab workspace for handling complex, interconnected data
- Contextual information from multiple sources visible at once
- Examples: customer service operations, support desks, call centers
When in doubt: Default to "Standard" for most general business use cases
navType决策标准:
选择"Standard"(默认)的场景:
- 通用业务应用及大多数工作流
- 单记录聚焦或线性导航模式
- 标准标签式导航已足够满足需求
仅在以下工作流场景选择"Console":
- 需要在拆分视图中同时管理多条相关记录
- 需要多标签工作区处理复杂、相互关联的数据
- 需要同时查看来自多个来源的上下文信息
- 示例:客户服务运营、支持台、呼叫中心
不确定时: 大多数通用业务场景默认选择"Standard"
Navigation Settings
导航设置
- isNavAutoTempTabsDisabled: Controls automatic temporary tab creation
- isNavPersonalizationDisabled: Controls user personalization features
- isNavTabPersistenceDisabled: Controls tab persistence across sessions
- isNavAutoTempTabsDisabled:控制自动临时标签的创建
- isNavPersonalizationDisabled:控制用户个性化功能
- isNavTabPersistenceDisabled:控制跨会话的标签持久化
Tab Management
标签管理
- tabs: Array of tab names to include in the application
- formFactors: Device-specific configurations (Large for desktop, Small for mobile)
- tabs:应用中要包含的标签名称数组
- formFactors:针对不同设备的配置(Large对应桌面端,Small对应移动端)
Utility Bar
Utility Bar
- utilityBar: Reference to Lightning utility bar (appears at bottom of Lightning Experience)
- utilityBar:引用Lightning utility bar(显示在Lightning Experience底部)
Branding (HIGHLY RECOMMENDED - DO NOT SKIP)
品牌标识配置(强烈推荐 - 请勿跳过)
IMPORTANT: Provide branding configuration to create a professional, visually distinct application identity.
- brand.headerColor: Header bar color in hex format (e.g., "#0070D2") - RECOMMENDED
- brand.shouldOverrideOrgTheme: Override organization theme (true/false) - Default: false
- brand.footerColor: Footer color in hex format
重要提示:配置品牌标识以打造专业、视觉独特的应用形象。
- brand.headerColor:标题栏颜色(十六进制格式,例如"#0070D2")- 推荐配置
- brand.shouldOverrideOrgTheme:是否覆盖组织主题(true/false)- 默认值:false
- brand.footerColor:页脚颜色(十六进制格式)
Action Overrides (CRITICAL - DO NOT SKIP)
操作覆盖配置(关键 - 请勿跳过)
IMPORTANT: Action overrides MUST be created for every custom object tab that has a record page generated by flexipage expert.
- actionOverrides.actionName: Action to override ("View" or "Tab")
- actionOverrides.content: Page/component name (FlexiPage, Visualforce, Lightning component)
- For "View" action: Reference record pages generated by flexipage expert
- For "Tab" action: Reference home/app pages generated by flexipage expert
- actionOverrides.formFactor: Device type ("Large" or "Small")
- actionOverrides.type: Override type ("Default", "Visualforce", "Flexipage", "LightningComponent", "Scontrol")
- Recommended: Use "Flexipage" for Lightning record/home pages generated by flexipage expert
- actionOverrides.pageOrSobjectType: Object API name the override applies to
- actionOverrides.comment: Optional description (max 1000 characters)
- Auto-generated comment: "Action override created by Lightning App Builder during activation."
- actionOverrides.skipRecordTypeSelect: Skip record type selection (default: false)
重要提示:对于每个拥有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字符)
- 自动生成的描述:"Action override created by Lightning App Builder during activation."
- actionOverrides.skipRecordTypeSelect:是否跳过记录类型选择(默认值:false)
Profile Action Overrides
配置文件操作覆盖
- profileActionOverrides.actionName: Action to override ("View" or "Tab")
- profileActionOverrides.content: Page/component name
- For "View" action: Reference profile-specific record pages generated by flexipage expert
- For "Tab" action: Reference profile-specific home pages generated by flexipage expert
- Can reference same or different FlexiPages than actionOverrides for profile-specific experiences
- profileActionOverrides.formFactor: Device type ("Large" or "Small")
- profileActionOverrides.pageOrSobjectType: Object API name
- profileActionOverrides.type: Override type
- Recommended: Use "Flexipage" for Lightning pages generated by flexipage expert
- profileActionOverrides.profile: Profile API name (e.g., "Admin", "Standard User")
- Enables different page layouts for different user profiles
- 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")
- 可为不同用户配置文件启用不同的页面布局
📱 Device Support
📱 设备支持
Desktop Configuration
桌面端配置
- formFactor: "Large"
- tabs: Full list of application tabs
- formFactor:"Large"
- tabs:完整的应用标签列表
Phone Configuration
移动端配置
- formFactor: "Small"
- tabs: Mobile-optimized tab selection
- formFactor:"Small"
- tabs:经过移动端优化的标签选择
Tablet Configuration
平板端配置
- formFactor: "Medium"
- tabs: Tablet-appropriate tab selection
- formFactor:"Medium"
- tabs:适合平板的标签选择
🎨 User Experience Features
🎨 用户体验功能
Navigation Behavior
导航行为
- Auto Temporary Tabs: Can be enabled/disabled
- Personalization: User customization options
- Tab Persistence: Remember user's tab selections
- 自动临时标签:可启用/禁用
- 个性化:用户自定义选项
- 标签持久化:记住用户的标签选择
Accessibility
无障碍访问
- Keyboard Navigation: Full keyboard support
- Screen Reader: Compatible with assistive technologies
- High Contrast: Support for high contrast modes
- 键盘导航:完整的键盘支持
- 屏幕阅读器:兼容辅助技术
- 高对比度:支持高对比度模式
🔗 Integration Points
🔗 集成点
- Custom Tabs: Include custom object and web tabs
- Standard Tabs: Include standard Salesforce tabs
- Lightning Pages: Integrate with Lightning page layouts
- Components: Include custom Lightning components
- 自定义标签:包含自定义对象和网页标签
- 标准标签:包含Salesforce标准标签
- Lightning页面:与Lightning页面布局集成
- 组件:包含自定义Lightning组件
✅ Best Practices
✅ 最佳实践
- Always use Lightning UI: Set to "Lightning" for modern apps
uiType - Choose appropriate navigation: CRITICAL - Analyze requirements carefully for selection
navType- Use "Standard" (DEFAULT) for general business applications
- Use "Console" ONLY when workflow requires multi-tab workspace, split-view, or managing multiple related records simultaneously
- Examples for Console: customer service, call centers, support operations
- Default to "Standard" for most general business use cases
- Include Standard Tabs: Add common Salesforce tabs (Home, Accounts, Contacts, etc.)
- Use clear, descriptive application names
- Group related functionality logically
- Consider different user roles and needs
- Test across different device types
- Ensure proper permissions and access control
- Provide meaningful descriptions for users
- Follow consistent naming conventions
- Always configure branding: Set headerColor to create professional application identity
- Use accessible brand colors: Ensure hex colors have sufficient contrast (WCAG AA compliant)
- Configure utility bars: Add useful quick-access tools for users
- Leverage action overrides: Customize page layouts for specific objects using FlexiPages from flexipage expert
- Use profile overrides: Provide role-specific experiences by referencing different flexipage expert generated pages per profile
- 始终使用Lightning UI:将设为"Lightning"以获得现代应用体验
uiType - 选择合适的导航类型:关键操作 - 仔细分析需求以选择
navType- 通用业务应用使用"Standard"(默认)
- 仅当工作流需要多标签工作区、拆分视图或同时管理多条相关记录时使用"Console"
- Console适用场景示例:客户服务、呼叫中心、支持运营
- 大多数通用业务场景默认选择"Standard"
- 包含标准标签:添加常见的Salesforce标签(Home、Accounts、Contacts等)
- 使用清晰、描述性的应用名称
- 按逻辑分组相关功能
- 考虑不同用户角色和需求
- 在不同设备类型上进行测试
- 确保权限和访问控制设置正确
- 为用户提供有意义的描述
- 遵循一致的命名规范
- 始终配置品牌标识:设置headerColor以打造专业的应用形象
- 使用无障碍品牌颜色:确保十六进制颜色具有足够的对比度(符合WCAG AA标准)
- 配置utility bars:为用户添加实用的快捷工具
- 利用操作覆盖:使用flexipage expert生成的FlexiPages为特定对象自定义页面布局
- 使用配置文件覆盖:通过为每个配置文件引用flexipage expert生成的不同页面,实现基于角色的定制化体验
🎯 Enhancement Rules
🎯 增强规则
- uiType: Always set to "Lightning" for modern app experience
- navType: CRITICAL DECISION - Analyze user requirements carefully
- Set to "Standard" (DEFAULT) for general business applications
- Set to "Console" ONLY when workflow requires:
- Managing multiple related records simultaneously with split-view capability
- Multi-tab workspace for handling complex, interconnected data
- Contextual information from multiple sources visible at once
- Console examples: customer service operations, call centers, support desks
- When in doubt between Standard and Console, choose "Standard" for most business use cases
- formFactors: Always set to ["LARGE"] for desktop Lightning Experience
- Standard Tabs: Automatically add Home, Accounts, Contacts, Opportunities, Leads, Cases
- Navigation Settings: Set all navigation flags to false for best user experience
- Branding: ALWAYS include brand configuration for professional application identity
- MANDATORY: Set brand.headerColor to appropriate color (e.g., "#0070D2" for Salesforce Blue)
- Set brand.shouldOverrideOrgTheme based on requirements
- Action Overrides: ALWAYS create action overrides when custom record pages exist
- MANDATORY: Add actionOverrides for "View" action pointing to flexipage expert generated record pages
- Use "Flexipage" type and reference the exact FlexiPage name
- Set formFactor to "Large" for desktop
- Include pageOrSobjectType with the object API name
- Profile Action Overrides: Reference flexipage expert generated pages for role-based customization
- Form Factors: Use "Large" for desktop, "Small" for mobile in overrides
- uiType:现代应用始终设为"Lightning"
- navType:关键决策 - 仔细分析用户需求
- 通用业务应用设为"Standard"(默认)
- 仅当工作流需要以下场景时设为"Console":
- 使用拆分视图同时管理多条相关记录
- 使用多标签工作区处理复杂、相互关联的数据
- 同时查看来自多个来源的上下文信息
- Console适用场景示例:客户服务运营、呼叫中心、支持台
- 当在Standard和Console之间不确定时,大多数业务场景选择"Standard"
- formFactors:桌面端Lightning Experience始终设为["LARGE"]
- 标准标签:自动添加Home、Accounts、Contacts、Opportunities、Leads、Cases
- 导航设置:将所有导航标志设为false以获得最佳用户体验
- 品牌标识:始终包含品牌配置以打造专业的应用形象
- 必填:将brand.headerColor设为合适的颜色(例如Salesforce蓝色"#0070D2")
- 根据需求设置brand.shouldOverrideOrgTheme
- 操作覆盖:当存在自定义记录页面时,始终创建操作覆盖
- 必填:添加针对"View"操作的actionOverrides,指向flexipage expert生成的记录页面
- 使用"Flexipage"类型并引用准确的FlexiPage名称
- 桌面端将formFactor设为"Large"
- 包含pageOrSobjectType并设置为正确的对象API名称
- 配置文件操作覆盖:引用flexipage expert生成的页面以实现基于角色的定制化
- 设备类型:覆盖配置中,桌面端使用"Large",移动端使用"Small"
⚠️ CRITICAL Verification Checklist (MUST VERIFY)
⚠️ 关键验证清单(必须验证)
- All tabs are included in the application
- navType IS CORRECTLY SET - Verify Console vs Standard selection
- Default to "Standard" for most general business applications
- Set to "Console" ONLY if workflow requires managing multiple records simultaneously, split-view, or multi-tab workspace
- If requirements are general/ambiguous → navType should be "Standard"
- BRANDING IS CONFIGURED - This is HIGHLY RECOMMENDED for professional applications
- brand.headerColor is set with valid hex color (e.g., "#0070D2")
- brand.shouldOverrideOrgTheme is set (default: false)
- ACTION OVERRIDES ARE CREATED - This is MANDATORY for every custom object with a record page
- Action overrides are defined for EACH custom object tab pointing to the correct record page
- actionOverrides.content matches the exact FlexiPage name generated by flexipage expert
- actionOverrides.pageOrSobjectType is set to the correct object API name
- actionOverrides.type is set to "Flexipage"
- actionOverrides.actionName is set to "View"
- actionOverrides.formFactor is set to "Large"
- All required fields are populated (fullName, label, uiType, navType, formFactors)
- 所有标签已包含在应用中
- 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)