应用程序部署(4)测试应用程序

学习目标

完成本单元后,您将能够:

  • 列出使用Apex时的测试覆盖率要求。
  • 描述创建AppExchange应用程序时要执行的特定测试。
  • 列出您的测试必须解决的安全漏洞类型,以通过安全审查。

测试和您的AppExchange应用程序

要明确,我们知道你知道测试的重要性。在本单元中,我们将探讨一些关于测试的特定于Salesforce的标准,更重要的是针对您的一些AppExchange测试需求。

Apex测试框架

Apex拥有内置的测试框架,这是任何开发人员的必备工具。 Salesforce还需要使用框架来确保没有代码占用其资源份额。

一个基本要求是您的测试必须至少覆盖包装中所有Apex代码的75%。不过,我们建议您尽可能接近100%覆盖率。您可以在Apex开发人员指南的Apex Testing Trailhead模块或了解Apex测试部分了解其他要求。每当你上传一个包时,所有的测试都会运行。如果即使一次测试失败,上传失败。

平台陷阱

有一些糟糕的编码习惯,你可以在单个组织中摆脱困境,但它们会导致AppExchange应用程序失败。一些最常见的“陷阱”是硬编码值的结果。特别是,从来没有硬编码:

  • 记录在整个组织中唯一的ID
  • 引用客户可以更改的值,如选取列表值或记录类型名称

还要考虑到你的客户可能正在使用平台加密。记录您在应用程序中依赖的标准对象的标准字段。如果您想支持使用平台加密的客户,请测试您的应用在这些字段是否加密时不会中断。然后,您可以将您的应用标记为支持AppExchange上的加密字段。查看我们的帮助和培训文档的平台加密部分了解更多信息。

日常测试

我们建议您采用每日合并所有代码的标准做法,以确保修改和添加不会破坏现有代码。

我们建议您设置一个源代码管理系统(1),开发人员可以在其中检查他们创建或修改的元数据文件。然后将源代码管理系统中的元数据每天推送到一个普通合作伙伴开发人员组织(2),并针对该应用运行自动化测试。

Diagram with developer orgs feeding to source control feeding to a single developer org
开发者组织将饲料供应给单一开发者组织的源控制
在开发任何一款软件时,请确保您的测试验证:

  • 您的Apex代码正常工作,通过所有测试并符合测试要求。
  • 您的自定义UI会按照您的预期显示和反应。
  • 您的业​​务逻辑符合要求,不会做任何额外的事情。

预发布包测试

由于您将应用分发给软件包中的客户,因此为AppExchange合作伙伴发布测试包括测试处于打包状态的应用。您希望确保软件包的安装正确,并且安装后所有功能都按预期工作。

一些组件,例如审批流程,无法打包。记录任何所需的配置或设置,并在作为测试的一部分时包括查看这些说明。

在您发布软件包的后续版本时,测试包括确保现有客户可以安装新版本的应用程序。验证新版本是否同时适用于新鲜组织和已安装以前版本的组织。

托管测试版 – 软件包

对于初始软件包测试,首先使用托管Beta版软件包。当您的应用程序处于测试版软件包中时,您可以进行任何类型的更改。

使用beta包的流程看起来像这样。

  1. 将来自源代码管理系统的更改推送到您的测试版包装组织。
  2. 创建托管测试版 – 包含您的应用的软件包。
  3. 上传软件包。
  4. 在测试组织中:
    1. 安装软件包并进行测试。
    2. 如果发现问题:
      1. 卸载测试组织中的软件包。
      2. 在测试版包装组织中更新您的应用,并在必要时编辑您的包裹内容
      3. 返回到第2步。
    3. 如果没有问题发生并且开发完成,是时候转向一个托管 – 发布的包。

请注意,在构建和测试周期中,您将卸载测试版软件包并在测试组织中安装新的测试版软件包。 Beta软件包不可升级,因此您无法将一个版本的Beta软件包安装在另一个版本上。有关更多信息,请参阅卸载软件包和安装软件包。

注意这个命名空间

打包应用程序后,请确保您检查了您是否正确使用了名称空间。应用程序中对组件的JavaScript引用不会自动使用程序包的名称空间进行更新。验证所有涉及JavaScript的自定义,无论是在Visualforce页面还是在Lightning组件(使用JavaScript)中,都仍然正常工作。

保证安全

在AppExchange上发布您的应用程序之前,它必须经过安全审查。在整个开发周期中解决安全问题,如需求清单中所述。

清单包括以下项目:

  • 您的代码尊重由组织的Salesforce管理员指定的字段级别和对象安全性。请特别关注此主题,因为它会导致在安全审查期间标记许多应用程序。
  • 您已编写JavaScript和HTML以防止跨站脚本攻击(XSS)攻击。
  • 在平台上传输数据和从平台传输数据以及将平台上的敏感信息(例如登录证书和客户数据)存储在外时,您已经实施了加密。

安全审查包括针对您的应用运行多个测试。您可以在提交应用程序之前运行一些测试。将它们合并到您的测试周期中。

包装和客户修改

当您上传您的软件包时,您可以设置客户组织必须满足的软件包和对象要求才能成功安装您的应用程序。如果您不知道在这里选择什么,请不要担心。它带有经验,而且风险很低 – 通常情况下,默认值都很好。

Screen with package requirements
Screen showing object requirements

一些值是基于你的软件包中的内容自动启用的。验证此列表是否具有适用于您的应用的正确值,以便在安装该软件包时不会发生错误。

例如,可以自动选择与Chatter相关的组件或社区。如果客户的组织禁用了这些功能,则尝试安装您的软件包失败。

托管 – 发布的软件包

当您认为您的应用在打包状态下无缺陷时,现在可以在您的测试版打包组织中创建托管 – 发布的软件包了。你如何创建一个发布的包?这只是您上传包装时的一个选项。

Screen with radio button to create Managed - Released package

然后通过一轮测试发送包裹。

现在是时候把它的应用程序包装在它的金色包裹里了

当一切都很好时,就该使用金色包裹组织了。

  1. 使用迁移工具将您的应用程序移至您的黄金包组织。
  2. 设置您的面向客户的名称空间。
  3. 打包你的组件。
  4. 创建您的托管 – 发布的软件包。
  5. 然后,是的,再做一轮测试。

