Salesforce B2C商业复制 – 复制疑难解答

学习目标

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

  • 列出复制可能遇到的三种类型的问题。
  • 列出对复制失败进行故障排除时可以采取的三个步骤。
  • 说明复制撤消的工作方式。
  • 列出有助于复制故障排除的日志类型。
  • 描述可以用来对挂起的复制进行故障排除的三种方法。

介绍

自从学习复制以来,Linda Rosenberg一直在为Cloud Kicks运行许多数据和代码复制过程。

她遇到了一些测试她的故障排除技能的问题。由于各种原因,她不得不撤消复制。她有一些失败和复制挂起。她还需要清除缓存的帮助。让我们看看她如何解决这些问题。

发生任何故障的第一步是查看复制状态。

  1. 打开业务经理。
  2. 选择管理>复制>数据(或代码)复制
  3. 查看复制过程及其状态的列表。

让我们逐步了解一下Linda的工作。

复制后问题

当Linda遇到数据复制问题时,她会在登台实例和目标实例上的复制日志中查看错误消息。包含“失败”或“ ORA-”的条目可以提供她的线索。

  1. 如果复制日志没有提供有用的数据,她将检查错误日志。
  2. 如果复制包括多个任务,那么她将通过运行带有和不带有每个任务的测试,尝试隔离导致问题的任务。
  3. 如果多个对象的复制失败,她将尝试复制单个对象以缩小原因。
  4. 如果计划的复制未运行,则她尝试手动运行它。

撤消复制

如果数据或代码无法正确传输,或者不完整或有错误(对于代码而言),则可以撤消操作。

撤消数据复制

Linda可以回滚最新的传输和发布或发布数据复制过程。这是如何做。

  1. 打开业务经理。
  2. 选择管理>复制>数据复制
  3. 选择要撤消的复制。
  4. 点击编辑
  5. 选择无效
  6. 选择手动激活类型。
  7. 单击下一步
  8. 选择撤消复制类型。
  9. 单击下一步,然后查看流程详细信息。
  10. 点击创建
  11. 在列表中找到该过程,然后单击“开始”

撤消代码复制

Linda可以回滚最新的传输和激活或激活代码复制过程。这是如何做。

  1. 打开业务经理。
  2. 选择管理>复制>代码复制
  3. 选择要撤消的复制。
  4. 点击编辑
  5. 选择手动激活类型。
  6. 单击下一步
  7. 选择撤消复制类型。
  8. 单击下一步,然后查看流程详细信息。
  9. 点击创建
  10. 在列表中找到该过程,然后单击“开始”

复制日志

Salesforce B2C Commerce在源系统和目标系统上都记录复制过程日志文件。这些与常规错误日志是分开的。它们存在于:https://instance_address/on/demandware.servlet/webdav/Sites/Logs/中,文件名如staging-blade_name-appserver-yyyymmdd.log

Linda监视登台实例上的状态。如果某个过程失败,则她检查暂存日志。一条日志可能包含几天的事件,因此她会查找复制过程开始时的日志。日志文件的时间戳类似于数据复制任务。无论实例类型如何,所有日志文件名都包含暂存。这是Linda查看日志的方式。

  1. 打开业务经理。
  2. 选择管理>站点开发>开发设置业务管理器日志文件链接
  3. 单击日志文件链接。
  4. 查找登台日志。

这是一个日志条目的示例。

[2007-01-15 21:17:12.848 GMT] ISH-CORE-2250: New replication task "1168895828901"
in domain "Sites-Site" successfully created.

查看日志文件时,请重点关注某些项目。

  • 滚动浏览日志文件,其中包含该过程的步骤,以查找错误。
  • 登台实例的最后一步是移交给目标服务器。登台日志应具有与此相似的一行。[2019-01-15 21:27:09.783 GMT]实时系统中的登台管道已成功调用。
  • 如果缺少成功消息,请查找与此类似的错误。ISH-CORE-2491:将uuid =’dC8KAANna1111EOTN9h9md4’的进程状态从“ StartingStagingProcess”设置为“ ErrorAcquiringEditingLocks”
  • 如果发生此登台错误,请登录控制中心,然后停止并重新启动实例。然后再次运行相同的复制。控制中心是B2C Commerce工具,可用于监视B2C Commerce实例的状态并采取适当的措施。如果登台实例日志没有错误,请查看目标实例上的登台日志。https:// [target_instance_name] /on/demandware.servlet/webdav/Sites/Logs
  • 目标实例暂存日志以这样的消息开头。2019-01-15 20:29:30.321 GMT]使用uuid = bcFvkiaalTMxM444667bVYFqBX复制分段过程[2007-01-15 20:29:32.347 GMT]启动StagingResources-Acquire @ Sites-Site
  • 根据您复制的数据,日志中包含一个用于数据库副本开始的条目。检查错误。
  • 复制后,请检查整个日志中是否有错误。如果该过程成功完成,则日志末尾将显示以下消息。[2019-01-15 21:31:17.434 GMT] ReplicationPublication过程已完成,状态为“ StagingProcessCompleted”。

