将创建通信UI与自定义门户集成 integrating-create-correspondence-ui-with-your-custom-portal

CAUTION
AEM 6.4已结束扩展支持,本文档将不再更新。 有关更多详细信息,请参阅 技术支助期. 查找支持的版本 此处.

概述 overview

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

基于URL的调用 url-based-invocation

从自定义门户调用“创建通信”应用程序的一种方法是使用以下请求参数准备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]

NOTE
以这种方式调用是不安全的,因为通过在URL中公布相同(显示得很清楚)的参数,将必需的参数作为GET请求传递。
NOTE
在调用创建通信应用程序之前,请保存并上传数据,以在给定的dataURL中调用创建通信UI。 这可以通过自定义门户本身或通过其他后端流程来完成。

内联基于数据的调用 inline-data-based-invocation

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

用于指定信件的参数 parameters-for-specifying-letter

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

信件模板的标识符。

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

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

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

用于指定XML数据源的参数 parameters-for-specifying-the-xml-data-source

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

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

其他参数 other-parameters

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

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

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da