Salesforce中的Experience Selector MFE
本主题介绍客户和实施人员如何在Salesforce组织中部署和运行GenStudio for Performance Marketing Experience Selector微前端(MFE)。 它涵盖了管理员步骤(无代码)、开发人员步骤(部署和配置)以及与安全相关的设置,例如内容安全策略(CSP)。
有关通用MFE集成选项、配置属性和框架示例,请参阅GenStudio Experience Selector MFE。
此集成的用途
Lightning Web Component (LWC) sfgsmfe加载Adobe的Experience Selector UMD捆绑包并在<dialog>中呈现它,以便用户能够从GenStudio for Performance Marketing中选取体验。
该集成还可以:
- 预览和解码:将所选有效负载显示为JSON、解码后的HTML以及LWC中经过清理的HTML预览。
- 电子邮件模板(可选): Salesforce中的 创建电子邮件模板 流程可以调用Apex (
EmailTemplateController.createEmailTemplate)来插入EmailTemplate记录(HTML、主题和文件夹)。
GenStudio for Performance Marketing的Experience Selector脚本是从experience.adobe.com上的Adobe托管URL加载的,而不是从典型实施中的Salesforce静态资源加载的。
先决条件
-
Salesforce组织:可在其中部署元数据和使用 Lightning App Builder 的沙盒或生产组织。
-
Salesforce CLI: Salesforce CLI (
sf)已安装和验证,例如:code language-bash sf org login web --alias <your-org-alias> -
权限:创建电子邮件模板的用户需要访问目标电子邮件模板文件夹,并有权根据您的组织策略创建模板。 Apex运行
with sharing。 -
Adobe / GenStudio:您的Adobe IMS组织ID和SUSI
clientId必须与您的Adobe配置匹配(请参阅配置集成值)。 -
浏览器/CSP: Salesforce必须允许从
https://experience.adobe.com加载脚本(请参阅配置内容安全策略和Adobe URL)。
部署包(开发人员)
项目使用Salesforce DX布局;默认包目录为force-app。
-
从项目根目录,将源部署到目标组织:
code language-bash sf project deploy start --source-dir force-app --target-org <your-org-alias> -
确认部署已完成且没有错误。
force-app/main/default/lwc/sfgsmfe— LWC包(HTML、JS、CSS、meta)。force-app/main/default/classes/EmailTemplateController.cls— 用于创建模板的顶点。
存储库可能还包含静态资源(reactApp, sfgsmfe_react)。 sfgsmfe.js中的当前GenStudio for Performance Marketing加载器使用standalone.js的Adobe CDN URL;除非您更改实现,否则该加载路径不需要这些静态资源。
将组件添加到Lightning页面(管理员)
sfgsmfe组件已公开:
- 闪电般的应用程序页面
- 主页
- 记录页面
- 选项卡(通过自定义选项卡上的Lightning页面)
要添加组件,请执行以下操作:
- 在 设置 中,打开应用程序管理器。
- 创建新的Lightning应用程序(或打开要扩展的现有应用程序)。
{width="80%" modal="regular"}
- 打开应用,然后选择编辑。
{width="80%" modal="regular"}
- 创建新页面(或编辑现有的Lightning页面)。
{width="60%" modal="regular"}
- 在 闪电App Builder 中,将 sfgsmfe 组件拖动到布局上。
- 保存、激活,并将页面分配给正确的Lightning应用程序、配置文件和应用程序可见性,以便目标用户可以打开它。
配置内容安全策略和Adobe URL
LWC注入一个<script>标记,该标记的src指向Adobe的UMD捆绑包,例如:
https://experience.adobe.com/solutions/GenStudio-experience-selector-mfe/static-assets/resources/@genstudio/experience-selector/umd/standalone.js
您必须配置Salesforce,以便根据组织的CSP和Lightning安全设置,允许使用此源进行脚本加载。
如果脚本加载失败:
- 打开浏览器开发人员工具。
- 检查 Console 和 Network 选项卡中是否有阻止的请求或CSP违规。
- 按照最新的Salesforce闪电文档,添加或调整
https://experience.adobe.com的受信任的URL(以及Salesforce版本的任何相关设置)。
{width="80%" modal="regular"}
配置集成值(开发人员/实施)
在LWC JavaScript中为sfgsmfe设置了多个值。 客户通常会根据环境替换这些参数。
folderId00l...)。 对于Apex是必需的;文件夹必须存在并且可供运行的用户访问。imsOrgGenStudioExperienceSelector.renderExperienceSelectorWithSUSI。susiConfig.clientIdscript.srcstandalone.js包的URL;如果Adobe发布新路径,则更新。电子邮件模板创建将GenStudio字段映射到模板(例如,来自experienceFields的主题)。 如果内容模型不同,则调整LWC中的映射。
有关renderExperienceSelectorWithSUSI和相关选项的详细信息,请参阅Experience Selector MFE主题中的配置属性。
Apex: EmailTemplateController
EmailTemplateController.createEmailTemplate通常:
- 验证模板名称、文件夹ID以及非空的HTML。
- 创建具有
TemplateType = 'custom'、HtmlValue、Subject、Body和文件夹分配的EmailTemplate。 - 通过
AuraHandledException向LWC显示错误。
操作提示:
- 尊重组织中的DeveloperName唯一性和命名规则。
- 确认文件夹ID,并确认用户可在该文件夹中创建
EmailTemplate记录。 - 当DML无法捕获确切错误时,请使用Salesforce调试日志。
验证核对清单
在部署和配置后确认此列表中的项目,以确保对集成进行可靠的验证:
- 部署完成,并且没有错误。
- 用户可以打开包含
sfgsmfe的Lightning页面并查看Experience Selector UI。 - 组件未显示加载错误;“网络”选项卡返回
standalone.js的HTTP 200。 - 选择GenStudio Experience将打开选择器并运行选择回调。
- 使用该流程时,创建电子邮件模板成功,并且模板出现在 设置 中已配置的文件夹下。