修复挂起的复制

一些数据库事务,特别是涉及目录数据的数据库事务,可能需要一段时间才能完成。当数据复制在运行状态中的停留时间超出预期时,Linda会检查其是否挂起。这意味着复制不再运行,或者复制受限或没有进展。琳达必须找出它是否挂着以及为什么挂起,这样她才能成功运行它。

检查登台

她检查登台实例上的最新复制日志。这是如何做。

  1. 确认其中包含“成功调用实时系统中的登台管道”行。如果没有,那就有问题了。
  2. 检查它是否包含状态设置为ErrorAcquiringEditingLocks的条目。如果是这样,则可能尚未释放来自先前复制过程的资源锁,这可能会挂起复制。

检查目标

她检查目标实例上的最新复制日志并滚动到末尾。

  1. 刷新视图几次以查看是否要添加新条目。如果过一会儿没有新条目出现,则复制可能会挂起。
  2. 检查它是否包含状态设置为的条目ErrorAcquiringLivelocs。如果是这样,则可能尚未释放来自先前复制过程的资源锁,这可能会挂起复制。
  3. 如果最后一个日志条目是数据库操作,例如INSERT或ALTER INDEX,请检查以前的日志以查看该操作花费了多长时间以及下一个条目是什么。
  4. 如果最后一个日志条目以Rsync开头,则延迟可能是由于大量更改的静态内容文件引起的。即使文件的内容相同,也将包含已移动到其他文件夹的文件。如果Rsync卡住,请联系客户支持以检查其状态。
  5. 如果日志显示状态ErrorLiveStagingProcessKilled,则说明复制可能由于并发部署或实例重新启动而挂起。

同时检查

有时,她同时处理两个实例。

  1. 如果任一日志包含类似于资源繁忙的行,并且指定了NOWAIT进行获取,请与客户支持一起打开故障单并提供您尝试的故障排除步骤。
  2. 如果复制过程在目标实例上显示“已完成”,但在暂存实例上其状态仍在等待或进行中,则复制完成后暂存实例可能已关闭。重新启动登台实例,然后再次检查状态。
  3. 如果确定复制已挂起,请使用控制中心重新启动登台实例。通过验证暂挂实例上的状态为“失败”,确保挂起的复制已停止。停止后,重新运行复制。
  4. 如果复制再次挂起,请尝试重新启动目标实例和源实例,然后重新运行复制。重新启动目标实例将中断所有正在运行的作业,为所有店面请求返回错误,并清除所有缓存。仅在不得已时才重新启动生产实例。
  5. 如果复制仍然挂起,请打开客户支持票证并提供您尝试的故障排除步骤。

对缓存清除进行故障排除

当Linda在页面缓存方面遇到问题时,她会考虑这些技巧。

  • 关闭浏览器并清除本地缓存,以确保问题不是系统本地的,然后再在Business Manager中手动清除缓存。
  • 若要手动清除嵌入式CDN(生产和开发实例)上的缓存,请对“站点的整个页面缓存”单击“无效”。您无需清除静态缓存。
  • 如果看不到预期的变化,请寻找可能指示更具体问题的模式。例如,图像不刷新吗?如果是这样,则图像提供程序可能会出现问题。如果内容资产引起问题,请确保已部署它。

总结一下

在本单元中,Linda学习了如何解决搬迁问题。她学习了如何撤消复制,查看复制日志,处理挂起的复制以及对缓存清除进行故障排除。

本模块向您展示了如何运行B2C Commerce复制过程并对其进行故障排除。现在参加最后的测验并获得您的徽章!

Salesforce B2C商业复制 – 配置代码复制

学习目标

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

  • 列出四种代码复制过程类型。
  • 描述如何将新的代码版本从沙箱传输到开发实例。
  • 列出代码复制激活方法。
  • 列出手动代码复制过程中的三个步骤。

介绍

Cloud Kicks的新管理员Linda Rosenberg了解到该网站的开发人员已准备好推出一些很棒的店面功能。开发人员已经将代码从沙盒实例上载到暂存中,并且质量检查测试进展顺利。现在轮到琳达了。通过代码复制,她可以将新的代码版本从登台实例转移到开发实例,然后再转移到生产实例,然后激活它。

