组的体系结构注意事项 和专业版

Salesforce CRM分为五层, 或版本:

  • 团体版 (GE)*
  • 专业版 (PE)
  • 企业版 (EE)
  • 无限版 (UE)
  • 性能版 (PXE)*

注意

团体版和性能版不再销售。对于比较图表 版本及其功能,请参阅 Salesforce 定价和版本 页面。

如果您计划将应用程序销售给现有的 Salesforce 客户,请务必了解 这些版本,因为它们会影响应用的设计。它 便于将它们视为集群,GE/PE 和 EE/UE/PXE,作为 每个集群中的版本都具有类似的功能。例如 你可能只想在应用需要时支持 EE/UE/PXE GE/PE 中不可用的某些对象和功能。也 您可以拥有 分层产品。这将包括GE/PE的基本解决方案 以及面向 EE/UE/PXE 客户的高级版本,可利用 附加功能。

EE/UE/PXE 具有最强大的功能。除了 Salesforce CRM 许可证外,它们还支持 Lightning Platform 平台许可证。如果您的应用程序不需要 Salesforce CRM 功能(如潜在客户、商机、案例等),Lightning Platform 平台许可证将为您提供最大的灵活性 将您的应用程序部署到通常可能不是 Salesforce 用户的用户。你的应用仍受版本限制和打包的约束 规则。

GE/PE 不包含您可以构建的所有功能 在 Developer Edition (DE) 中。因此,在 您的 DE 组织可能不会安装在 GE/PE 组织中。如果 您正在设计一个专门在 GE/PE 中工作的应用程序, 您必须了解这些版本的不同之处。

在以下情况下,还有许多其他注意事项需要牢记 决定是否支持这些版本。Lightning 平台平台许可证无法在 GE/PE 组织中配置。 这意味着只有现有的 Salesforce CRM 用户才能使用您的应用程序。有些功能不是 在GE/PE中可用。有几个特殊权限可用 到克服这些限制的合格合作伙伴应用。

请参阅以下部分,了解可用功能、限制和 其他设计注意事项。

  • 团体版和专业版的功能
  • 团体版和专业版的限制
  • 组内访问控制 和专业版
  • 在 Group Edition 和 Professional Edition 中使用 Apex
  • Group Edition 和 Professional Edition 中的 API 访问
  • 设计您的应用程序 支持多个版本
  • 示例设计方案
  • 团体版和专业版的功能
  • 团体版和专业版的限制
  • Group Edition 和 Professional Edition 中的访问控制
  • 在 Group Edition 和 Professional Edition 中使用 Apex
  • Group Edition 和 Professional Edition 中的 API 访问 GE 和 PE 组织通常不支持
    API 访问。但是,在您的应用通过安全审核后,您就有资格使用某些 API 来构建复合应用程序。
  • 设计应用以支持多个版本
  • 团体版和专业版的示例设计方案

团体版和专业版的功能

确定特定版本中可用的功能和对象的最简单方法 是通过查看版本比较表。您也可以查找 哪些版本支持特定功能或对象,方法是搜索联机帮助。这很重要 在开始设计应用之前,请检查这些资源,以便做出明智的决定 面向哪些版本。完成应用构建后,建议进行测试 它通过在 GE 和 PE 测试组织中安装您的软件包来确保一切正常运行 适当地。

下表显示了 GE 和 PE 之间的主要区别。

