跳至内容
白白随笔

白白随笔

Salesforce官方讲师

学习目录

近期文章

  • Salesforce CLI 配置和提示
  • Salesforce CLI 设置指南
  • 持续集成
  • 开发解锁包
  • 解锁包
  • 构建和发布应用
  • 部署
  • 沙盒
  • 临时组织
  • 授权
  • Salesforce 开发人员体验如何改变您的工作方式
  • 将 Experience Cloud 站点从沙盒部署到生产环境
  • 开发安全站点: CSP、LWS 和 闪电 柜子
  • 开发安全站点:经过身份验证的用户和来宾用户
  • 自定义模板的主题布局
  • 自定义体验生成器模板的外观
  • Experience Cloud 开发人员指南
  • 部署和检索元数据
  • 快速入门:元数据 API
  • 元数据 API 开发人员指南

归档

  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2021 年 1 月
  • 2020 年 12 月
  • 2020 年 6 月
  • 2020 年 5 月
  • 2020 年 4 月
  • 2019 年 11 月
  • 2019 年 10 月
  • 2019 年 9 月
  • 2019 年 8 月
  • 2019 年 7 月
  • 2019 年 6 月
  • 2019 年 4 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2018 年 10 月
  • 2018 年 9 月
  • 2018 年 8 月
  • 2018 年 7 月
  • 2018 年 5 月
  • 2018 年 4 月
  • 2018 年 3 月
  • 2018 年 2 月
  • 2018 年 1 月
  • 2017 年 12 月
  • 2017 年 11 月
  • 2017 年 8 月