完成所有工作后,现在是时候发送应用以进行安全审查。在您的应用程序通过安全审查后,该出售了。

概要

平台上的大多数测试都遵循标准的最佳实践。测试确定您已经:

  • 满足功能要求
  • 书面测试来验证你的代码
  • 解决了安全漏洞
在测试一个包时,请验证:

  • 外部代码正确引用名称空间
  • 安装说明
  • 包和对象要求

你做到了!您现在知道使用AppExchange合作伙伴工具开发应用程序的所有基本知识。出发。学到更多。写那个惊人的应用程序

应用程序部署(3)打包

学习目标

完成本单元后,您将能够:

  • 列出命名空间的关键功能。
  • 描述为AppExchange合作伙伴使用托管 – 发布的软件包的好处。
  • 描述安装Managed-Beta软件包与Managed-Released软件包的影响。

Package里有什么?

一个包是用于组件的容器,例如Java JAR文件或Ruby GEM,用于将应用程序分发给客户。它包含一组具有唯一名称空间的元数据。一个软件包可以包含像个别组件一样小或与一组相关应用程序一样大的东西。

Salesforce平台就其本质而言鼓励一种敏捷开发模型,在该模型中,您可以逐步进行测试,并随时调整设计。 Managed-Beta软件包支持这种测试和修改方法。

托管 – 发布的软件包用于实时产品。您的客户期望一个稳定的应用程序随着时间的推移而不断发展,而不会破坏他们在其之上构建的业务流程。托管 – 发布的软件包有助于确保您不会破坏客户的定制并为您的知识产权提供保护。

管理发布的软件包的优点

托管 – 发布的软件包提供:

  • Apex的知识产权保护
  • 内置对API可访问组件的版本支持
  • 能够分支和修补以前的版本
  • 能够无缝地将补丁和主要更新推送给订户
  • 所有组件的唯一命名以确保无冲突安装
  • 能够通过许可证控制用户访问

客户组织中的包生命周期

我们来看看您的应用程序的打包和分发生命周期。

  1. 您在托管 – 发布的软件包中发布您的应用的第1版。
  2. 客户安装包装。
  3. 客户定制您的应用程序。
  4. 您在托管 – 发布的软件包中发布您的应用的第2版。
  5. 客户在现有软件包的顶部安装新版本的软件包。

我们说一个托管 – 发布的软件包是可升级的,因为客户可以在他们现有的版本上安装新版本。非托管软件包(合作伙伴通常不使用)和托管 – Beta软件包不可升级。

Salesforce平台具有高度可定制性,您的客户可能会定制您的应用。当您发布新版本时,它们取决于应用程序的一定程度的一致性,以使其定制不会中断。

托管 – 发布的软件包具有内置的安全措施,可以最大限度地减少新版本的影响。例如,您不能删除已提供给客户或对象的Apex方法。有关更多详细信息,请参阅ISVforce指南中的“托管软件包中可用的组件”部分。

创建一个简单的应用程序来打包

我们将在此打破我们自己的规则,并在创建包的同一组织中设置一个简单的应用程序。您只能在合作伙伴开发版(PDE)或Developer Edition组织中创建软件包。因此,请使用我们在最后一个单元中创建的PDE组织。

让我们通过创建一个世界上最简单的应用程序来完成一些实践包装的步骤。我们将创建一个显示自定义对象的单页应用程序。

  1. 转到设置菜单。
  2. 在Lightning Platform主页上,单击 Add App.
  3. 如下填写App Quick Start页面。
    字段
    App Trail Tracker
    Label Trail
    Plural Label Trails
    Screen of app quick start
  4. 点击 Create.
  5. 点击 Go To My App

而已。让我们试试这个应用程序。

  1. 点击 New.
  2. 对于Trail名称,输入 AppExchange Partner Basics.
  3. 点击 Save.

您已经使用您的应用创建了一条记录。十分简单。

包和命名空间

对于所有AppExchange应用程序和一些OEM嵌入式应用程序,客户将您的应用程序安装在具有自定义设置的现有组织中。考虑以下情况。

  • 客户已经使用API​​名称Vendor__c创建了一个自定义对象。
  • 您的应用有一个API名称为Vendor__c的自定义对象。

将安装您的应用程序覆盖您的客户的对象?不,谢天谢地。命名空间将我们从命运中解救出来。

为了防止冲突,托管包总是有一个名称空间。命名空间在Salesforce中是唯一的,因此托管软件包的安装不会与客户和其他合作伙伴所做的自定义设置相冲突。

开发组织只能有一个名称空间。您只能使用该名称空间创建一个包,但可以对该包进行更新并发布新版本。

命名空间如何被添加到您的应用程序?

当您在组织中创建名称空间时,它将附加到组织中的每个组件。如果您在该组织中创建了一个包,则添加到包中的每个组件都随附该命名空间。以下自定义对象显示(1)组织具有命名空间TrailApp_Test1,以及(2)Trail对象的API名称是TrailApp_Test1__Trail__c。

Screen showing Namespace Prefix and API Name using namespace

但是,添加名称空间时,Salesforce不会更新非Salesforce工件,如JavaScript,其中包含对对象或字段的引用。您必须自己更新这些参考。

选择一个名字空间

因为名称空间是唯一的,所以首先为你的黄金包org选择名字空间。您的客户会看到您用于上传到AppExchange的包的名称空间。如果您的公司名称是AW Computing,则需要命名空间,如awc或awcomputing。

不要在您的测试版包装组织中使用该名称空间,因为那么它不适用于您的黄金包组织。

创建一个名字空间

让我们创建您的名称空间,以便您可以打包您的应用程序。

注意

Trailhead不支持命名空间组织,因此请确保您正在开发新版开发人员版或合作伙伴开发人员版组织。如果您在用于完成Trailhead挑战的组织中创建名称空间,那么您将无法使用它获得新徽章。

  1. 从安装程序中,在快速查找框中输入软件包,然后单击 Packages.
  2. 在页面的开发者设置部分,点击 Edit.
  3. 要确认您要设置命名空间,请单击 Continue.
  4. 为名称空间前缀输入一个值。请记住,不要使用稍后可能要使用的名称。
    Screen for setting up namespace
  5. 点击 Check Availability. 重复步骤4和5,直到找到可用的名称空间。
  6. 点击 New.
  7. 点击 Review My Selections.
  8. 点击 Save.