特征团体版专业版
资产是的
活动是的
合同是(使用 Sales Cloud)
预测是(无商机拆分或自定义字段预测)
想法是的
产品是的
解决 方案是的
记录类型是的
权限集是的是的
自定义配置文件是的
自定义报告类型是的
工作流程和审批否(请参阅注释。
顶点代码请参阅注释。请参阅注释。
共享规则是(对于某些功能)
应用程序接口请参阅注释。请参阅注释。
网站

注意

  • 所有列出的功能在 DE 中都可用。
  • 作为合作伙伴,应用程序中的工作流在 Professional Edition 组织中运行。然而 客户无法创建自己的工作流。他们必须直接从以下位置购买该功能 Salesforce的。
  • 客户端 ID 允许您的应用使用 API 与复合应用集成。查看更多 信息,请参阅在 Group Edition 和 Professional Edition 中使用 Apex 和在 Group Edition 和 Professional Edition 中使用 API 访问。

团体版和专业版的限制

所有 Salesforce 版本都有限制,这些限制可以限制的应用程序、对象和选项卡的数量 被使用。有关各种版本限制的详细信息,请参阅版本限制表。

对于已注册 ISV 计划的合作伙伴,任何托管包 在 AppExchange 上公开发布不再计入应用程序/对象/选项卡 Salesforce 版本的限制。这实际上意味着 ISV 合作伙伴不再需要担心软件包安装失败 因为超出了应用程序/对象/选项卡限制。此功能是 应用通过安全审核后自动启用。

群组和专业版的访问控制 版本

Group Edition 不支持字段级安全性或自定义配置文件。您可以管理字段级别 安全性,改用每个对象的页面布局。当客户安装您的应用时, 他们无法定义哪些配置文件有权访问哪些内容。确保您的设计适用于 标准用户配置文件。权限集可以安装,但不能在组和 专业版组织。

由于页面布局处理字段级别安全性,因此请添加要显示的任何字段 页面布局。要通过 API 或 Visualforce 访问字段,请将它们添加到 页面布局。

在 Group Edition 和 Professional Edition 中使用 Apex

你的应用可以包含业务逻辑,例如类、触发器、电子邮件服务等。 顶点。作为一般规则,GE/PE 不支持 Apex,因此它不会在这些 版本。但是,作为 ISV 应用的一部分开发并包含在托管包中的 Apex 可以运行 在 GE/PE 中,即使这些版本默认不支持 Apex。

您必须是 Salesforce 的合格合作伙伴,并且您的应用程序必须通过安全性 回顾。通过安全性后,将自动启用相应的权限 回顾。以下是在 GE/PE 中使用 Apex 的一些重要注意事项。

  • GE/PE 客户无法在您的应用中创建或修改 Apex;他们只能运行 现有的 Apex。
  • 您的 Apex 代码不应依赖于仅存在于 DE、EE、 UE 或 PXE,否则您的应用将无法安装。
  • 如果您计划将 Apex 方法公开为 Web 方法,请确保使用 REST 服务。无法调用已公开为 SOAP Web 服务的 Apex 类 从 GE/PE 中的外部 Web 应用。
  • 在 GE/PE 中允许使用 Apex 进行 Web 服务标注。例如,如果你是 计划对外部 Web 服务进行 Web 服务标注,只要托管 包,这些类将在 GE/PE 中运行。

Group Edition 和 Professional Edition 中的 API 访问

GE 和 PE 组织通常不支持 API 访问。但是,在您的应用通过后 安全审查,你有资格使用一些 API 来构建复合 应用。

  • 目前,GE 和 PE 应用支持标准数据 SOAP 和 REST API,并且 PE 应用支持元数据 API。若要请求 API 访问权限,请参阅如何获取应用的 API 令牌?您也可以联系 Salesforce 将 连接的应用程序,用于在 GE 或 PE 组织中使用 REST API。
  • 其他 API,例如作为 SOAP Web 服务公开的 Bulk API 2.0 和 Apex 方法, 仍然不可用。
  • 您可以使用连接的应用程序使用者允许列表启用基于 REST 的 Web 服务。
  • 您可以使用 API 令牌启用基于 SOAP 的 Web 服务,包括元数据 API 称为客户端 ID。在集成调用中将客户端 ID 追加到 SOAP 标头。这 通过特殊密钥,你的应用可以调用数据 API 的 GE 和 PE 组织,以及 PE 组织的 元数据 API,即使客户没有 API 访问权限。

客户端 ID 具有这些属性。

  • 不能在自定义 JavaScript、S 控件或 应用中任何位置,其价值将向最终客户公开。
  • 出于开发目的,通过 Environment Hub 创建的 GE 和 PE 组织已经具有 启用元数据 API 和 SOAP API(数据 API)。然后,您可以开发和测试您的应用程序 在安全审查之前。在您的应用通过安全审核后,您将获得 API 令牌,请再次测试您的应用以确保其正常工作。
  • 客户端 ID 授予 GE 和 PE 对 SOAP API 的访问权限,以及对元数据 API 的 PE 访问权限。 使用元数据 API,您可以动态创建通常 在设置中创建。例如,您可以在 PE 中动态创建自定义字段 使用 API 令牌的组织。

下表显示了使用 GE 和 PE 时可以访问的 API 以及访问方法。

应用程序接口获得 GE 和 PE
Web 服务 (SOAP)是的,使用令牌
作为 Web 服务 (SOAP) 公开的 Apex 方法
Web 服务 (REST)是,使用互联应用使用者许可名单
作为 Web 服务 (REST) 公开的 Apex 方法是,使用互联应用使用者许可名单
连接 REST API是的
元数据 API是的,使用令牌
批量 API 2.0
数据加载器工具(使用 SOAP Web 服务)否,无法设置令牌
  • 在组版和专业版
    中访问 REST API Lightning 平台 REST API 为您提供了功能强大、方便且简单的 API,用于与 Lightning 平台进行交互。作为合格的合作伙伴,您可以请求我们为您的应用程序启用对 GE 或 PE 组织的 REST API 调用。

将应用设计为支持多个 版本

支持多个版本提供了发布的机会 应用的更丰富版本,可支持更高级的功能 在 EE、UE 和 PXE 中找到。有两种技术可以利用 以支持多个版本。第一种方法使用扩展包 第二个利用 Dynamic Apex。两者都有好处, 因此,在设计应用之前,请务必查看这两种策略。

  • 使用扩展包支持多个版本
  • 使用 Dynamic Apex 支持多个版本

使用扩展包支持多个版本

此方法使用包含核心应用功能的基本托管包。基地 软件包中仅包含 Group Edition 和 Professional Edition 中支持的功能。然后,您使用 第二个托管包或扩展包,用于扩展和增强基本包。 扩展包添加了 Enterprise、Unlimited 和 性能版本。例如,您有一个跟踪库存的仓库应用程序 此应用的扩展包括工作流(在组中不可用)。您的团队 和专业版客户可以安装基本仓库应用程序,而 其他客户使用工作流安装基础包,然后安装扩展包 组件。

使用基础包和扩展包支持多个版本

使用扩展包可以避免多个代码集,并追加销售 客户。升级客户只需要安装扩展包。下面是创建扩展包的过程。

  1. 创建基础管理的软件包,该软件包使用 Group 和 专业版。
  2. 在单独的 Developer Edition 组织中安装基本管理的软件包。
  3. 在此组织中,创建包含更多功能的扩展包 在 Group Edition 和 Professional Edition 中受支持。您可以引用 base 管理的 包以避免重复功能。引用 Base 管理的包会自动触发此包成为扩展 包。

由于扩展包依赖于基础包,因此花费很重要 设计应用和包之间的接口的时间。例如,如果 扩展包调用基础包中的 Apex 类,您必须确保 所需的 Apex 类是全局的。考虑整个应用程序生命周期也很重要。例如,如果 您想要添加新功能,请将它们包含在相应的包中。确保更新 到基础包,不要破坏扩展包。

注意

访问历史记录信息 对于扩展包中的自定义对象,请与基础包所有者合作以启用 在组织中跟踪基础包的历史记录。在基地中启用历史记录跟踪 当您安装软件包并创建补丁组织时,软件包可能会导致错误 扩展包。

使用 Dynamic Apex 支持多个版本

使用动态 Apex、动态 SOQL 和动态 DML,可以创建一个托管 您计划支持的所有版本的包,而无需使用扩展包。你的应用 行为可能会根据客户版本中可用的功能动态更改。这 在设计旨在支持多个版本的应用时很有用。

做 确保包中的 Apex、工作流等不包含任何对 GE/PE 不支持的功能。这可能包括在不受支持的 标准对象,例如 Campaigns,或对多币种等功能进行 Apex 引用 或区域管理。当您引用包中的功能时,不 受 GE/PE 支持,此包依赖将导致安装失败。

相反,如果您使用动态 Apex 首先检查这些功能是否可用 引用它们,您可以在 GE/PE 中安装托管包。要考虑的重要部分 您必须以能够支持这两种用例的方式对 Dynamic Apex 进行编码。这确保了如果 你的客户没有特定的功能或对象,你的应用仍将正常运行。

面向团体和专业人士的示例设计方案 版本

下面是一些方案,可帮助你了解何时以及如何为 Group 和 Professional 进行构建 版本。方案 1:您想要构建使用记录类型的应用程序由于记录类型在 Group Edition 中不可用,因此请决定是否要支持此功能 版。假设您这样做,您可以构建一个不包含记录的基本托管包 类型。将此托管包以已发布状态上传后,可以将其安装到 另一个 Developer Edition 组织开始构建扩展。扩展可以添加记录 Professional、Enterprise、Unlimited 和 Performance Edition 客户可以使用的类型 安装和使用。方案 2:您想要构建一个包含 80 个自定义对象的应用通常,此方案会给组和专业版组织带来问题,因为 的自定义对象限制。但是,如果您使应用程序在 AppExchange 上可用,则 不计入自定义对象、选项卡和应用限制。因此,即使您的应用程序有 80 个自定义 对象,它可以在 Group 和 Professional Edition 组织中安装和工作。场景 3:您想要构建一个向 Web 服务发出 Apex 标注的应用Apex 通常不会在 Group Edition 和 Professional Edition 中运行。如果您得到托管 软件包在安全审查期间授权,您的 Apex 将按预期执行。为此 场景中,您可以构建 Apex 标注以调用外部服务,然后包含以下内容 包中的类。场景 4:您想要构建一个使用 Campaigns 的应用默认情况下,Group Edition 支持广告系列。对于此方案,您有两个 选项。

  • 选项 1 – 构建不引用广告系列的基于托管的包。在它的 完成、上传并安装到另一个 Developer Edition 组织中。建立活动 功能作为扩展包。现在,您的 Group Edition 客户可以安装基础, 而其余的人也可以安装扩展以获得额外的功能。
  • 选项 2 – 如果使用 Dynamic Apex 作为唯一包,则此选项只需要一个包 引用 Campaigns(如前所述),并且不要在 运动。然后,可以将应用安装在 Group Edition 组织及更高版本中。如果广告系列在 您的客户版本,则您的 Dynamic Apex 可以按预期操作广告系列。

场景 5:你想要构建一个复合应用,其中接收入站 API 调用您有一个单独的托管应用程序,要与 Salesforce 集成,因此您必须使 对 Group 和 Professional Edition 客户的 API 调用。默认情况下,此类调用是不可能的。 但是,如果你是符合条件的合作伙伴,请请求允许 SOAP 调用的特殊 API 令牌 与组和专业版组织集成。请务必将客户端 ID 嵌入到 外部代码的 SOAP 标头。