分类

  • Analytics Cloud
    • Analytics Administration
    • Analytics Apps Basics
    • Analytics Basics
    • Analytics Dashboard
    • Analytics Data Integration
    • Analytics Exploration
    • App Design
    • App Template
    • Build Advanced Analytics
    • Build Analytics
    • Custom Map
    • Einstein Analytics
    • Einstein Basics
    • Einstein Discovery Basics
    • Einstein Discovery Stories
    • Einstein Discovery Story Insights
    • Einstein Prediction Builder
    • Embed an Einstein Analytics
    • Event Monitoring
    • Gauge Chart
    • Mobile Exploration
    • Sales Analytics
    • Service Analytics
  • Apex
    • Apex Trigger
    • Apex 开发人员指南
    • Apex-Metadata API
    • Apex-基础
    • Apex-大数据处理
    • Apex-异步
    • Apex-测试
    • 事件驱动
    • 大对象
  • AppExchange合作伙伴
    • AppExchange合作伙伴基础
    • AppExchange应用试用管理
    • ISVforce 指南
    • 合作伙伴社区
    • 合作伙伴诚信道德
    • 安全审查
    • 应用升级
    • 应用程序策略
    • 应用程序部署
    • 应用许可证
    • 试用版管理
  • Commerce Cloud
    • Commerce Cloud功能
    • Commerce Cloud和客户成功平台
    • Commerce Cloud基础
    • Commerce Cloud爱因斯坦实施
    • Commerce的体系结构
    • Salesforce B2B Commerce基础
    • Salesforce B2C Commerce for 合作伙伴
    • Salesforce B2C Commerce SEO URL
    • Salesforce B2C Commerce启动准备
    • Salesforce B2C Commerce客户分析
    • Salesforce B2C Commerce导入/导出
    • Salesforce B2C Commerce店面实施
    • Salesforce B2C Commerce按需沙盒
    • Salesforce B2C Commerce程序员
    • Salesforce B2C Commerce网站准备情况评估
    • Salesforce B2C Commerce项目管理
    • Salesforce B2C Commerce预定作业
    • Salesforce B2C商业信任网站
    • Salesforce B2C商业复制
    • Salesforce B2C商业活动和促销
    • Salesforce B2C商务
    • Salesforce B2C商务功能咨询策略
    • Salesforce B2C商务角色和权限
    • Salesforce B2C商家贸易
    • Salesforce订单管理
    • 使用Commerce Cloud Einstein进行更智能的搜索
    • 使用Salesforce B2C Commerce的假期准备
    • 爱因斯坦对Commerce Cloud的产品建议
  • Community社区云
    • Community-基础
    • Community-搜索
    • Community-知识库和聊天
    • Community-部署
    • Experience Cloud 开发人员指南
    • 分布式组织中的品牌定位
    • 合作伙伴关系管理
    • 合作伙伴渠道销售
    • 渠道管理和合作伙伴门户
  • Dreamforce
  • Field Service
    • Field Service基础
    • Field Service配置
    • FSL Managed Package
  • Financial Services
    • 智能推荐和金融服务云计分
    • 金融服务云中的行动计划
    • 金融服务云发布准备
    • 金融服务云基础
    • 金融服务云定制
    • 金融服务云数据建模
    • 金融服务云数据模型基础知识
    • 金融服务云的客户名单增长
    • 金融服务云的抵押掌握
    • 金融服务云社区
  • Integrate
    • Canvas
    • Heroku
    • REST API 开发人员指南
    • Salesforce Connect
    • Salesforce-API
    • 元数据 API 开发人员指南
  • Lightning Web Components
    • Lightning Web 组件开发人员指南
    • Salesforce DX 开发人员指南
    • 使用Lightning Web Components开放源代码访问Salesforce数据
    • 使用Lightning Web Components开源构建您的第一个应用程序
    • 使用Lightning Web组件构建Bear-tracking应用程序
    • 在闪电Web组件之间通信
    • 将Lightning Web Components开源转换为Salesforce
    • 快速入门:探索Lightning Web Components OSS食谱示例应用程序
    • 快速入门:探索Visualforce至LWC示例应用程序
    • 快速入门:闪电Web组件
    • 构建可重复使用的闪电组件
    • 设置您的Lightning Web Components开发人员工具
    • 适用于Aura开发人员的Lightning Web Components
    • 适用于Visualforce开发人员的Lightning Web组件
    • 闪电Web组件和Salesforce数据
    • 闪电Web组件基础
    • 闪电Web组件测试
  • Lightning-开发
    • Lightning-应用程序
    • Lightning-开发基础
    • Lightning-数据访问
    • Lightning-组件
    • Lightning-覆盖标准按钮
    • Lightning-设计
    • LWC中的Javascript
  • Lightning-配置
    • Lightning – Chatter
    • Lightning – 基础
    • Lightning – 实施上线
    • Lightning – 报表
    • Lightning – 特征
    • Lightning – 自定义设置
    • Lightning – 面向销售
    • Lightning-流
    • Linghting – AI
  • Marketing Cloud
    • Email Studio
  • Sales Cloud
    • Campaign基础
    • 销售区域计划
    • 销售区域预测
  • Salesforce CPQ
  • Salesforce-开发
    • Big Objects
    • GitHub
    • Platform Cache
    • Salesforce CLI 设置指南
  • Salesforce管理员
    • Outlook集成
    • 公式
    • 移动配置
    • 管理员-公司组织设置
    • 管理员-基础
    • 管理员-数据清理
    • 管理员-数据管理
    • 管理员-数据结构
    • 管理员-用户基础知识
    • 管理员-设置
  • Service Cloud
    • Omni-Channel
    • Service Cloud基础
    • 个案
    • 呼叫中心集成
    • 服务控制台
  • Visualforce
    • Visualforce 开发人员指南
    • Visualforce-基础
    • Visualforce-邮件模板
  • VSCode的Salesforce扩展
  • 开发方法论
    • Kanban
    • Salesforce 敏捷开发
    • Scrum
    • 应用程序生命周期和开发模型
    • 开发生命周期
    • 敏捷模型
  • 未分类
  • 第三方打通
    • 百度地图
  • 认证考试
    • 初级开发
  • 产品介绍
    • 服务云
    • 销售云
    • 营销云
    • 电商云
  • 公司介绍
  • 关于我们
  • 博客首页
  • 培训课程
    • DEX450
    • DEX502
    • ADX201
    • ADX211
    • DEX403
  • 学习目录
  • 学习视频
    • 系统管理员视频课
    • 高级系统管理员视频课
  • 示例页面
  • 隐私政策

标签: Metadata

Metadata

Metadata

Salesforce使用类型和组件来表示组织配置和 定制。元数据用于管理员控制或配置的组织设置 已安装的应用和程序包应用的信息。

使用命名空间中的类访问 来自 Apex 代码中的任务的元数据,包括:Metadata

  • 自定义应用安装或升级 – 在安装(或升级)期间或之后,您的应用可以 创建或更新元数据,让用户配置您的应用。
  • 安装后自定义应用程序 – 安装应用程序后,您可以在 Apex 允许管理员使用应用提供的 UI 配置应用,而不是使用 管理员手动使用标准的 Salesforce 设置 UI。
  • 安全访问受保护的元数据 – 更新应用在内部使用的元数据 而不向用户公开这些类型和组件。
  • 创建自定义配置工具 – 使用 Apex 中的元数据为 管理员自定义应用和包。

Apex 中的元数据访问适用于使用 API 版本 40.0 及更高版本的 Apex 类。