Linda Rosenberg,管理员

代码复制与数据复制一样,具有源和目标。但是,数据复制处理的是数据对象之间的依赖性,这会使事情变得复杂。代码复制非常简单。复制代码版本时,Salesforce B2C Commerce在目标实例上为该版本分配与暂存源版本相同的名称。如果名称已经存在,则会在名称后附加一个时间戳和索引号。

例如,Cloud Kicks的新代码版本的名称为version-19b。目标实例上已经存在具有该名称的版本,因此B2C Commerce将该新版本命名为version-19b_01202019-1

工艺类型

像数据复制一样,代码复制是一个两步过程。

  1. B2C Commerce将代码版本从登台转移到目标实例。
  2. 它在目标实例上激活代码。

Linda可以将两个步骤作为一个复制过程运行,也可以分别运行。单独运行它们可以帮助她确定故障的任何来源(如果发生)。所有代码复制过程都在登台实例上运行,甚至代码激活和撤消也仅影响目标实例。

有四种类型的代码复制过程。

  • 代码传输:  B2C Commerce会将源实例上的选定代码版本传输到目标实例,但不会激活它。
  • 代码传输和激活:  B2C Commerce将源实例上的选定代码版本传输到目标实例,然后将其激活。
  • 代码激活: 只有成功完成代码传输过程后,此过程才可用。激活使传输的代码版本成为目标实例上的活动版本。如果新的代码版本已经处于活动状态,则什么也不会发生。如果目标实例上不存在该复制,复制将失败。
  • 撤消: 仅在成功进行代码传输和激活或代码激活复制过程之后,此过程才可用。它将目标实例上的活动代码版本还原为上一次代码复制过程之前的活动版本。如果要还原的版本不再处于活动状态,则不会发生任何事情。如果目标实例上不再存在它,或者以前的活动代码版本不再存在,则复制过程将失败。

激活方式

Linda可以指定她希望如何运行复制过程。她的选择是:

  • 手动: 该过程在她触发时运行。
  • 自动: 她安排流程运行的日期和时间。
  • 重复执行: 她安排流程运行时的重复执行时间:
  • 作业步骤: 该流程可作为作业的一部分运行。我们在Salesforce B2C Commerce Scheduled Jobs模块中谈论工作 。

创建过程

Linda希望尽快发布新代码,而且要花几个小时—这是执行此类任务的好时机。这是她创建可以手动触发的代码复制过程的方式。

  1. 打开业务经理。
  2. 选择管理>复制>代码复制业务经理代码复制
  3. 点击新建。(您必须在暂存实例上才能看到此按钮。)
  4. B2C Commerce创建一个流程ID,或者您可以输入所需的文本。
  5. 选择开发目标实例。
  6. 输入可选说明。这可以帮助您以后找到它。
  7. 对于激活类型,选择手动
  8. 选择一个通知电子邮件触发器,然后输入多个目标电子邮件地址,以逗号分隔。该电子邮件包含流程的开始和结束时间,目标系统,复制类型和复制任务。如果该过程失败,则电子邮件通知中将包含错误代码。周期性系列中的每个进程都会发送自己的通知。
  9. 指定这些事件发生的情况。
    • 流程结束: 无论流程成功还是失败,B2C Commerce都会向该地址发送电子邮件。如果挂起,则不会发送电子邮件。
    • 流程失败:如果流程失败,  B2C Commerce会向该地址发送一封电子邮件。如果该过程成功或挂起,则不会发送电子邮件。
  10. 单击下一步。
  11. 对于复制类型,选择代码传输和激活
  12. 单击下一步,然后查看流程详细信息。一旦创建了流程,就无法对其进行更改。
  13. 单击开始以创建过程并立即运行。

Linda和开发人员在开发实例上测试新代码。当看起来不错时,她会将相同的代码版本从登台实例复制到生产环境。现在,Cloud Kick的购物者可以使用令人敬畏的新功能!

下一步

在本单元中,Linda知道代码复制非常简单,并且只需要一个唯一的版本号。在开发人员将代码上传到登台实例之后,她将其从登台复制到开发再生产。她还了解了代码复制过程类型和激活方法。她进行了手动代码复制,将许多新功能推向了店面。

Salesforce B2C商业复制 – 配置代码复制

学习目标

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

  • 列出四种代码复制过程类型。
  • 描述如何将新的代码版本从沙箱传输到开发实例。
  • 列出代码复制激活方法。
  • 列出手动代码复制过程中的三个步骤。

介绍