软件包和测试

使托管 – 发布的软件包成为销售和发布应用程序的最佳选择的因素也使得它成为测试的不好选择。将某些组件添加到托管包后,您无法修改它们。比方说,在开发应用程序时,您会创建四个自定义对象,Larry,Curly,Moe和John。当你去测试你的应用时,你决定约翰是不必要的。抱歉!如果对象John在您的托管 – 发布包中,则无法删除它。

为了解决这个问题,我们提供了Managed-Beta软件包。 Beta软件包的组件可在您的软件包组织中编辑,直到创建一个托管 – 已发布的软件包。

注意

您只能在沙箱或Developer Edition组织或通过环境中心创建的测试组织中安装测试版软件包。

创建一个Managed-Beta包

继续并按照以下步骤创建您的Managed-Beta软件包。
  1. 如果您不在软件包页面上,请从安装程序中,在快速查找框中输入软件包,然后单击 Packages.
  2. 在Packages部分中,单击 New.
  3. 对于Package Name,输入 Trail App.
  4. 选择托管复选框以启用该选项。出现提示时,单击 OK.
    Screen showing creating managed package
  5. 点击 Save.
  6. 在“组件”子选项卡中,单击 Add.
  7. 选择 Trail Tracker 应用程序,然后点击 Add to Package. 请注意,包中添加了几个相关组件。
  8. 点击 Back to Package List.
注意,默认情况下创建了一个托管 – 测试版包,正是我们想要的。
Beta版本不被视为主要版本,因此软件包版本号不会更改。

使您的软件包可用于安装

当你准备在另一个组织中安装你的软件包时,你需要上传它。
  1. 从软件包列表中单击您的软件包名称。
  2. 点击 Upload.
  3. 如下所示填写Package Details部分。
    字段
    Version Name Trail App Test 1
    Description 我通过构建应用程序创建了一个AppExchange合作伙伴跟踪的简单应用程序的测试版包。
    Screen for uploading a package
  4. 点击 Upload. 如果上传成功,您会收到包含安装URL的消息。
    Screen for package with installation URL
  5. 复制安装URL以用于安装软件包。
  6. 退出您的组织。

将您的软件包安装到测试组织中

  1. 将安装URL粘贴到浏览器中。
  2. 在出现的登录页面上,输入在单元2中创建的Trailhead Test组织的凭证。
  3. 在出现的页面上,点击 Install.
    Screen for installing package
  4. 点击 Done.
  5. 从应用程序菜单中选择您的应用程序,确认您的应用程序已安装。
    Force.com App menu with new app

概要

你现在知道关于软件包的基础知识。

  • 您必须在Partner Developer Edition或Developer Edition组织中创建软件包。
  • 要创建包,请选择一个唯一的名称空间。
  • 不要在测试组织上占用你的好名字空间,否则你会后悔的。
  • 在测试周期中使用Managed-Beta软件包,因为它很容易修改其内容。
  • 仅使用托管 – 发布的软件包进行最终测试。

恭喜,您拥有在开发周期中使用Managed-Beta软件包的所有技能。挑战让你多练习一下。

Flower icon used to indicate that the content is for Salesforce Classic

请记住,该模块适用于Salesforce Classic。当您启动动手组织时,请切换至Salesforce Classic以完成此挑战。

应用程序部署(3)打包

学习目标

完成本单元后,您将能够:

  • 列出命名空间的关键功能。
  • 描述为AppExchange合作伙伴使用托管 – 发布的软件包的好处。
  • 描述安装Managed-Beta软件包与Managed-Released软件包的影响。

Package里有什么?

一个包是用于组件的容器,例如Java JAR文件或Ruby GEM,用于将应用程序分发给客户。它包含一组具有唯一名称空间的元数据。一个软件包可以包含像个别组件一样小或与一组相关应用程序一样大的东西。

Salesforce平台就其本质而言鼓励一种敏捷开发模型,在该模型中,您可以逐步进行测试,并随时调整设计。 Managed-Beta软件包支持这种测试和修改方法。

托管 – 发布的软件包用于实时产品。您的客户期望一个稳定的应用程序随着时间的推移而不断发展,而不会破坏他们在其之上构建的业务流程。托管 – 发布的软件包有助于确保您不会破坏客户的定制并为您的知识产权提供保护。

管理发布的软件包的优点

托管 – 发布的软件包提供:

  • Apex的知识产权保护
  • 内置对API可访问组件的版本支持
  • 能够分支和修补以前的版本
  • 能够无缝地将补丁和主要更新推送给订户
  • 所有组件的唯一命名以确保无冲突安装
  • 能够通过许可证控制用户访问

客户组织中的包生命周期

我们来看看您的应用程序的打包和分发生命周期。

  1. 您在托管 – 发布的软件包中发布您的应用的第1版。
  2. 客户安装包装。
  3. 客户定制您的应用程序。
  4. 您在托管 – 发布的软件包中发布您的应用的第2版。
  5. 客户在现有软件包的顶部安装新版本的软件包。

我们说一个托管 – 发布的软件包是可升级的,因为客户可以在他们现有的版本上安装新版本。非托管软件包(合作伙伴通常不使用)和托管 – Beta软件包不可升级。

Salesforce平台具有高度可定制性,您的客户可能会定制您的应用。当您发布新版本时,它们取决于应用程序的一定程度的一致性,以使其定制不会中断。

托管 – 发布的软件包具有内置的安全措施,可以最大限度地减少新版本的影响。例如,您不能删除已提供给客户或对象的Apex方法。有关更多详细信息,请参阅ISVforce指南中的“托管软件包中可用的组件”部分。

创建一个简单的应用程序来打包

我们将在此打破我们自己的规则,并在创建包的同一组织中设置一个简单的应用程序。您只能在合作伙伴开发版(PDE)或Developer Edition组织中创建软件包。因此,请使用我们在最后一个单元中创建的PDE组织。

让我们通过创建一个世界上最简单的应用程序来完成一些实践包装的步骤。我们将创建一个显示自定义对象的单页应用程序。

  1. 转到设置菜单。
  2. 在Lightning Platform主页上,单击 Add App.
  3. 如下填写App Quick Start页面。
    字段
    App Trail Tracker
    Label Trail
    Plural Label Trails
    Screen of app quick start
  4. 点击 Create.
  5. 点击 Go To My App