有关元数据类型和组件的更多信息,请参阅元数据 API 开发人员 指南和自定义元数据 类型实现指南。

  • 检索和部署元数据 使用类检索和部署元数据
    。Metadata.Operations
  • 支持的元数据类型
    Apex 支持元数据类型和组件的子集。
  • 安全注意事项 使用 Apex 访问元数据时,
    请注意安全注意事项。
  • 测试元数据部署
    必须正确测试访问元数据的 Apex 代码。

检索和部署元数据

使用类检索和部署元数据。

Metadata.Operations

使用该方法 从当前组织同步检索元数据。提供元数据组件的列表 要检索的名称。Salesforce 返回匹配组件数据的列表, 由派生自 的组件类表示。Metadata.Operations.retrieve()Metadata.Metadata

使用该方法 将元数据异步部署到当前组织。部署排队等待异步 加工。部署元数据时,可以创建和更新组件,但不能删除 组件。应用和包可以部署的组件存在限制,并且存在限制 哪些类型的应用和包可以部署到哪些类型的组织。有关详细信息,请参阅安全注意事项。Metadata.Operations.enqueueDeployment()

检索和部署元数据时,请使用元数据组件的全名。完整的 name 可以包括命名空间、元数据类型和组件名称。如果您要更新 组件,您还需要限定 全名。例如,MDType1__mdt名为 “myPackage”命名空间中包含的“Component1”是 “myPackage__MDType1__mdt.myPackage__Component1”。有关元数据的更多信息 组件全名语法,详见元数据库 键入元数据 API 开发人员指南。

您可以在安装后脚本中检索和部署元数据。在卸载脚本中,您可以 仅从 Apex 代码中检索元数据,而不部署元数据。

请参阅 Metadata.Operations 用于检索和部署元数据的代码示例。

支持的元数据类型

Apex 支持元数据类型和组件的子集。

Apex 中的元数据访问仅限于支持所述用例的类型和组件 在元数据中。应用和包可以使用 Apex 中的元数据功能进行检索和部署 以下元数据类型和组件:

  • 自定义元数据类型的记录
  • 布局

安全注意事项

使用 Apex 访问元数据时,请注意安全注意事项。

通常,订阅者组织中安装的 Apex 类可以访问任何公共的、受支持的 订阅者组织中的元数据类型或组件。受保护的元数据,例如自定义元数据 标记为受保护的元数据类型只能由 Apex 类访问 与受保护的元数据相同的命名空间。

此外,对于托管包,如果托管包未获得 Salesforce 的批准 通过安全审查,包中的 Apex 类无法访问元数据(public 或 protected),除非 通过 已启用 Apex 组织首选项。此首选项位于“设置”|”如果管理员或开发人员正在安装托管软件包,则必须启用 Apex 设置 尚未通过应用测试或试点目的的安全审核。

对于部署,由于使用异步 Apex,因此排队 部署作业和部署回调在当前 组织。排队的部署作业和回调受调控器限制的约束。请参阅 Lightning 平台顶点限制。Metadata.Operations.enqueueDeployment()

通过 Apex 访问元数据的应用必须通知用户该应用可以检索或部署 订阅者组织中的元数据。对于访问元数据的安装,请在 包裹的描述。您可以编写自己的通知,也可以使用此示例:

This package can access and change metadata outside its namespace in the Salesforce org where it’s installed.

Salesforce 在安全审查期间验证通知。有关详细信息,请参阅 ISVforce 指南。

测试元数据部署

访问元数据的 Apex 代码必须经过正确测试。

要为元数据部署提供 Apex 测试覆盖率,请编写验证两者设置的测试 的部署请求和部署结果的处理。

部署请求代码测试验证获取的元数据组件和组件值 创建并断言包含 确切地说,需要部署什么。DeployContainer

部署结果代码测试验证是否处理了预期和意外结果。Salesforce 通常将 Your 作为 异步部署过程。因此,要在部署之外测试回调,请执行以下操作 过程中,创建直接使用回调类的测试。您还必须创建测试和实例来测试您的方法。DeployCallbackDeployCallbackDeployResultsDeployCallbackContextDeployCallback.handleResults()

创建 的测试实例时,为 子类并提供你自己的 的实现。DeployCallbackContextDeployCallbackContextgetCallbackJobId()

// DeployCallbackContext subclass for testing that returns myJobId
public class TestingDeployCallbackContext extends Metadata.DeployCallbackContext {
  private myJobId = null; // define to a canned ID you can use for testing
  public override Id getCallbackJobId() {
    return myJobId;
  }
}
发布于 2023年12月16日2023年11月25日分类 Apex 开发人员指南标签 Metadata
自豪地采用WordPress