ここでは、通信を作成のソリューションをお使いの環境に統合する方法の詳細を説明します。
通信を作成アプリケーションをカスタムポータルから呼び出す 1 つの方法として、次の要求パラメーターを持つ URL を準備する方法が挙げられます。
レターテンプレートの識別子(cmLetterId パラメーターを使用)、またはレターテンプレートの名前(cmLetterName パラメーターを使用)
目的のデータソースから取得した XML データの URL(cmDataUrl パラメーターを使用)
例えば、カスタムポータルでは、
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 を呼び出します。この処理は、カスタムポータル自体で実行されるか、または異なるバックエンドプロセスで実行される可能性があります。
通信を作成アプリケーションを呼び出すもう1つの(そして、より安全な)方法は、https://[server]:[port]/[contextPath]/aem/forms/createcorrespondence.html
のURLをヒットするだけです。一方、POSTーとデータを送信し、通信を作成アプリケーションを呼び出す(エンドユーザーに表示しない)方法です。 つまり、通信を作成アプリケーションの XML データを(cmData パラメーターを使用して、同じ要求の一部として)インラインで渡すことができることも意味します。これは、前述のアプローチでは、不可能で、理想的ではありませんでした。
名前 | 種類 | 説明 |
cmLetterInstanceId | String | レターインスタンスの識別子。 |
cmLetterName | 文字列 | レターテンプレートの識別子。 サーバー上に同じ名前の CM 文字が複数存在する場合、URL の cmLetterName パラメーターによって「名前に複数の文字が使用されています」というエラーがスローされます。このような場合、URL には cmLetterName の代わりに cmLetterId パラメーターを使用します。 |
cmLetterId | 文字列 | レターテンプレートの名前です。 |
テーブル中のパラメーターの順序が、レターの読み込みに使用されるパラメーターの優先順位を指定します。
名前 | 種類 | 説明 |
cmDataUrl |
URL | cq、ftp、http、file などの基本的なプロトコルを使用してソースファイルから取得する XML データです。 |
cmLetterInstanceId | 文字列 | レターインスタンスで使用可能な xml データを使用します。 |
cmUseTestData | ブール型 | データディクショナリに添付されたテストデータを再利用します。 |
テーブル中のパラメーターの順序が、XML データの読み込みに使用されるパラメーターの優先順位を指定します。
名前 | 種類 | 説明 |
cmPreview |
ブール型 | 「True」に設定されている場合、レターをプレビューモードで開きます |
ランダム | Timestamp | ブラウザーのキャッシュに関する問題を解決します。 |
cmDataURLにhttpまたはcqプロトコルを使用している場合、http/cqのURLは匿名でアクセスできる必要があります。