确定适用于您的应用程序的 Salesforce 版本
学习目标
完成本单元后,您将能够:
- 描述 ISVforce 应用程序支持的版本之间的基本区别。
- 按照给定的一系列要求,确定您的解决方案可以支持的版本。
- 描述为什么确定您的目标组织中的 Salesforce 版本和 Salesforce 许可证很重要。
- 描述 AppExchange 合作伙伴何时确定目标 Salesforce 版本。
确定正确的版本
现在是时候确定您想支持哪些版本的 Salesforce 了。还是假设您是一名家具设计师,设计了一张漂亮的沙发。根据您的设计,您收到了几份订单。工厂生产了沙发。第一次发货时,您发现沙发进不去前门。它的尺寸比大多数门道都大。这不是一个好的结果。如果当初多一点规划,就可以为您和客户省去许多麻烦。
我们希望您在开发 AppExchange 应用程序时可以避免这种结果。您在专门为 AppExchange 合作伙伴配置的特殊 Developer Edition (DE) 组织或 Salesforce DX 临时组织中设计您的应用程序。这两种组织一应俱全,可以支持开发服务于不同受众的不同类型应用程序。但是,您的目标客户的环境未必包含所有那些功能。如果您不把解决方案中的功能限定在目标组织中可用的那些功能,那么您将不得不重新思考您的计划。
Salesforce 版本是什么?
我们提供不同的 Salesforce 版本,向我们的客户提供不同级别的功能和资源。作为 AppExchange 合作伙伴,您需要知道四种版本:Unlimited Edition (UE)、Enterprise Edition (EE)、Professional Edition (PE) 和 Starter (S)。
这些版本是层层递进的,每个版本建立在前一个版本的基础之上。越往上,可用功能越多,某些功能的上限提高。比如,S 组织不支持记录类型,但是 UE、EE、PE 和 DE 支持。S 组织的上限是最多五个用户许可证。PE 或更高版本的组织可以拥有无限数量的用户许可证。关于版本之间的区别的更多信息,请看我们的版本比较图。
选择 Salesforce 版本的重要性
您的目标版本决定了在您的应用程序中可以使用哪些功能。它还设定您的应用程序可以消耗的资源上限。没有限制您只能支持一个版本。比如,您可以为不同版本提供不同的安装包,或者您也可以把解决方案设计成对其安装的版本敏感。记住,您的商业计划也会影响您的目标版本选择。
如果您在开发一个 OEM 嵌入式应用程序,您能向全新客户提供的唯一一种组织类型,就是 EE。现有客户仅当拥有 EE 或更高版本组织的时候才能安装您的应用程序。
组织、版本和许可证
Salesforce 云环境经常被比作一栋写字楼。所有人共享基础设施,比如管道和电,但是每个企业拥有其他租户不能进入的专属空间——其组织。客户选择某个版本时,其实是在选择他们的办公空间。有些租户选择几个房间,没有接待区或厨房。其他租户选择整层楼,带接待区、厨房和行政办公室。小的办公空间就像是 PE 组织,而整层楼就像是 EE 组织。
客户购买用户许可证的时候,他们决定谁拥有“办公室”的出入权限,他们得到哪种权限。标准用户许可证提供“钥匙”,准许访问组织的所有功能。其他用户许可证提供更加受限的访问权限。比如,拥有 Customer Community 许可证的用户无权访问潜在客户和业务机会对象,不能在流中被提及名字。
客户也可以为了非标准功能购买功能或权限集许可证。比如,使用 Sales Cloud 中的 Salesforce Knowledge 需要权限集许可证。
选择支持什么版本
我们来看一下不同版本的受众。
版本 |
最低的…… |
---|---|
Starter (S) |
面向只有五个或少于五个用户的企业的版本。提供最少的功能。 |
Professional Edition (PE) |
中型客户使用 PE 版本。它拥有客户对 CRM 所需的一切,并且对用户许可证数量没有限制。它不包含所有花哨的装饰,但确实包含简单易用的自定义、集成和管理工具,以方便中小型部署。 |
Enterprise Edition (EE) |
EE 是我们最畅销的版本。它包含所有核心工具和技术,并且满足复杂的大型企业的需求。在 Professional Edition 提供的所有功能之上,它还包含高级自定义和管理工具,以支持大型部署。 |
Unlimited Edition (UE) |
UE 就像是在化合物上的 EE。大企业会购买这些版本。除了 EE 提供的所有功能,UE 还包含 Premier Support、更高的存储空间上限以及其他功能。 |
大多数客户在使用 EE 或更高的版本。使用这些更高版本的客户通常购买了最多的许可证,因此他们代表最大的一块市场。EE 和更高的组织拥有最多的内置功能,使您的设计更易于实施。
PE 版本的客户,跟许多大型企业客户不同,往往购买周期很短,这可能有助于您更快卖出您的应用程序。如果您在考虑增加 PE 版本,请考虑相对于潜在市场需要的工作量。
确定可用的声明式功能
您必须限制您的设计和开发,只使用您的目标组织中可用的功能,这十分重要。我们建议定期查看 ISVforce 指南以及其他 Salesforce 文档,以免不得不往回追踪。
比如,假设您正在考虑 S 或 PE 客户。ISVforce 指南的“架构考虑因素”部分包含一个表格,列出了 AppExchange 合作伙伴可以使用的一些最热门的功能。
功能 |
Starter | Professional Edition |
---|---|---|
资产 |
否 |
是 |
市场活动 |
否 |
是 |
合同 |
否 |
是(含 Sales Cloud) |
预测 |
否 |
是(不含业务机会拆分或自定义字段预测) |
意见 |
否 |
是 |
产品 |
否 |
是 |
解决方案 |
否 |
是 |
记录类型 |
否 |
是 |
权限集 |
是 |
是 |
自定义简档 |
否 |
是 |
自定义报表类型 |
否 |
是 |
流和审批 |
否 |
否(请见备注。) |
Apex 代码 |
请见备注。 |
请见备注。 |
共享规则 |
否 |
是(针对部分功能) |
API |
请见备注。 |
请见备注。 |
站点 |
否 |
否 |
这个清单不是穷尽性的。为了确保您用到的功能是可用的,请查看文档页的版本清单。在记录类型上查看这一页。
Starter 并不在列表中,因此不支持记录类型。
确定可用的编程式功能
我们刚刚描述的特征和功能都是围绕声明式自定义的,可以在 Salesforce 的点击式界面中完成操作。您也可以通过编程来自定义一家组织,比如使用 Salesforce 基于云的编程语言 Apex。S 和 PE 组织没有 Apex 或 API 权限。不过,作为 AppExchange 合作伙伴,允许获得批准的应用程序在客户的 S 和 PE 组织中使用下表中列示的 Apex 和 API。ISVforce 指南包含关于您的应用程序获得批准上架以及为您的应用程序获得 API 访问令牌的所有详细说明。
API |
S 和 PE 的访问权限 |
---|---|
网络服务 (SOAP) |
是的,要令牌 |
Apex 方法,表现为网络服务 (SOAP) |
否 |
网络服务 (REST) |
是的,要消费者批准上架连接的应用程序 |
Apex 方法,表现为网络服务 (REST) |
是的,要消费者批准上架连接的应用程序 |
Chatter REST API |
是 |
元数据 API |
是的,要令牌 |
Bulk API |
否 |
Data Loader 工具(使用 SOAP 网络服务) |
否,无法设置令牌 |
流 API |
否 |
平台事件 |
否 |
限制以及您的目标组织
所有 Salesforce 组织共享基础设施。为了确保没有组织消耗过多资源,我们强行施加限制。通过这种方法,Salesforce 确保得到您和我们的客户的信任。限制因版本而异。比如,考虑在验证规则之上的这些限制,这个功能用来验证输入字段的值。
功能 |
Starter | Professional Edition |
Enterprise Edition |
Unlimited Edition 和 Performance Edition |
---|---|---|---|---|
每个对象的有效验证规则数量 |
20 |
20 |
200 |
200 |
现有客户安装您的应用程序时,除了他们已经在用的任何资源,他们还承担您使用资源的开支。假设某个 PE 组织中的一个客户在客户对象上有 18 条有效的验证规则,而您的应用程序又增加了 3 条。您的应用程序在该客户的组织中将安装失败,因为已经超过了对有效验证规则的数量限制。
不过,具备资格的 AppExchange 合作伙伴的应用程序对于三个特殊功能确实享有一定余地。当某个应用程序通过安全审查时,那个安装包中包含的应用程序、对象和选项卡在针对该客户的限制中不计算在内。
关于声明式限制的更多信息,请查看我们的帮助文档。
也请留意围绕代码执行的限制。如果超过了交易限制,整笔交易都将失败,您的客户会不高兴。欲进一步了解编程式限制,请阅读执行调控器和限制。
确保您的应用程序在您选择的版本中可以运行
您可以使用环境中心或 Salesforce DX 来创建版本特有的测试组织。
我应该以什么版本为目标?
下面我们来浏览一些场景,练习选择版本。
场景 #1:交易进度预测器
应用程序类型:
ISVforce
基础云:
Sales Cloud
目标版本:
Enterprise Edition
应用程序功能:
给 Salesforce 中的业务机会增加见解:
- 分析过去的相关交易
- 分析总体使用情况
- 将分析与销售代表的业务机会生命周期的当前状态相结合
这个应用程序的甜蜜点是有 EE 或更高版本组织的客户,因为他们有大数据集需要分析。您能否设计应用程序供 S 和 PE 组织使用?请看这个表中的一些考虑因素。
如果您想…… |
客户能否在他们的 S 或 PE 组织中安装您的 ISVforce 应用程序? |
---|---|
使用角色层次结构来限制部分信息 |
不能。角色层次结构在这些版本中都不可用。 |
创建 10 个自定义对象 |
可以!您创建的应用程序、对象和选项卡在针对客户的限制中不计算在内。 |
将 REST API 用于集成 |
可以!尽管您的 S 和 PE 客户无法使用 REST API 来连接他们的组织,但是您可以! |
场景 #2:支持客服人员时间跟踪
应用程序类型:
ISVforce
基础云:
Service Cloud 使用 Lightning 服务控制台
目标版本:
Enterprise Edition
应用程序功能:
在 Lightning 服务控制台中为支持客服人员提供时间跟踪日历。日历让客服人员可以知晓:
- 日程安排
- 处理中的个案
- 空闲时间
Lightning 服务控制台只在带 Service Cloud 的 Starter、Professional、Enterprise 和 Unlimited 版本中可用。您不能向没有 Service Cloud 的客户销售这款应用程序。那会限制您的潜在市场总额 (TAM),因此您可能需要考虑其他替代方案。欲知更多信息,请阅读 Lightning 服务控制台帮助文档。
场景 #3:供应商搜寻
应用程序类型:
OEM 嵌入式
基础云:
Salesforce Platform
目标版本:
Enterprise Edition
应用程序功能:
支持复杂项目的供应商招募流程,帮助员工:
- 跟踪零件需求
- 确定合适的供应商
- 跟踪投标情况和选择中标公司
棘手的问题是OEM 嵌入式应用程序只能用于 EE 和更高版本的组织。
您都明白了吗?
您的目标客户的版本、用户许可证以及功能和权限集许可证影响您的应用程序的设计。
不管您是在开发 ISVforce 应用程序还是 OEM 嵌入式应用程序,都要问自己以下问题:
- 您想使用的声明式功能在您的目标版本中是否可用?
- 您想使用的编程式功能对您的目标版本中的 AppExchange 合作伙伴是否可用?
- 您的设计是否在对您的目标版本施加的限制范围内?
祝贺您!您已经学会了,可以准备接受测验了!