この記事では、通信を作成ソリューションを環境に統合する方法について詳しく説明します。
カスタムポータルから通信を作成アプリケーションを呼び出す方法の 1 つは、次の要求パラメーターを使用して 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 を呼び出します。 これは、カスタムポータル自体から実行することも、別のバックエンドプロセスを通じて実行することもできます。
通信を作成アプリケーションを呼び出すもう 1 つの(より安全な)方法は、次の場所の URL にヒットするだけで済みます。 https://[server]:[port]/[contextPath]/aem/forms/createcorrespondence.html
:通信を作成アプリケーションをPOSTリクエストとして呼び出すためのパラメーターとデータを送信する際に(エンドユーザーに対して非表示にする)。 つまり、以前のアプローチでは不可能で、理想的ではなかった、同じリクエストの一環として、通信を作成アプリケーションの XML データをインラインで渡すことができます。
名前 | 種類 | 説明 |
cmLetterInstanceId | 文字列 | レターインスタンスの ID です。 |
cmLetterName | 文字列 | レターテンプレートの識別子。 1 台のサーバー上に同じ名前の 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 には匿名でアクセスできます。