学习目标
- 列出命名空间的关键功能。
- 描述为AppExchange合作伙伴使用托管 – 发布的软件包的好处。
- 描述安装Managed-Beta软件包与Managed-Released软件包的影响。
Package里有什么?
一个包是用于组件的容器,例如Java JAR文件或Ruby GEM,用于将应用程序分发给客户。它包含一组具有唯一名称空间的元数据。一个软件包可以包含像个别组件一样小或与一组相关应用程序一样大的东西。
Salesforce平台就其本质而言鼓励一种敏捷开发模型,在该模型中,您可以逐步进行测试,并随时调整设计。 Managed-Beta软件包支持这种测试和修改方法。
托管 – 发布的软件包用于实时产品。您的客户期望一个稳定的应用程序随着时间的推移而不断发展,而不会破坏他们在其之上构建的业务流程。托管 – 发布的软件包有助于确保您不会破坏客户的定制并为您的知识产权提供保护。
管理发布的软件包的优点
- Apex的知识产权保护
- 内置对API可访问组件的版本支持
- 能够分支和修补以前的版本
- 能够无缝地将补丁和主要更新推送给订户
- 所有组件的唯一命名以确保无冲突安装
- 能够通过许可证控制用户访问
客户组织中的包生命周期
- 您在托管 – 发布的软件包中发布您的应用的第1版。
- 客户安装包装。
- 客户定制您的应用程序。
- 您在托管 – 发布的软件包中发布您的应用的第2版。
- 客户在现有软件包的顶部安装新版本的软件包。
我们说一个托管 – 发布的软件包是可升级的,因为客户可以在他们现有的版本上安装新版本。非托管软件包(合作伙伴通常不使用)和托管 – Beta软件包不可升级。
Salesforce平台具有高度可定制性,您的客户可能会定制您的应用。当您发布新版本时,它们取决于应用程序的一定程度的一致性,以使其定制不会中断。
托管 – 发布的软件包具有内置的安全措施,可以最大限度地减少新版本的影响。例如,您不能删除已提供给客户或对象的Apex方法。有关更多详细信息,请参阅ISVforce指南中的“托管软件包中可用的组件”部分。
创建一个简单的应用程序来打包
我们将在此打破我们自己的规则,并在创建包的同一组织中设置一个简单的应用程序。您只能在合作伙伴开发版(PDE)或Developer Edition组织中创建软件包。因此,请使用我们在最后一个单元中创建的PDE组织。
让我们通过创建一个世界上最简单的应用程序来完成一些实践包装的步骤。我们将创建一个显示自定义对象的单页应用程序。
- 转到设置菜单。
- 在Lightning Platform主页上,单击 Add App.
- 如下填写App Quick Start页面。
字段 值 App Trail Tracker Label Trail Plural Label Trails - 点击 Create.
- 点击 Go To My App
而已。让我们试试这个应用程序。
- 点击 New.
- 对于Trail名称,输入 AppExchange Partner Basics.
- 点击 Save.
您已经使用您的应用创建了一条记录。十分简单。
包和命名空间
- 客户已经使用API名称Vendor__c创建了一个自定义对象。
- 您的应用有一个API名称为Vendor__c的自定义对象。
将安装您的应用程序覆盖您的客户的对象?不,谢天谢地。命名空间将我们从命运中解救出来。
为了防止冲突,托管包总是有一个名称空间。命名空间在Salesforce中是唯一的,因此托管软件包的安装不会与客户和其他合作伙伴所做的自定义设置相冲突。
开发组织只能有一个名称空间。您只能使用该名称空间创建一个包,但可以对该包进行更新并发布新版本。
命名空间如何被添加到您的应用程序?
当您在组织中创建名称空间时,它将附加到组织中的每个组件。如果您在该组织中创建了一个包,则添加到包中的每个组件都随附该命名空间。以下自定义对象显示(1)组织具有命名空间TrailApp_Test1,以及(2)Trail对象的API名称是TrailApp_Test1__Trail__c。
但是,添加名称空间时,Salesforce不会更新非Salesforce工件,如JavaScript,其中包含对对象或字段的引用。您必须自己更新这些参考。
选择一个名字空间
因为名称空间是唯一的,所以首先为你的黄金包org选择名字空间。您的客户会看到您用于上传到AppExchange的包的名称空间。如果您的公司名称是AW Computing,则需要命名空间,如awc或awcomputing。
不要在您的测试版包装组织中使用该名称空间,因为那么它不适用于您的黄金包组织。
创建一个名字空间
- 从安装程序中,在快速查找框中输入软件包,然后单击 Packages.
- 在页面的开发者设置部分,点击 Edit.
- 要确认您要设置命名空间,请单击 Continue.
- 为名称空间前缀输入一个值。请记住,不要使用稍后可能要使用的名称。
- 点击 Check Availability. 重复步骤4和5,直到找到可用的名称空间。
- 点击 New.
- 点击 Review My Selections.
- 点击 Save.
软件包和测试
使托管 – 发布的软件包成为销售和发布应用程序的最佳选择的因素也使得它成为测试的不好选择。将某些组件添加到托管包后,您无法修改它们。比方说,在开发应用程序时,您会创建四个自定义对象,Larry,Curly,Moe和John。当你去测试你的应用时,你决定约翰是不必要的。抱歉!如果对象John在您的托管 – 发布包中,则无法删除它。
为了解决这个问题,我们提供了Managed-Beta软件包。 Beta软件包的组件可在您的软件包组织中编辑,直到创建一个托管 – 已发布的软件包。
创建一个Managed-Beta包
- 如果您不在软件包页面上,请从安装程序中,在快速查找框中输入软件包,然后单击 Packages.
- 在Packages部分中,单击 New.
- 对于Package Name,输入 Trail App.
- 选择托管复选框以启用该选项。出现提示时,单击 OK.
- 点击 Save.
- 在“组件”子选项卡中,单击 Add.
- 选择 Trail Tracker 应用程序,然后点击 Add to Package. 请注意,包中添加了几个相关组件。
- 点击 Back to Package List.
Beta版本不被视为主要版本,因此软件包版本号不会更改。
使您的软件包可用于安装
- 从软件包列表中单击您的软件包名称。
- 点击 Upload.
- 如下所示填写Package Details部分。
字段 值 Version Name Trail App Test 1 Description 我通过构建应用程序创建了一个AppExchange合作伙伴跟踪的简单应用程序的测试版包。 - 点击 Upload. 如果上传成功,您会收到包含安装URL的消息。
- 复制安装URL以用于安装软件包。
- 退出您的组织。
将您的软件包安装到测试组织中
- 将安装URL粘贴到浏览器中。
- 在出现的登录页面上,输入在单元2中创建的Trailhead Test组织的凭证。
- 在出现的页面上,点击 Install.
- 点击 Done.
- 从应用程序菜单中选择您的应用程序,确认您的应用程序已安装。
概要
- 您必须在Partner Developer Edition或Developer Edition组织中创建软件包。
- 要创建包,请选择一个唯一的名称空间。
- 不要在测试组织上占用你的好名字空间,否则你会后悔的。
- 在测试周期中使用Managed-Beta软件包,因为它很容易修改其内容。
- 仅使用托管 – 发布的软件包进行最终测试。
恭喜,您拥有在开发周期中使用Managed-Beta软件包的所有技能。挑战让你多练习一下。