而已。让我们试试这个应用程序。

  1. 点击 New.
  2. 对于Trail名称,输入 AppExchange Partner Basics.
  3. 点击 Save.

您已经使用您的应用创建了一条记录。十分简单。

包和命名空间

对于所有AppExchange应用程序和一些OEM嵌入式应用程序,客户将您的应用程序安装在具有自定义设置的现有组织中。考虑以下情况。

  • 客户已经使用API​​名称Vendor__c创建了一个自定义对象。
  • 您的应用有一个API名称为Vendor__c的自定义对象。

将安装您的应用程序覆盖您的客户的对象?不,谢天谢地。命名空间将我们从命运中解救出来。

为了防止冲突,托管包总是有一个名称空间。命名空间在Salesforce中是唯一的,因此托管软件包的安装不会与客户和其他合作伙伴所做的自定义设置相冲突。

开发组织只能有一个名称空间。您只能使用该名称空间创建一个包,但可以对该包进行更新并发布新版本。

命名空间如何被添加到您的应用程序?

当您在组织中创建名称空间时,它将附加到组织中的每个组件。如果您在该组织中创建了一个包,则添加到包中的每个组件都随附该命名空间。以下自定义对象显示(1)组织具有命名空间TrailApp_Test1,以及(2)Trail对象的API名称是TrailApp_Test1__Trail__c。

Screen showing Namespace Prefix and API Name using namespace

但是,添加名称空间时,Salesforce不会更新非Salesforce工件,如JavaScript,其中包含对对象或字段的引用。您必须自己更新这些参考。

选择一个名字空间

因为名称空间是唯一的,所以首先为你的黄金包org选择名字空间。您的客户会看到您用于上传到AppExchange的包的名称空间。如果您的公司名称是AW Computing,则需要命名空间,如awc或awcomputing。

不要在您的测试版包装组织中使用该名称空间,因为那么它不适用于您的黄金包组织。

创建一个名字空间

让我们创建您的名称空间,以便您可以打包您的应用程序。

注意

Trailhead不支持命名空间组织,因此请确保您正在开发新版开发人员版或合作伙伴开发人员版组织。如果您在用于完成Trailhead挑战的组织中创建名称空间,那么您将无法使用它获得新徽章。

  1. 从安装程序中,在快速查找框中输入软件包,然后单击 Packages.
  2. 在页面的开发者设置部分,点击 Edit.
  3. 要确认您要设置命名空间,请单击 Continue.
  4. 为名称空间前缀输入一个值。请记住,不要使用稍后可能要使用的名称。
    Screen for setting up namespace
  5. 点击 Check Availability. 重复步骤4和5,直到找到可用的名称空间。
  6. 点击 New.
  7. 点击 Review My Selections.
  8. 点击 Save.

软件包和测试

使托管 – 发布的软件包成为销售和发布应用程序的最佳选择的因素也使得它成为测试的不好选择。将某些组件添加到托管包后,您无法修改它们。比方说,在开发应用程序时,您会创建四个自定义对象,Larry,Curly,Moe和John。当你去测试你的应用时,你决定约翰是不必要的。抱歉!如果对象John在您的托管 – 发布包中,则无法删除它。

为了解决这个问题,我们提供了Managed-Beta软件包。 Beta软件包的组件可在您的软件包组织中编辑,直到创建一个托管 – 已发布的软件包。

注意

您只能在沙箱或Developer Edition组织或通过环境中心创建的测试组织中安装测试版软件包。

创建一个Managed-Beta包

继续并按照以下步骤创建您的Managed-Beta软件包。
  1. 如果您不在软件包页面上,请从安装程序中,在快速查找框中输入软件包,然后单击 Packages.
  2. 在Packages部分中,单击 New.
  3. 对于Package Name,输入 Trail App.
  4. 选择托管复选框以启用该选项。出现提示时,单击 OK.
    Screen showing creating managed package
  5. 点击 Save.
  6. 在“组件”子选项卡中,单击 Add.
  7. 选择 Trail Tracker 应用程序,然后点击 Add to Package. 请注意,包中添加了几个相关组件。
  8. 点击 Back to Package List.
注意,默认情况下创建了一个托管 – 测试版包,正是我们想要的。
Beta版本不被视为主要版本,因此软件包版本号不会更改。

使您的软件包可用于安装

当你准备在另一个组织中安装你的软件包时,你需要上传它。
  1. 从软件包列表中单击您的软件包名称。
  2. 点击 Upload.
  3. 如下所示填写Package Details部分。
    字段
    Version Name Trail App Test 1
    Description 我通过构建应用程序创建了一个AppExchange合作伙伴跟踪的简单应用程序的测试版包。
    Screen for uploading a package
  4. 点击 Upload. 如果上传成功,您会收到包含安装URL的消息。
    Screen for package with installation URL
  5. 复制安装URL以用于安装软件包。
  6. 退出您的组织。

将您的软件包安装到测试组织中

  1. 将安装URL粘贴到浏览器中。
  2. 在出现的登录页面上,输入在单元2中创建的Trailhead Test组织的凭证。
  3. 在出现的页面上,点击 Install.
    Screen for installing package
  4. 点击 Done.
  5. 从应用程序菜单中选择您的应用程序,确认您的应用程序已安装。
    Force.com App menu with new app

概要

你现在知道关于软件包的基础知识。

  • 您必须在Partner Developer Edition或Developer Edition组织中创建软件包。
  • 要创建包,请选择一个唯一的名称空间。
  • 不要在测试组织上占用你的好名字空间,否则你会后悔的。
  • 在测试周期中使用Managed-Beta软件包,因为它很容易修改其内容。
  • 仅使用托管 – 发布的软件包进行最终测试。

恭喜,您拥有在开发周期中使用Managed-Beta软件包的所有技能。挑战让你多练习一下。

Flower icon used to indicate that the content is for Salesforce Classic

请记住,该模块适用于Salesforce Classic。当您启动动手组织时,请切换至Salesforce Classic以完成此挑战。

应用程序部署(2)管理环境

学习目标

