Loading

更新硬编码引用

发布日期: Sep 2, 2021
描述

上次更新日期是 2020 年 1 月 9 日

在高级别中,硬编码引用是包含实例名称的链接(例如 NA25、AP2、EU4、CS10 等)。如果您的 Salesforce 组织实施实例刷新或组织迁移等维护工作,而贵组织在以下对象中拥有硬编码引用:集成、电子邮件模板、Knowledge 文章和自定义,可能将会发生中断。例如,集成可能会中断,电子邮件可能包含损坏的链接和图像。要阻止这些类型的中断发生,我们建议实施 My Domain,并查看以下常见问题。

注意:本文档仅供信息参考用途,并不构成任何法律或其他有约束力的协议。本文档所描述的策略和实践由 Salesforce 全权决定是否更改。

相关文章:

解决方案

一般常见问题解答

1.什么是硬编码引用(即特定于实例的引用)?

a) 硬编码引用是指在 URL 中包含实例名称(例如 na1.salesforce.com)。使用通用、非实例特定或相对 URL(例如 login.salesforce.com 或 <mydomain>.my.salesforce.com),替换这些硬编码引用。

以下是硬编码引用的示例:https://na1.salesforce.com/{Case.Id}
通过移除 'na1.salesforce.com',使其成为相对引用,因此变为:/{Case.Id}

注意:在 Salesforce 中,相对引用会自动将您定向到正确记录。外部请求应发送到通用端点,例如:https://login.salesforce.com,而不是 https://na1.salesforce.com。
 

2.怎样查找硬编码引用?

a) 利用 Salesforce 工具 Lightning Experience 就绪检查,以发现硬编码引用,这也会帮您确定您对 Lightning Experience 的准备程度:
在 Lightning 中:转到“设置”|“Lightning Experience”|“检查就绪”
在 Classic 中:转到“设置”| 在“Lightning Experience 迁移助理”下方单击“入门指南”|“检查就绪”

请注意,使用 Lightning Experience 就绪检查工具,并不一定能够发现所有硬编码引用。要了解有关此工具报告内容的更多信息,请查看文档 Lightning Experience 就绪检查会评估哪些内容?

b) 使用适用于 Visual Studio Code 的 Salesforce 扩展搜索硬编码引用
适用于 Visual Studio Code 的 Salesforce 扩展是一款可用于查找硬编码引用的开发人员工具。请按照文章在 Visual Studio Code 中创建 Salesforce 项目并搜索硬编码引用中的步骤,以更新贵组织和贵组织元数据(设置或客户代码)中的硬编码引用。

3.如何在集成中更新硬编码引用?

对于 Salesforce 产品或 Force.com 的集成,使用 Force.com API’s login() 请求作为出发点。login() 请求应发送到通用端点,例如:https://login.salesforce.com/services/Soap/u/26.0
login() 调用将确定 Force.com 会话并通过登录服务器 URL 进行响应。将此服务器 URL 设置为后续 API 请求的目标服务器,并设置 SOAP 标题中的返回会话 ID,以为后续 API 请求提供服务器验证。

实例刷新与组织迁移相关常见问题
这些硬编码引用问题可能会在您准备移到新实例时相关。

4.在移动新示例后 Salesforce 服务器可以重定向什么硬编码引用?

鉴于并非所有硬编码引用都会在实例刷新或组织迁移后重定向,因此我们强烈建议在采取操作之前实施 My Domain 并移除所有硬编码引用。以下是 Salesforce 服务器可以重定向的项目列表,但在移到新实例后,您可能会在使用这些对象时遇到性能变慢的问题: 

i. 浏览器链接
ii.设为浏览器书签的 URL
iii.自定义按钮
iv.内容 URL
v.Chatter 帖子
vi.自助服务登录 URL (sserv/login.jsp?orgid)
vii.集成

5.在移到新实例前,必须更新(不会重定向)什么硬编码引用?

如果您未启用 My Domain,您必须在电子邮件模板和 Knowledge 文章中更新硬编码引用。
不论是否启用 My Domain,您将需要确保从您的计算机上载 Knowledge 文章和电子邮件模板中的所有图像(而不是 Web 地址),以确保这些图像在维护后继续显示。

i. 如果您通过 Web 地址插入图像,则在将图像插入 Knowledge 文章或电子邮件模板时,您将需要将图像下载到计算机,并通过“上载图像”选项重新上载图像。请参阅以下表示适当流程的图表。

注意:如果您发现图像在维护后因为未从计算机上载而被破坏,您将需要使用新实例名称在图像 URL 中替换旧实例名称。然后,您应将图像下载到您的计算机,并从您的计算机重新上载该图像,以避免在未来维护后图像被破坏。

6.如何确认 Knowledge 文章和电子邮件模板中的所有图像从计算机上载,而不是 Web 地址?

如果图像从本地计算机上载,则该图像 URL 应如下所示“https://[HOST-OR-MY-DOMAIN]/servlet/rtaImage…”。

如果图像从 Web 地址(或您的“文章”选项卡)链接,则该图像 URL 应如下所示“https://[HOST-OR-MY-DOMAIN]/servlet/servlet.ImageServer...”或“https://[HOST-OR-MY-DOMAIN]/servlet/servlet.FileDownload…”