Cloud Kicks的新管理员Linda Rosenberg了解到该网站的开发人员已准备好推出一些很棒的店面功能。开发人员已经将代码从沙盒实例上载到暂存中,并且质量检查测试进展顺利。现在轮到琳达了。通过代码复制,她可以将新的代码版本从登台实例转移到开发实例,然后再转移到生产实例,然后激活它。

Linda Rosenberg,管理员

代码复制与数据复制一样,具有源和目标。但是,数据复制处理的是数据对象之间的依赖性,这会使事情变得复杂。代码复制非常简单。复制代码版本时,Salesforce B2C Commerce在目标实例上为该版本分配与暂存源版本相同的名称。如果名称已经存在,则会在名称后附加一个时间戳和索引号。

例如,Cloud Kicks的新代码版本的名称为version-19b。目标实例上已经存在具有该名称的版本,因此B2C Commerce将该新版本命名为version-19b_01202019-1

工艺类型

像数据复制一样,代码复制是一个两步过程。

  1. B2C Commerce将代码版本从登台转移到目标实例。
  2. 它在目标实例上激活代码。

Linda可以将两个步骤作为一个复制过程运行,也可以分别运行。单独运行它们可以帮助她确定故障的任何来源(如果发生)。所有代码复制过程都在登台实例上运行,甚至代码激活和撤消也仅影响目标实例。

有四种类型的代码复制过程。

  • 代码传输:  B2C Commerce会将源实例上的选定代码版本传输到目标实例,但不会激活它。
  • 代码传输和激活:  B2C Commerce将源实例上的选定代码版本传输到目标实例,然后将其激活。
  • 代码激活: 只有成功完成代码传输过程后,此过程才可用。激活使传输的代码版本成为目标实例上的活动版本。如果新的代码版本已经处于活动状态,则什么也不会发生。如果目标实例上不存在该复制,复制将失败。
  • 撤消: 仅在成功进行代码传输和激活或代码激活复制过程之后,此过程才可用。它将目标实例上的活动代码版本还原为上一次代码复制过程之前的活动版本。如果要还原的版本不再处于活动状态,则不会发生任何事情。如果目标实例上不再存在它,或者以前的活动代码版本不再存在,则复制过程将失败。

激活方式

Linda可以指定她希望如何运行复制过程。她的选择是:

  • 手动: 该过程在她触发时运行。
  • 自动: 她安排流程运行的日期和时间。
  • 重复执行: 她安排流程运行时的重复执行时间:
  • 作业步骤: 该流程可作为作业的一部分运行。我们在Salesforce B2C Commerce Scheduled Jobs模块中谈论工作 。

创建过程

Linda希望尽快发布新代码,而且要花几个小时—这是执行此类任务的好时机。这是她创建可以手动触发的代码复制过程的方式。

  1. 打开业务经理。
  2. 选择管理>复制>代码复制业务经理代码复制
  3. 点击新建。(您必须在暂存实例上才能看到此按钮。)
  4. B2C Commerce创建一个流程ID,或者您可以输入所需的文本。
  5. 选择开发目标实例。
  6. 输入可选说明。这可以帮助您以后找到它。
  7. 对于激活类型,选择手动
  8. 选择一个通知电子邮件触发器,然后输入多个目标电子邮件地址,以逗号分隔。该电子邮件包含流程的开始和结束时间,目标系统,复制类型和复制任务。如果该过程失败,则电子邮件通知中将包含错误代码。周期性系列中的每个进程都会发送自己的通知。
  9. 指定这些事件发生的情况。
    • 流程结束: 无论流程成功还是失败,B2C Commerce都会向该地址发送电子邮件。如果挂起,则不会发送电子邮件。
    • 流程失败:如果流程失败,  B2C Commerce会向该地址发送一封电子邮件。如果该过程成功或挂起,则不会发送电子邮件。
  10. 单击下一步。
  11. 对于复制类型,选择代码传输和激活
  12. 单击下一步,然后查看流程详细信息。一旦创建了流程,就无法对其进行更改。
  13. 单击开始以创建过程并立即运行。

Linda和开发人员在开发实例上测试新代码。当看起来不错时,她会将相同的代码版本从登台实例复制到生产环境。现在,Cloud Kick的购物者可以使用令人敬畏的新功能!

下一步

在本单元中,Linda知道代码复制非常简单,并且只需要一个唯一的版本号。在开发人员将代码上传到登台实例之后,她将其从登台复制到开发再生产。她还了解了代码复制过程类型和激活方法。她进行了手动代码复制,将许多新功能推向了店面。

Salesforce B2C商业复制 – 配置数据复制

学习目标

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

  • 描述复制处理的两种数据类型。
  • 列出部分数据复制很有用的三种情况。
  • 描述数据复制过程类型。
  • 描述数据复制激活方法。
  • 列出手动数据复制过程中的三个步骤。