完成本单元后,您将能够:

  • 描述您从Environment Hub执行的任务。
  • 定义我的域名。
  • 描述如何设置单一登录到环境中的成员组织。

什么是环境中心?

现在是时候开始创建组织了。 Environment Hub应用程序是您创建组织和组织管理的一站式商店。

使用Environment Hub应用程序,您可以将现有组织连接到集线器。您可以创建标准和合作伙伴版本组织来开发,测试和打包您的应用程序。您可以设置从您的集线器org到其连接组织的单点登录,以便轻松访问开发和测试组织。

如果您想尝试本单元中的步骤,则需要使用Environment Hub应用程序的组织结构。

使用环境Hub所需的权限

如果您拥有系统管理员配置文件,则您拥有使用所有Environment Hub功能所需的权限。我们假设你有这些超级大国,并且你迫不及待地想创建一个组织。

但是,如果您希望其他用户访问集线器,或者您没有这些权限,则可以立即进行设置。在ISVforce指南的“配置环境中心”部分中了解有关集线器访问权限的更多信息。您或您的Salesforce管理员可以设置新配置文件,修改现有配置文件或使用正确权限创建权限集。

在开发管理组织中启用我的域

在开始之前,让我们使用Salesforce My Domain设置自己的域。是否要设置我的域名?对于AppExchange合作伙伴,这是肯定的。 Salesforce需要我的域作为安全措施来帮助防止恶意攻击 – 以防安全漏洞深藏在第三方或自定义组件中。
如果您的DE组织已启用“我的域”,或者您使用了Trailhead Playground组织,请跳过此部分。您已经设置了“我的域名”。

当您设置我的域名时,您会标记您的网址。例如,您可以创建像https://yourDomain.my.salesforce.com这样的自定义网址,而不是像https://na30.my.salesforce.com这样的网址。

Salesforce我的域向导将引导您完成这些步骤。My Domain wizard

  1. 选择你的域名。
    1. 从设置中,在快速查找框中输入我的域名,然后选择My Domain.
    2. 在https://后输入您的域的名称,然后单击Check Availability. 如果此名称已被使用,请选择另一个名称。
    3. 点击 Register Domain.
    Salesforce使用您的新域名更新其域名注册中心。完成后,您将收到一封电子邮件,其中包含“您的开发人员版本域可供测试”这个主题,它只需几分钟。

    注意

    在获得激活电子邮件之前,您无法进入下一步。

  2. 将我的域名推广到您的组织。
    1. 在激活电子邮件中,单击链接登录到您的Salesforce域并返回到向导。
    2. 请注意,浏览器地址栏中的网址显示您的新域名。URL of subdomain
    3. 点击您的组织,确保链接指向您的新域名。您可能尚未在您的DE组织中创建链接,因此我们可以继续。 (在生产组织中创建域时,这一重要步骤很容易被忽略。)
    4. 单击 Deploy to Users, 然后单击 OK.
    5. 点击 OK.
    在您的生产组织中,部署域会在您的组织中推出域URL。使用原始网址的请求会重定向到您的新网域。
恭喜,你已经建立了我的域名。在生产组织中设置“我的域”时,您需要执行几个步骤。通过完成用户认证模块的我的域单元了解更多信息。既然您已经使用域名保护了您的组织并将其品牌化,那么让我们继续。

感受力量:创建你的第一个组织

现在让我们创建一个开发组织,您可以在其中创建一个简单的应用程序。

  1. 从App菜单中选择 Environment Hub.
  2. 从ITEMS列表中选择 Environment Hub.
  3. 点击 Create Org.
  4. 为了目的,选择 Development .
  5. 在组织名称中,输入Trailhead Development Org.
    Screen for creating an org
  6. 填写剩余的必填字段。由于这是一个新的组织,所以您必须输入新的用户名,因为用户名不能在Salesforce组织中重复使用。
  7. 阅读主认购协议并选择是否接受。
  8. 点击 Create.
当您的组织准备就绪时,您会收到一封电子邮件确认,并且该组织出现在您的中心成员名单中。当电子邮件到达时,点击验证帐户以激活组织。

简要说明……

在继续之前,请确保您拥有环境Hub的AppExchange合作伙伴版本。
  1. 点击 Create Org.
  2. 为了目的,选择 Test/Demo.
  3. 确认您的版本选择列表看起来像这个。
    Edition menu with Partner versions of editions
  4. 点击 Cancel.
如果您没有看到突出显示的版本选项,请在合作伙伴社区提交案例以获取AppExchange合作伙伴环境中心。合作伙伴版本持续一年。非合作版本的使用寿命较短。

设置单点登录(SSO)

当您的组织准备就绪时,它将在环境中心中列为已连接的组织。

List of hub members with action menu highlight

注意右侧的下拉菜单。它有一个登录选项。如果您还没有设置SSO,登录只会将您带到登录页面。让我们激活SSO以充分利用Environment Hub。

  1. 从环境列表中选择组织名称。
  2. 点击 Enable SSO.
  3. 通过在新的屏幕上点击启用SSO,确认您想要 Enable SSO
  4. 转到单点登录用户映射相关列表,然后选择 New SSO User Mapping.
  5. 对于会员组织的用户名,请在环境中心查找用户。对于Environment Hub User,请输入您用于设置Trailhead Development Org的用户名。
    New SSO User Mapping screen
  6. 点击 Save.
  7. 选择 Login.

您现在已登录到相关组织。有用,不是吗?当您登录到成员组织时,您没有提供密码。因为您使用Environment Hub创建了组织,所以无需密码即可连接。

查看ISVforce指南的Environment Hub部分中的Single Sign-on,了解可用于连接组织的其他SSO方法。

让我们再来一次

它从不伤害练习,对吧?实际上,我们需要一个测试组织,用于在下一个单元中加载包含您的应用的软件包。所以,在这里。

  1. 从App菜单中选择 Environment Hub.
  2. 从ITEMS列表中选择 Environment Hub.
  3. 点击 Create Org.
  4. 为了目的,选择 Test/Demo.
  5. 在组织名称中,输入 Trailhead Test.
  6. 填写剩余的必填字段。请记住,这必须是新用户名,因为它必须在所有Salesforce组织中都是唯一的。
  7. 阅读主认购协议,然后选择是否接受。
  8. 点击 Create.
