将创建通信UI与自定义门户集成

概述

本文详细介绍如何将“创建通信解决方案”与您的环境相集成。

基于URL的调用

从自定义门户调用“创建通信”应用程序的一种方法是使用以下请求参数准备URL:

  • 信件模板的标识符(使用cmLetterId参数)或信件模板的名称(使用cmLetterName参数)

  • 从所需数据源获取的XML数据的URL(使用cmDataUrl参数)。

例如,自定义门户会将URL准备为
https://[server]:[port]/[contextPath]/aem/forms/createcorrespondence.html?random=[timestamp]&cmLetterId=[letter identifier]&cmDataUrl=[data URL],可以是门户链接中的href。
如果门户手头有信件模板名称,则URL可能为
https://[server]:[port]/content/cm/createcorrespondence.html?cmLetterName=[letter name]&cmDataUrl=[data URL]

注意

以这种方式调用是不安全的,因为通过在URL中公布相同(显示得很清楚)的参数,将必需的参数作为GET请求传递。

注意

在调用创建通信应用程序之前,请保存并上传数据,以在给定的dataURL中调用创建通信UI。 这可以通过自定义门户本身或通过其他后端流程来完成。

基于内联数据的调用

调用创建通信应用程序的另一种(也是更安全的)方法是,只需点击https://[server]:[port]/[contextPath]/aem/forms/createcorrespondence.html的URL,同时发送参数和数据以作为POST请求调用创建通信应用程序(向最终用户隐藏它们)。 这还意味着您现在可以在内联传递Create Correspondence应用程序的XML数据(作为同一请求的一部分,使用cmData参数),在以前的方法中,这是不可能的/理想的。

用于指定字母的参数

名称 类型 描述
cmLetterInstanceId 字符串 信件实例的标识符。
cmLetterName 字符串

信件模板的标识符。

如果服务器上存在多个同名的CM字母,则在URL中使用cmLetterName参数会引发错误“存在多个带有名称的字母”。 在这种情况下,请在URL中使用cmLetterId参数,而不是cmLetterName。

cmLetterId 字符串 信件模板的名称。

表中的参数顺序指定用于加载信件的参数的首选项。

用于指定XML数据源的参数

名称 类型 描述
cmDataUrl
URL 使用基本协议(如cq、ftp、http或文件)从源文件获取XML数据。
cmLetterInstanceId 字符串 使用信件实例中可用的xml数据。
cmUseTestData 布尔型 重复使用数据字典中附加的测试数据。

表中参数的顺序指定用于加载XML数据的参数的首选项。

其他参数

名称 类型 描述
cmPreview
布尔型 在预览模式下打开信件时为True
随机 时间戳 用于解决浏览器缓存问题。

如果您对cmDataURL使用http或cq协议,则http/cq的URL应当可以匿名访问。

在此页面上