介绍

Cloud Kicks的新管理员Linda Rosenberg希望开始进行数据复制。这是她将数据,元数据和文件从Salesforce B2C Commerce登台实例复制到开发或生产实例的时候。

她知道在Business Manager中,她可以在每个实例中配置一个或多个站点。特定实例上的多个站点被视为组织。例如,当她配置设置时,可以将它们配置为特定于站点的(一个站点)或跨所有站点(组织)配置。

数据复制在这两个级别上也起作用。

  • 全局复制:我包含适用于整个组织的配置信息和数据
  • 站点复制: 包括属于一个或多个指定站点的数据,例如产品和目录数据,基于XML的内容组件和图像文件

Cloud Kicks最近启动了一个新的店面,并为其实施引入了新的主实例组(PIG)。Cloud Kicks对每个目标实例运行完整的全局复制,然后再对其执行任何站点复制。Cloud Kicks店面已经启用,因此Linda专注于新数据。

任务

Linda可以通过在粒度级别上选择特定的复制任务来配置数据。她还可以在单​​个过程中组合全局和站点级别的数据。她越了解数据及其应用程序,就越能将数据移到需要的位置。

在业务管理器中,她可以查看潜在的复制任务,以了解层次结构和数据粒度的重要性。例如,她可以复制一个目录,但不能复制特定产品。但是,对于活动数据,她可以以较低的粒度进行复制,例如特定店面的促销和优惠券。这称为部分数据复制。

在这些情况下,部分数据复制可能会很有用。

  • 在整个店面中推出新的促销定义,文本,图形和优惠券
  • 使用季节性消息更新店面主页设计
  • 更新产品价格变动

当她复制数据时,她选择的数据将替换目标实例上的相应数据。例如,PIG实例(阶段,开发和生产)包括目录A,B和C。

目录A,B和C在所有情况下都可用:暂存,开发和生产。

在登台实例上,她更新目录B,删除目录C,然后添加目录D。当她从登台复制目录到开发时,在开发实例上,目录A不变,目录B被更新,目录C被删除,目录D已添加。

从暂存到开发的复制后,目录A不变,目录B被更新,目录C被删除,目录D被添加。

注意

请记住,您必须在开发实例上测试所有店面更改,然后再将其推送到生产实例。

B2C Commerce仅覆盖您选择的要在目标实例上进行复制的数据。其他数据不受影响,例如在上一个示例中,目录A保持不变。

包含数据

Linda复制数据时,她会仔细考虑受影响的文件是否包含全局数据和站点数据。数据可以包括内容资产,产品和价目表或设置,例如首选项和权限。以下是她可以在复制中包括的全局和特定于站点的店面数据和设置。

店面 设定值
全球(组织)
  • 目录内容
  • 客户清单及其设置
  • 地理位置数据
  • 价格书
  • 共享库内容
  • 全局静态内容
  • 系统对象类型扩展和自定义对象类型
  • 某些组织范围的自定义对象
  • CSRF允许列表管道和启动节点
  • 客户服务中心(CSC)设置
  • 全球开放商务API(OCAPI)设置
  • 系统和自定义首选项
  • 网站定义
  • 全局WebDAV客户端权限
  • OAuth提供商
现场
  • A / B测试和经验
  • 活动数据提要
  • 活动和促销
  • 优惠券
  • 客户群
  • 内容槽
  • 私人图书馆的内容
  • 动态内容
  • 自定义对象
  • 搜索索引和字典
  • SEO和静态映射
  • 排序规则和选项
  • 源代码
  • 专卖店
  • 税收
  • 缓存设置
  • OCAPI设置
  • 特定于站点的系统和自定义首选项
  • 支付处理器和方法
  • 运送方式

Linda在Business Manager中选择一个或多个与她要复制的数据类型相对应的任务。请参阅 信息中心以获取任务的完整列表。

不包含数据

您不能复制以下数据类型。而是必须将这些数据创建或导入到开发和生产实例中。

  • 活动数据
  • 批处理
  • 目录和内容导入提要
  • 自定义错误页面
  • 客户和客户组分配
  • 已上传但未导入的文件
  • 礼券
  • 库存数据
  • 工作时间表和历史
  • 组织概况
  • 支付信息
  • 订单信息(例如,税金和运费)
  • 网站地图
  • 兑换源代码
  • 用户,角色和权限

动态建议是您无法复制的另一种数据类型。这是因为Commerce Cloud Einstein在生产实例上动态生成了这些。

工艺类型

数据复制是两步替换过程,其中数据是:

  1. 从登台转移到目标实例
  2. 在目标实例上发布