别忘了。找到您的电子邮件确认,并等待您的组织出现在您的中心成员名单中。在您确认并验证了您的帐户后,请继续并设置SSO以使您的生活更轻松。

保持有组织

您将在您的业务生命周期中创建许多组织。通过Environment Hub应用程序使用自定义列表视图,可以帮助您快速找到组织,从而让您的生活更轻松。

当您创建自定义列表视图时,您可以设置过滤器来确定您看到哪些组织并指定要显示的列。

将其他组织连接到集线器

也许你是一位发烧友,在你成为AppExchange合作伙伴之前,他们开始在Developer Edition org中创建你的应用。或者,您可能还有其他一些围绕您希望从环境中心访问的组织。没问题。就是这样。
  1. 登录到环境中心,然后选择 Connect Org.
  2. 输入您要连接的组织的管理员用户名,以及可选的简短说明。描述使得后来更容易找到组织,特别是如果您的中心有许多成员。
  3. 默认情况下,为您连接的组织启用单点登录(SSO)。要禁用SSO,请取消选择 Auto-enable SSO for this org.
  4. 再次选择 Connect Org.
  5. 在弹出窗口中,输入组织的管理员用户名和密码。如果您没有看到弹出窗口,请暂时停用浏览器的广告拦截软件,然后重试。
  6. 选择 Log In, 然后选择 Allow.

将Orgs从一个集线器移到另一个集线器

在某个时候,你的公司可能会发展到你希望在环境中心拥有另一个组织。使用Remove命令可以很容易地断开组织与环境Hub的连接。

并且很容易再次将它连接到同一个Environment Hub。但是,要将其连接到新的环境中心,请向合作伙伴支持提交一个案例,以断开与以前的环境中心的关联。

概要

你现在知道如何:

  • 设置我的域名。
  • 使用Environment Hub创建组织。
  • 将现有组织连接到环境中心。
  • 设置SSO。
  • 使用自定义列表视图来帮助您保持组织。

布拉沃。参加测验,然后进入下一个单位,在那里你可以使用这些组织。

应用程序部署(2)管理环境

学习目标

完成本单元后,您将能够:

  • 描述您从Environment Hub执行的任务。
  • 定义我的域名。
  • 描述如何设置单一登录到环境中的成员组织。

什么是环境中心?

现在是时候开始创建组织了。 Environment Hub应用程序是您创建组织和组织管理的一站式商店。

使用Environment Hub应用程序,您可以将现有组织连接到集线器。您可以创建标准和合作伙伴版本组织来开发,测试和打包您的应用程序。您可以设置从您的集线器org到其连接组织的单点登录,以便轻松访问开发和测试组织。

如果您想尝试本单元中的步骤,则需要使用Environment Hub应用程序的组织结构。

使用环境Hub所需的权限

如果您拥有系统管理员配置文件,则您拥有使用所有Environment Hub功能所需的权限。我们假设你有这些超级大国,并且你迫不及待地想创建一个组织。

但是,如果您希望其他用户访问集线器,或者您没有这些权限,则可以立即进行设置。在ISVforce指南的“配置环境中心”部分中了解有关集线器访问权限的更多信息。您或您的Salesforce管理员可以设置新配置文件,修改现有配置文件或使用正确权限创建权限集。

在开发管理组织中启用我的域

在开始之前,让我们使用Salesforce My Domain设置自己的域。是否要设置我的域名?对于AppExchange合作伙伴,这是肯定的。 Salesforce需要我的域作为安全措施来帮助防止恶意攻击 – 以防安全漏洞深藏在第三方或自定义组件中。
如果您的DE组织已启用“我的域”,或者您使用了Trailhead Playground组织,请跳过此部分。您已经设置了“我的域名”。

当您设置我的域名时,您会标记您的网址。例如,您可以创建像https://yourDomain.my.salesforce.com这样的自定义网址,而不是像https://na30.my.salesforce.com这样的网址。

Salesforce我的域向导将引导您完成这些步骤。My Domain wizard

  1. 选择你的域名。
    1. 从设置中,在快速查找框中输入我的域名,然后选择My Domain.
    2. 在https://后输入您的域的名称,然后单击Check Availability. 如果此名称已被使用,请选择另一个名称。
    3. 点击 Register Domain.
    Salesforce使用您的新域名更新其域名注册中心。完成后,您将收到一封电子邮件,其中包含“您的开发人员版本域可供测试”这个主题,它只需几分钟。

    注意

    在获得激活电子邮件之前,您无法进入下一步。

  2. 将我的域名推广到您的组织。
    1. 在激活电子邮件中,单击链接登录到您的Salesforce域并返回到向导。
    2. 请注意,浏览器地址栏中的网址显示您的新域名。URL of subdomain
    3. 点击您的组织,确保链接指向您的新域名。您可能尚未在您的DE组织中创建链接,因此我们可以继续。 (在生产组织中创建域时,这一重要步骤很容易被忽略。)
    4. 单击 Deploy to Users, 然后单击 OK.
    5. 点击 OK.
    在您的生产组织中,部署域会在您的组织中推出域URL。使用原始网址的请求会重定向到您的新网域。
恭喜,你已经建立了我的域名。在生产组织中设置“我的域”时,您需要执行几个步骤。通过完成用户认证模块的我的域单元了解更多信息。既然您已经使用域名保护了您的组织并将其品牌化,那么让我们继续。

感受力量:创建你的第一个组织

现在让我们创建一个开发组织,您可以在其中创建一个简单的应用程序。

  1. 从App菜单中选择 Environment Hub.
  2. 从ITEMS列表中选择 Environment Hub.
  3. 点击 Create Org.
  4. 为了目的,选择 Development .
  5. 在组织名称中,输入Trailhead Development Org.
    Screen for creating an org
  6. 填写剩余的必填字段。由于这是一个新的组织,所以您必须输入新的用户名,因为用户名不能在Salesforce组织中重复使用。
  7. 阅读主认购协议并选择是否接受。
  8. 点击 Create.
当您的组织准备就绪时,您会收到一封电子邮件确认,并且该组织出现在您的中心成员名单中。当电子邮件到达时,点击验证帐户以激活组织。

简要说明……