7.如果我即将移到新实例,是否需要在 CTI 集成中更新硬编码引用?

如果您正在呼叫中心定义中使用的 Open CT 和 CTI 适配器 URL 通过 Salesforce 实例进行硬编码(例如 https://c.na6-visual.force.com/apex/Softphone),您的 CTI 集成将受影响。
请将此硬编码引用更改为相对 URL(例如 /apex/Softphone),以确保您的 CTI 集成将继续在移到新实例后正常运行。要更新此,您可以导航到呼叫中心对象的特定单击路径:设置 > 呼叫中心。

如果你正在使用 Salesforce 桌面 CTI 集成工具包,此维护将不会影响您的 CTI 集成,因为该工具包不允许硬编码引用。

8.如果我即将移到新实例,是否需要更新电子邮件线程 ID?

如果您已创建自定义电子邮件线程 ID,可能会在移到新实例后受到影响。否则,在移到新实例后,您将无需更新由 Salesforce 生成的现有电子邮件线程 ID(即使仍引用原有实例)。

请查看以下步骤,以更正自定义生成的电子邮件线程 ID:
i.将您的自定义公式更新为以下格式:ref:_00D[XX][yyyyy]._500[AA][bbbbb]:ref
ii.其中 yyyyy 和 bbbbb 是 10 个字符的 ID,并删除起首零位。
iii.系统代码可以解析的电子邮件线程 ID 如下所示:(yyyyy 和 bbbbb 是没有删除起首零位的记录 ID)

注意:ref:00DXyyyyy.500Abbbbb:ref 是不再使用的旧格式。

Salesforce 可能会随时间更改格式,这便是为何客户应避免生成自己线程 ID 的原因。通过自定义线程 ID,您可能会遇到按需电子邮件转个案 (E2C) 的问题,而这些问题正在创建新个案,并且未通过回复附加到原始个案。请勿自行创建自定义线程 ID 格式。我们并未正式支持个案线程 ID 的自定义公式,因此建议客户使用 Salesforce 生成的现有线程 ID 公式。有关您为何不能创建自定义线程 ID 的更多信息,请查看文章通过电子邮件转个案使用自定义线程 ID

9.在我们移动新实例后,客户是否仍可以从旧实例 URL 访问合作伙伴入口网站?

大约在移到新实例后的 30 天内,客户应该可以从旧实例 URL 访问您的合作伙伴入口网站。在此 30 天时段后,旧实例登录 URL 将停用。在移到新实例前,我们建议管理员在组织合作伙伴入口网站中的“系统维护”消息下添加自定义备注,以便引导客户在移到新实例后使用新合作伙伴入口网站 URL。管理员也可以选择建议客户使用新合作伙伴入口网站 URL 更新登录书签。

10.在我移到新实例后,对在线潜在客户/在线个案 (W2X) 有无影响?

如果您在 W2X 中拥有硬编码引用,您需要在移到新实例前将其更新为相对 URL。如果您未更新硬编码引用,则可能会在维护后遇到 W2X 的意外服务中断。W2X 将进行排队,并会在维护完成后进行处理。

11.在我移到新实例后,是否需要更新远程站点名称?

是的。如果您未使用 My Domain,远程站点名称中的硬编码引用将在维护后立即使用新实例名称进行更新。
如果您未在维护后更新远程站点名称中的硬编码引用,您可能会遇到远程站点的意外服务中断。

12.移到新实例是否将会影响 Salesforce 移动 SDK?

如果用户未使用最新版本,则移到新实例可能会影响 Salesforce 移动 SDK 创建的应用程序数据。我们建议您更新所有 Salesforce 移动 SDK 创建的应用程序,并在维护前将这些更新推送到贵组织中的所有用户。
如果用户使用所有 Salesforce 移动 SDK 创建的应用程序的最新版本,则移到新实例不会影响应用程序中的数据。

​​13.如果我有 Live Agent 或 SOS 实施,该怎么办?

如果您的网页或证书对 Live Agent 端点 URL 有硬编码引用,则实例刷新、组织迁移或站点切换可能会影响您的 Live Agent/SOS 功能。为了将影响降到最低,请遵循最佳实践,避免对端点的任何硬编码引用,并确保在“设置”中,更新从部署页面复制的部署代码中的端点 URL。我们提供的部署代码能够重定向到新分配的服务器,但是您仍然应该在刷新完成后立即更新端点。 

有关 Live Agent 端点和何谓硬编码端点的更多信息,请查看文章 Live Agent 服务器(端点 URL)已更改,而 Live Agent 聊天现已停止工作

14.针对 Apex Web 服务生成的 WSDL 需要进行怎样的操作?

如果您使用 WSDL 生成代码,则使用代码的所有区域将需要重新检查硬编码引用。所有硬编码引用必须更新为 My Domain URL 或相对 URL (login.salesforce.com)。我们推荐在移到新实例前实施 My Domain。这将确保在您修复所有硬编码引用以指向新 My Domain URL 后,您将不需要重新执行此工作。

知识文章编号

000387070

 
正在加载
Salesforce Help | Article