Linda可以将两个步骤作为一个复制过程运行,也可以分别运行。如果单独运行它们,则可以帮助您确定发生故障的任何原因。所有复制过程都在登台实例上运行,甚至可以发布和撤消,这仅影响目标实例。

这些是数据复制过程的类型。

  • 传输:  B2C Commerce将源实例上的数据传输到目标实例,但不替换它。您还必须运行发布过程以更新目标。
  • 传输和发布:  B2C Commerce将源实例上的数据传输到目标实例,并立即替换现有数据。
  • 发布: 仅在成功完成传输过程后,此过程才可用。它将目标实例上的现有数据替换为先前传输的数据。复制任务必须与传输过程任务匹配。您无法传输数据,然后仅发布其中一些数据。如果不匹配,则复制将失败。
  • 撤消: 仅在成功进行传输和发布或发布过程之后,此过程才可用。它将目标实例还原为上一个复制过程之前存在的数据。
注意

注意

运行发布复制过程时,必须禁用增量索引。

激活方式

Linda可以指定她希望如何运行复制过程。她的选择是:

  • 手动: 该过程在她触发时运行。
  • 自动: 她安排流程运行的日期和时间。
  • 重复执行: 她安排流程运行时的重复执行时间。
  • 作业步骤: 该流程可作为作业的一部分运行。我们在Salesforce B2C Commerce Scheduled Jobs模块中谈论工作 。

请记住,B2C Commerce在流程运行时而不是在定义流程时复制其状态的数据。

创建数据复制过程

Linda计划根据数据类型及其更改频率以多种方式创建复制过程。目前,她想运行一个快速的手动过程来更新一些新价格。

这是她创建手动复制任务的方式。

  1. 打开业务经理。
  2. 选择管理>复制>数据复制业务经理数据复制
  3. 点击新建。(您必须在暂存实例上才能看到此按钮。)
  4. B2C Commerce自动创建一个流程ID,或者您可以输入所需的文本。
  5. 选择开发目标实例。
  6. 输入可选说明。这可以帮助您以后找到它。
  7. 选择“无效”以在复制过程结束时刷新目标实例上的页面缓存。默认情况下,“无效”处于选中状态。清除缓存会暂时降低网站性能,但是如果您不刷新缓存,购物者将不会在店面看到新数据。
  8. 对于激活类型,选择手动
  9. 选择一个通知电子邮件触发器,然后输入多个目标电子邮件地址,以逗号分隔。该电子邮件包含流程的开始和结束时间,目标系统,复制类型和复制任务。如果该过程失败,则电子邮件通知中将包含错误代码。循环序列中的每个进程都会触发自己的通知。
  10. 指定这些事件发生的情况。
    • 流程结束: 无论流程成功还是失败,B2C Commerce都会向该地址发送电子邮件。如果挂起,则不会发送电子邮件。
    • 流程失败:如果流程失败,  B2C Commerce会向该地址发送一封电子邮件。如果该过程成功或挂起,则不会发送电子邮件。
  11. 单击下一步
  12. 对于复制类型,选择传输和发布
  13. 选择“价格手册”任务。这基于您复制的数据。
  14. 单击下一步并查看详细信息。
  15. 单击开始以立即运行该过程。

Linda在开发实例上测试数据。看起来不错时,她会将相同的数据从登台实例复制到生产中。

下一步

在本单元中,Linda了解到数据复制可以处理全局数据或站点数据,或同时处理这两种数据。她还了解了复制过程任务,过程类型和激活方法。她进行了手动复制,以推送新的定价数据。在下一单元中,她学习如何执行代码复制。

Salesforce B2C商业复制 – 探索B2C商业复制

学习目标

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

  • 列出复制影响的三个实例。
  • 列出运行复制的三种方式。
  • 列出三种可自动触发高速缓存刷新的数据复制类型。
  • 描述复制回滚。

介绍

Linda Rosenberg是高端运动鞋公司Cloud Kicks的新管理员。最近,她学习了如何在Salesforce B2C Commerce中执行一些基本的数据管理任务。现在,她想成为一名专家,负责将数据和代码更改从公司的电子商务登台实例转换为生产和开发实例。

例如,她的开发人员刚刚创建了一个更加简化的结帐流程,并添加了额外的产品折扣功能,该功能需要更改Business Manager中的配置设置。另外,琳达刚刚从外部系统导入了产品数据,以准备新的弹簧线。她可以用来在B2C Commerce实例之间移动代码,配置设置和数据的过程称为复制

Linda Rosenberg,管理员