在继续之前,请确保您拥有环境Hub的AppExchange合作伙伴版本。
  1. 点击 Create Org.
  2. 为了目的,选择 Test/Demo.
  3. 确认您的版本选择列表看起来像这个。
    Edition menu with Partner versions of editions
  4. 点击 Cancel.
如果您没有看到突出显示的版本选项,请在合作伙伴社区提交案例以获取AppExchange合作伙伴环境中心。合作伙伴版本持续一年。非合作版本的使用寿命较短。

设置单点登录(SSO)

当您的组织准备就绪时,它将在环境中心中列为已连接的组织。

List of hub members with action menu highlight

注意右侧的下拉菜单。它有一个登录选项。如果您还没有设置SSO,登录只会将您带到登录页面。让我们激活SSO以充分利用Environment Hub。

  1. 从环境列表中选择组织名称。
  2. 点击 Enable SSO.
  3. 通过在新的屏幕上点击启用SSO,确认您想要 Enable SSO
  4. 转到单点登录用户映射相关列表,然后选择 New SSO User Mapping.
  5. 对于会员组织的用户名,请在环境中心查找用户。对于Environment Hub User,请输入您用于设置Trailhead Development Org的用户名。
    New SSO User Mapping screen
  6. 点击 Save.
  7. 选择 Login.

您现在已登录到相关组织。有用,不是吗?当您登录到成员组织时,您没有提供密码。因为您使用Environment Hub创建了组织,所以无需密码即可连接。

查看ISVforce指南的Environment Hub部分中的Single Sign-on,了解可用于连接组织的其他SSO方法。

让我们再来一次

它从不伤害练习,对吧?实际上,我们需要一个测试组织,用于在下一个单元中加载包含您的应用的软件包。所以,在这里。

  1. 从App菜单中选择 Environment Hub.
  2. 从ITEMS列表中选择 Environment Hub.
  3. 点击 Create Org.
  4. 为了目的,选择 Test/Demo.
  5. 在组织名称中,输入 Trailhead Test.
  6. 填写剩余的必填字段。请记住,这必须是新用户名,因为它必须在所有Salesforce组织中都是唯一的。
  7. 阅读主认购协议,然后选择是否接受。
  8. 点击 Create.
别忘了。找到您的电子邮件确认,并等待您的组织出现在您的中心成员名单中。在您确认并验证了您的帐户后,请继续并设置SSO以使您的生活更轻松。

保持有组织

您将在您的业务生命周期中创建许多组织。通过Environment Hub应用程序使用自定义列表视图,可以帮助您快速找到组织,从而让您的生活更轻松。

当您创建自定义列表视图时,您可以设置过滤器来确定您看到哪些组织并指定要显示的列。

将其他组织连接到集线器

也许你是一位发烧友,在你成为AppExchange合作伙伴之前,他们开始在Developer Edition org中创建你的应用。或者,您可能还有其他一些围绕您希望从环境中心访问的组织。没问题。就是这样。
  1. 登录到环境中心,然后选择 Connect Org.
  2. 输入您要连接的组织的管理员用户名,以及可选的简短说明。描述使得后来更容易找到组织,特别是如果您的中心有许多成员。
  3. 默认情况下,为您连接的组织启用单点登录(SSO)。要禁用SSO,请取消选择 Auto-enable SSO for this org.
  4. 再次选择 Connect Org.
  5. 在弹出窗口中,输入组织的管理员用户名和密码。如果您没有看到弹出窗口,请暂时停用浏览器的广告拦截软件,然后重试。
  6. 选择 Log In, 然后选择 Allow.

将Orgs从一个集线器移到另一个集线器

在某个时候,你的公司可能会发展到你希望在环境中心拥有另一个组织。使用Remove命令可以很容易地断开组织与环境Hub的连接。

并且很容易再次将它连接到同一个Environment Hub。但是,要将其连接到新的环境中心,请向合作伙伴支持提交一个案例,以断开与以前的环境中心的关联。

概要

你现在知道如何:

  • 设置我的域名。
  • 使用Environment Hub创建组织。
  • 将现有组织连接到环境中心。
  • 设置SSO。
  • 使用自定义列表视图来帮助您保持组织。

布拉沃。参加测验,然后进入下一个单位,在那里你可以使用这些组织。

应用程序部署(1)部署环境

学习目标

完成本单元后,您将能够:

  • 定义一个包并描述在开发生命周期中如何使用Managed-Beta和Managed-Released包。
  • 列出AppExchange应用程序开发中使用的组织类型以及每个组织的使用。
  • 描述为什么要谨慎对待黄金包组织。

开发和分发您的应用程序

准备好开发你的应用,测试并发送给客户?作为AppExchange合作伙伴,您可以使用许多不同的组织来发布您的应用。本模块介绍开发应用程序时使用的环境,如何创建和管理它们以及如何在这些组织之间移动应用程序。

设立开发管理组织

作为AppExchange合作伙伴,您拥有开发,测试,分期和打包,演示,市场营销,销售和分发您的应用的组织。要创建和管理开发组织,请使用Environment Hub应用程序。

Environment Hub安装在您的业务组织中。业务组织还拥有适合您的营销,销售,运营和联盟团队完成工作的所有应用程序和功能。

作为Salesforce合作伙伴向您提供的业务组织有两个许可证,通常分配给运营您业务的人员。

您可以创建合作伙伴开发人员版本组织,以充当开发管理组织,并要求在那里安装Environment Hub应用程序。该组织拥有20个许可证。您可以将这些许可证分配给开发和质量保证团队成员,以便他们可以创建和管理他们自己的组织。

要设置您的开发管理组织:

  1. 使用业务组织中的Environment Hub(1)创建合作伙伴开发版(PDE)组织(2)。
  2. 当您拥有新的PDE组织时,请在合作伙伴社区中提交案例以请求新组织(3)中的Environment Hub应用程序。这可能需要几天时间。
Diagram showing business org with environment hub creating developer org, which then gets environment hub

开发,Beta包装和测试组织

在整个业务中,您将使用许多不同类型的组织。目前,我们专注于您在应用程序开发中使用的开发,打包和测试组织。包装是将您的应用分发给客户的第一步。