复制过程是您执行的任务的集合,这些任务将已定义的数据或代码从源实例推送到目标实例。源实例是代码或数据当前所在的位置。目标实例是您要结束的位置。使用复制时,源实例为暂存,目标实例为developmentproduction

源实例和目标实例

猪和SIG

如果完成了 Salesforce B2C Commerce角色和权限模块,您将了解B2C Commerce体系结构。现在让我们更深入地研究实例。当商家首次实现站点时,该站点通常每个域接收九个实例。这包括:

  • 主实例组(PIG)上的三个实例:
    • 分期
    • 测试开发
    • 部署生产
  • 五个沙箱实例,用于在辅助实例组(SIG)上进行代码开发。为了实现可扩展性,商家每个域最多可以有47个沙箱。
  • 一个演示实例。

您只能在PIG上执行复制。数据复制和代码复制都是如此。

数据复制将数据,元数据和文件从登台复制到开发或生产实例。它在两个级别上起作用。

  • 全局复制,包括适用于整个组织的配置信息和数据。
  • 站点复制,包括属于一个或多个指定站点的数据(例如产品和目录数据,基于XML的内容组件和图像文件)。

代码复制将代码版本从暂存阶段转移到开发或生产实例,并激活它们。

开发人员将代码从开发人员的计算机上载到沙箱。 代码部署也可以从本地计算机到登台进行。

通常,开发人员负责将代码从SIG转移到PIG。当开发人员在本地计算机上完成编码后,他们会将代码上传到沙盒或登台。他们可能使用Visual Studio Code上载它,或者他们可能使用代码存储库(例如Git)在多个开发人员之间同步工作。然后,代码存储库是登台实例发布的源。这种类型的开发环境可能具有自己的构建过程,并且具有自动上载功能。

复制将数据和代码从登台实例推送到生产和开发实例。

复制过程

Linda了解到复制涉及以下步骤。

  1. 运行从暂存到开发的复制以进行测试。
  2. 测试开发实例并查看日志。
  3. 确保搜索有效,并且开发系统上的数据正确。
  4. 在登台实例上进行必要的更改。
  5. 从阶段复制到开发,然后再次测试,直到一切正常为止。
  6. 从登台复制到生产。
  7. 测试生产中的所有内容,即使它们已正确复制到开发中也是如此。

当Linda配置数据或代码复制过程时,她可以选择立即运行它,安排它以后运行,或将其分配给作业。做什么工作 B2C Commerce作业是一组执行长时间运行的操作的步骤,例如下载导入文件或重建搜索索引。我们在Salesforce B2C Commerce Scheduled Jobs模块中谈论工作 。

数据复制是一个长期运行的过程,包含两个阶段。

  1. 将数据复制到目标系统-数据在目标系统上尚不可见。
  2. 发布-这很快,并且可以同时使用所有更改。

她可以将数据复制过程配置为每天,每周或每月在特定时间重复一次。如果您计划复制过程在以后运行,则该过程将在运行时而不是在创建该过程时复制系统状态。

代码复制将代码版本从登台实例转移到开发或生产实例,然后激活它们。

还会发生什么?

复制期间,Linda必须避免进行其他更新。她很快了解到,在运行复制时,在Business Manager中对源或目标实例进行手动编辑不是一个好主意。在此过程中进行编辑可能会影响数据的一致性。

她还确保在复制期间目标实例上没有任何作业正在运行,并避免在B2C Commerce标准维护窗口期间进行数据复制。如果重复的数据复制过程失败,它将不会自动再次运行。

页面缓存影响

代码复制和数据复制都具有页面缓存含义。某些复制任务会自动使缓存无效并刷新。有些任务不会自动执行此操作,因此Linda必须始终在运行这些任务后手动清除缓存。让我们看看她采取的手动清除缓存的步骤。

要访问业务管理器,您必须具有B2C Commerce实施。在此模块中,我们假设您是B2C Commerce管理员,具有执行这些任务的适当权限。如果您不是B2C Commerce管理员,那就可以了。继续阅读以了解您的管理员如何在登台实例中执行这些步骤。不要尝试在您的Trailhead游乐场中遵循我们的步骤。Trailhead Playground中不提供B2C Commerce。如果您拥有B2C Commerce的暂存实例,则可以在实例中尝试这些步骤。如果没有暂存实例,请询问您的经理是否有可以使用的实例。

要访问并使缓存无效:

  1. 打开业务经理。
  2. 选择管理>站点>管理站点>站点名称
  3. 单击缓存选项卡。
  4. 选择登台实例。
  5. 在“缓存无效”部分中,单击“无效”以使站点的“静态内容缓存”和“整个页面缓存”或“站点的整个页面缓存”无效。这将立即生效。业务管理器缓存无效