以下是在开发过程中使用这三种组织的简单示例。

  • 您和您的团队在Partner Development Edition(PDE)组织(1)中开发您的应用程序。你设置了多少个PDE组织?这取决于您的需求和团队中的开发人员数量。
  • 您可以使用Salesforce迁移工具将来自PDE组织的配置合并到单个测试版包装组织(2)中。请参阅了解部署工具选项Trailhead单元中的Force.com IDE或Ant迁移工具。

    注意

    与我们的客户不同,AppExchange合作伙伴在开发过程中不使用沙箱,因此更改集不能用于您的组织之间的部署。

  • 在测试版包装组织(3)中,您将创建托管 – 测试版软件包以测试您的应用程序。
  • 您将测试版软件包安装在测试组织(4)中。测试组织版基于您的目标客户的版本。你可以有多个测试组织。
  • 如果你发现问题,你和你的团队回到PDE组织的发展。
Diagram showing application moving from developer org to beta package org to test org

开发完成后,在您的测试版包装组织中创建一个托管 – 发布的软件包。将其发送给新的测试组织进行最终检查。

金包组织

当您的应用程序准备启动时,您将创建最终的包装组织。我们把这个组织称为“黄金包”组织,因为它在你的应用程序的生命周期中很重要。无论产品有多少个版本,每个产品只有一个黄金包组织。

您可以使用迁移工具将您的应用程序移至Golden Package org(1)。然后创建一个托管 – 发布的软件包(2),并通过将软件包安装到新的测试组织(3)中执行至少一次质量保证运行。

Diagram showing app going from developer org to beta package org to golden package org to test org

关闭AppExchange

当您的应用高兴地捆绑在托管软件包中时,您可以在AppExchange(1)上私下发布它。然后它会通过安全审查,我们已经从图中省略了。获得批准后,您可以公开发布该应用。客户从那里安装包装(2)。

Diagram showing app going from golden package org to AppExchange to customers

这些组织如何映射到非云开发模式?

查看此表以了解您的组织如何映射到非云开发环境。

非云环境 Salesforce Org Edition 为什么?
个人开发 合作伙伴开发人员版组织 开发人员 这些组织提供了创建您的应用程序的全部功能。
连续构建 合作伙伴开发者版org-beta测试版包装组织 发布经理 使用此组织将开发代码汇集在一起​​,打包并将其推送到测试组织。它必须是一个PDE组织来创建托管软件包。
测试 Group Edition, Professional Edition, Enterprise Edition orgs 质量保证工程师或业务分析师 在客户使用的组织版本中测试您的应用程序。
分期,包装和发行 合作伙伴开发版org – 黄金包装组织 发布经理 这个组织不是一个临时环境,但它是您的应用程序将从中启动的启动板!它必须是一个PDE组织来创建托管软件包。
用户验收测试 Group Edition, Professional Edition, Enterprise Edition orgs 产品经理 在您的应用上线之前,使用此组织进行最终签名。

虽然我们没有在我们的简化路径中显示它,但我们强烈建议将元数据存储在源代码管理系统中,特别是在与多个开发人员一起工作的情况下。您可以使用Github或SVN等系统,并且可以在专为Salesforce设计的AppExchange上找到应用程序。

注意

如果您正在查看AppExchange,请确保版本控制系统支持合作伙伴开发。正如我们前面提到的,我们的客户在开发中使用沙箱,这有点不同。

一些问题的答案

为什么企业组织拥有Environment Hub应用程序?

您可以使用Environment Hub应用创建多种类型的组织。例如,您的销售团队可以创建演示组织,而您的运营团队可以创建试用版管理组织。由于这些团队通常在业务组织中,因此在业务组织中安装Environment Hub应用程序非常有用。

为什么我不能将相同的合作伙伴开发版组织用于我的环境中心应用程序,开发和打包?

根据用例维护单独的组织支持正确的发布过程并增加安全性。包含环境中心的组织 – 开发管理组织 – 用于创建和管理组织。你可能不希望每个人都使用它。并允许在该组织的发展导致混乱!

使用专为开发而设计的组织,开发人员可以探索Salesforce并构建您的应用程序,而无需踩在任何人的脚趾上。

您的包装组织就像货币版。您希望将此组织保持原始的稳定状态,并且只在应用准备好发布或更新时才对其进行修改。记住,当你从这个组织中释放你的应用程序时,你使用这个组织来永久打包你的应用程序。所以你想尽可能锁定这个组织。

最后一点:在包含托管软件包的组织中安装Environment Hub应用程序可能会在创建软件包版本或向客户推送软件包升级时导致问题。因此,甚至不要考虑开发管理组织中的包装。

尽管如此,一些小团队使用相同的组织来开发和打包。我们在这个模块中使用相同的组织来使您的生活更轻松,但我们不建议将其作为一般惯例。

如果我的团队习惯于不同的环境配置,该怎么办?

我们在这里描述的配置仅仅是一个例子。您可以根据您的需要使用不同的配置。

 

总结一下

这里描述的配置仅仅是一个例子。您可以根据您的需要使用不同的配置。

  1. 从您的企业组织创建一个PDE组织用于开发管理。
  2. 在开发管理组织中启用Environment Hub应用程序。
  3. 创建用于开发的PDE组织。
  4. 创建一个PDE组织,用于组合配置并创建用于测试的测试版包。
  5. 创建与您的目标版本相匹配的测试组织。
  6. 创建一个PDE组织用作您的Golden Package组织。
  7. 创建UAT(测试)组织来测试你的黄金包。

这个过程包括七个不同的组织 – 你可能会使用更多。

我们没有谈到AppExchange合作伙伴可以使用的所有组织,只是在开发过程中使用的那些组织。我们只介绍了Environment Hub应用程序,而不是用于销售应用程序的其他应用程序,例如许可证管理应用程序。

 

下一步是什么

在接下来的单元中,我们将深入使用Environment Hub应用程序,创建软件包并设置测试组织。为了充分利用这些设备,请确保执行以下操作。

去做 怎么样?
注册为AppExchange合作伙伴 请参阅AppExchange合作伙伴基础知识模块中的AppExchange合作伙伴计划入门
确保你有一个与环境中心应用程序的组织 请参阅AppExchange合作伙伴基础模块中的AppExchange合作伙伴的工具和资源优势

拿到你的徽章,然后你就可以和环境中心一起玩了。