清除页面缓存可能会对应用程序服务器造成沉重的负担。这意味着Linda仅在必要时才应手动清除页面缓存,并避免在高流量时间清除它。例如,如果Linda进行了一些次要更新,而不是立即清除缓存,则可以在晚上等待计划的缓存清除。如果更改涉及重要的安全功能或关键产品或促销更新,则她的决定会有所不同。

无论她何时清除缓存,清除缓存命令最多可能需要15秒才能到达Web服务器。她可能不会立即看到缓存更新。为了确保成功复制,她评估了更改范围,并尝试使更改尽可能小。

对于自动和手动缓存刷新,B2C Commerce将刷新生产实例中的所有页面延迟15分钟。这样可以确保跨应用程序服务器的负载分配。在非生产实例上,页面缓存立即刷新。

代码复制

从阶段到生产的代码复制过程的最后一步将自动清除缓存。

资料复制

默认情况下,数据复制过程的最后一步会自动使缓存无效并刷新,除非在某些情况下。Linda可以配置复制过程以跳过自动缓存清除。但是,她必须谨慎执行此操作,因为它可能导致店面中的数据不一致,这可能很难进行故障排除。

让我们看一个示例,Linda将选择跳过自动缓存清除。B2C Commerce将产品描述页面缓存24小时。Linda安排第二天晚上清除产品页面的缓存,然后注意到生产实例上的几种产品价格不正确。她要求采购员在登台实例上在Business Manager中更正价格,然后使用跳过页面缓存清除的过程将更改复制到生产中,因为她已经安排了它。

这样可以使价格数据在登台和生产过程中保持同步,并确保正确的价格出现在购物篮中(不会被缓存)。店面的产品描述页面显示旧的,错误的价格,直到计划的页面缓存清除发生。

注意

购物篮是B2C Commerce API中用于购物车的术语。

跳过自动缓存刷新意味着她在产品描述页面上接受了不正确价格的折衷,以换取避免生产缓存刷新对性能的影响。最重要的是,生产实例上的购物篮与登台实例同步反映正确的价格。

这些是其他一些页面缓存注意事项。

复制时… B2C商务…
特定于站点的数据 清除受影响站点的页面缓存,除非您仅复制优惠券,源代码,Open Commerce API设置或活动数据供稿。
全球数据 清除所有受影响站点的页面缓存,除非您仅复制地理位置或客户列表。
目录,网站或价格手册 自动清除缓存。
促销或静态内容 不自动清除缓存。
产品目录 使用下表中描述的规则有选择地清除受影响站点的页面缓存。

目录是一种特殊情况,如下所示。

复制时… B2C Commerce从…清除缓存
组织所有站点的所有目录 组织的所有站点。
分配给一个或多个站点的单个目录 分配目录的站点。
一个主目录,不直接分配给一个站点,而是用作一个或多个站点或导航目录的产品存储库 以编程方式确定的站点,这些站点提供主目录中的产品。

最佳实践

Linda现在对复制有很好的处理。但是在为Cloud Kicks设置任何复制过程之前,她仔细研究了以下最佳实践。

  • 识别不同数据复制组之间的依赖关系。例如,如果您有使用源代码和优惠券代码的广告系列,则在复制广告系列之前或之前复制源代码和优惠券。
  • 始终重建搜索索引,并确保过程已完成,然后再复制它们。复制搜索索引时,请禁用增量索引和计划索引,并停止其他作业。当重建或修改索引时复制失败。
  • 不要同时运行多个复制过程。
  • 限制有权执行数据复制的用户数。
  • 将静态内容存储在文件夹结构中,该文件夹结构不允许在同一文件夹中包含超过1,000个文件。如果您在一个文件夹中存储的文件数超过1,000,即使没有更改文件,访问和复制的时间也会大大增加。
  • 尽可能复制现有的复制过程,而不是从头开始创建新过程。
  • 不要在生产实例上直接编辑盒带路径或代码。这可能会导致意外行为,例如页面的多个版本。始终将代码和首选项从登台复制到生产中。

回滚复制

有时您必须撤消复制。您可以通过将复制类型设置为“撤消”来再次运行相同的复制来执行此操作。这会将目标实例还原到其先前的状态。但是,您只能回滚最新数据或代码复制。

数据和代码复制不会影响彼此的回滚。例如,如果先运行数据复制,然后运行代码复制,则仍然可以撤消两个复制。

下一步

在本单元中,Linda了解了哪些实例用于代码和数据复制。她了解了页面缓存的含义,最佳实践以及如何回滚复制。接下来,她配置并运行数据复制。