この技術的実装ガイドでは、実装担当者が Adobe Experience Manager と Adobe Campaign ACS の統合時に従う必要のある、参照アーキテクチャ、ガイドライン、設定手順、テストについての情報を提供します。

この技術的実装ガイドは、アドビコンサルタント、アドビパートナー、その他の経験を積んだ実装担当者向けの資料です。この統合を構成するには、このガイドで説明されている各ソリューションの実装プロセスを十分に理解する必要があります。

アドビのお客様は、アドビプロフェッショナルサービスまたはアドビパートナーに連絡し、この統合についての詳細情報を入手することができます。

統合オプション

Adobe Campaign では、電子メール配信コンテンツとフォームを Adobe Experience Manager で直接管理できます。 

両方のソリューションを組み合わせて使用するには、最初に両ソリューションの接続を設定する必要があります。これには、Adobe Campaign と Adobe Experience Manager の両方での設定手順が含まれます。これらの手順については、このドキュメントで詳しく説明します。

AEM と Adobe Campaign の連携機能には、Adobe Campaign を通じて電子メールとフォームを送信する機能が含まれています。

コンサルタントは、要件定義段階を通じて、配信や実行のアプローチを計画するのに必要なすべての情報を収集する必要があります。このドキュメントでは、他の顧客がどのように目標を達成したかを示す様々な使用例が引用されているので、クライアントとの会話を促進するのにも役立ちます。 

AEM は以下のソリューションとの統合に対応しています。

  1. オンプレミスソリューション
  2. アドビがホストするソリューション

ソリューションの計画と統合アーキテクチャ

前提条件

統合を開始する前に、以下の要素が既に構成されていることを確認してください。

  • AEM オーサーインスタンス
  • AEM パブリッシュインスタンス
  • Adobe Campaign インスタンス

実装アーキテクチャ

統合の概要

下図は、AEM と Adobe Campaign の統合の概略を示しています。

aem-acs1

AEM と Campaign の統合におけるデータフロー

aem-acs2

インストール、プロビジョニング、設定

コンサルタントは、インストールのプロビジョニング段階を通じて、お客様のプラットフォームへのアクセス権を設定し、ソリューションをインストールする必要があります。

セットアップとプロビジョニング

AEM のインストールとセットアップ

ACS のセットアップ

  • ACS はクラウドベースの購読ソリューションであり、インスタンスは手動でインストールされず、すべて自動でインストールされます。
  • 新しい ACS インスタンスのプロビジョニングについてはプロビジョニングチームに、デモ用インスタンスのプロビジョニングについてはテクニカルオペレーション(TechOps)チームにお問い合わせください。

Adobe Campaign の設定では、以下の作業をおこないます。

  1. aemserver ユーザーを設定します。
  2. 専用の外部アカウントを作成します。
  3. AEMResourceTypeFilter オプションを検証します。
  4. 専用の配信テンプレートを作成します。

注意:これらの操作を実行できるのは、Adobe Campaign で管理者の役割を割り当てられているユーザーのみです。

AEM サーバーユーザーの設定

Adobe Campaign で、aemserver ユーザーを設定する必要があります。aemserver は、AEM サーバーを Adobe Campaign に接続するために使用されるテクニカルユーザーです。

管理ユーザーとセキュリティユーザーに移動し、aemserver ユーザーを選択します。クリックしてユーザー設定を開きます。

  • このユーザーのパスワードを設定する必要があります。これは UI では実行できません。この設定は技術管理者が REST でおこなう必要があります。
  • このユーザーには、配信の作成と編集を可能にする deliveryPrepare など、特定の役割を割り当てることができます。

Adobe Experience Manager 外部アカウントの設定

Adobe Campaign から AEM インスタンスへの接続を可能にする、外部アカウントを設定する必要があります。

注意:

AEM で、campaign-remote ユーザー用のパスワードを設定します。Adobe Campaign と AEM を接続するには、このパスワードを設定する必要があります。

次の手順で、パスワードを設定します。

  1. 管理者としてユーザー管理コンソールにログインします。

  2. campaign-remote ユーザーを探して「パスワードを設定」をクリックします。

次の手順で、AEM 外部アカウントを設定します。

  1. 管理/アプリの設定/外部アカウントに移動します。

    aem-acs3
  2. デフォルトの aemInstance 外部アカウントを選択するか、「作成」ボタンをクリックして新しい外部アカウントを作成します。

  3. 「タイプ」フィールドで Adobe Experience Manager を選択し、AEM オーサーインスタンスで使用するアクセスパラメーター(サーバーアドレス、アカウント名、パスワード)を入力します。

    注意:

    URL の末尾に /(スラッシュ)を付けないようにします。URL がスラッシュで終わると、接続が機能しなくなります。

  4. 「有効」チェックボックスを選択し、「保存」をクリックして変更を保存します。

AEMResourceTypeFilter オプションの検証

AEMResourceTypeFilter オプションは、Adobe Campaign で利用できる AEM リソースのタイプをフィルタリングするために用いられます。これにより Adobe Campaign で、Adobe Campaign 専用として設計された AEM コンテンツを取得できるようになります。

このオプションは事前設定済みですが、デフォルトの設定から変更されている場合、統合が機能しないことがあります。

以下の手順で、AEMResourceTypeFilter オプションの設定を確認します。

  1. 管理/アプリの設定/オプションに移動します。
  2.  AEMResourceTypeFilter オプションがリストに表示され、パスが正しいことを確認します。

AEM 専用の電子メール配信テンプレートの作成

デフォルトでは、AEM 機能は、Adobe Campaign の電子メールテンプレートで有効になっていません。AEM コンテンツを含む電子メールを作成するための、新しい電子メール配信テンプレートを設定できます。

AEM 専用の電子メール配信テンプレートを作成するには、次の手順を実行します。

  1. リソース/テンプレート/配信テンプレートに移動します。
  2. アクションバーでチェックマークをクリックして既存の標準電子メール(mail)デフォルトテンプレートを選択し、コピーアイコンをクリックしてから「確認」をクリックし、デフォルトテンプレートを複製します。
  3. 「x」をクリックして選択モードを無効にし、新しく作成した標準電子メール(mail)テンプレートのコピーを開いて、テンプレートダッシュボードのアクションバーから「プロパティを編集」を選択します。テンプレートのラベルを変更できます。
  4. プロパティの「コンテンツ」セクションで、「コンテンツのソース」を「Adobe Experience Manager」に変更します。次に、先ほど作成した外部アカウントを選択して、「確認」をクリックします。
  5. 「確認」をクリックし、「保存」をクリックして、変更を保存します。

このテンプレートから作成した電子メール配信では、AEM コンテンツ機能が有効になります。

aem-acs4

Adobe Experience Manager の設定

AEM を設定するには、以下の手順を実行する必要があります。

  • インスタンス間でレプリケーションを設定します。
  • AEM を Adobe Campaign に接続します。
  • Externalizer を設定します。

AEM インスタンス間でのレプリケーションの設定

AEM オーサーインスタンスで作成されたコンテンツは、最初にパブリッシュインスタンスに送られます。このパブリッシュインスタンスは、次にコンテンツを Adobe Campaign に転送します。そのため、AEM オーサーインスタンスから AEM パブリッシュインスタンスへのレプリケーションをおこなうようにレプリケーションエージェントを設定する必要があります。

注意:

レプリケーション URL を使用せず、代わりに公開 URL を使用する場合は、OSGi の構成設定(ツール/Web コンソール/OSGi 設定/AEM と Campaign の統合 - 設定)で、次の設定をおこなうことで、公開 URL を設定できます。公開 URL:com.day.cq.mcm.campaign.impl.IntegrationConfigImpl#aem.mcm.campaign.publicUrl

また、この手順は、特定のオーサーインスタンス設定をパブリッシュインスタンスにレプリケートするためにも必要です。

AEM インスタンス間でレプリケーションを設定するには、次の手順を実行します。

  1. オーサーインスタンスで、AEM のロゴ/ツールアイコン/デプロイメント/レプリケーション/作成者のエージェントを選択し、「デフォルトエージェント」をクリックします。

    注意:

    パブリッシュインスタンスとオーサーインスタンスの両方が同じコンピューターにある場合を除いて、Adobe Campaign との統合を設定する際に、localhost(AEM のローカルコピー)は使用しないでください。

    aem-acs5
  2. 「編集」をクリックして、「トランスポート」タブを選択します。

  3. URI として、localhost の代わりに IP アドレスまたは AEM パブリッシュインスタンスのアドレスを設定します。

    aem-acs6

AEM と Adobe Campaign の接続

AEM と Adobe Campaign を連携させる前に、両方のソリューション間で通信できるよう、接続を確立する必要があります。

  1. AEM オーサーインスタンスに接続します。

  2. ツール/運営/クラウド/クラウドサービスを選択して、Adobe Campaign セクションの「今すぐ設定」を選択します。

    aem-acs7
  3. 「タイトル」を入力して「作成」をクリックし、新しい設定を作成するか、Adobe Campaign インスタンスとリンクする既存の設定を選択します。

  4. Adobe Campaign インスタンスのパラメーターと一致するように、設定を編集します。

    • ユーザー名:aemserver(2 つのソリューション間のリンクを確立するために使用される Adobe Campaign AEM 統合パッケージオペレーター)。
    • パスワード:Adobe Campaign aemserver オペレーターのパスワード。場合によっては、Adobe Campaign で直接、このパスワードを再指定する必要があります。
    • API エンドポイント:Adobe Campaign インスタンスの URL。
  5. 「Adobe Campaign に接続」を選択し、「OK」をクリックします。

    aem-acs8

注意:

電子メールを作成して公開したら、パブリッシュインスタンスに設定を再公開する必要があります。

aem-acs9

接続に失敗する場合は、以下を確認してください。

  • Adobe Campaign インスタンスへの接続にセキュリティで保護された接続(https)を使用する場合は、証明書の問題が発生する可能性があります。Adobe Campaign インスタンスの証明書を JDK の cacerts ファイルに追加する必要があります。
  • また、このドキュメントの「トラブルシューティング」セクションも参照してください。

Externalizer の設定

オーサーインスタンスで AEM の Externalizer を設定する必要があります。Externalizer はリソースパスを外部の絶対 URL に変換できるようにする OSGi サービスです。このサービスを利用すると、外部 URL の設定と作成を一元的に実施できるようになります。

一般的な指示については、「Externalizer の設定」を参照してください。Adobe Campaign 統合の場合は、http://<host>:<port>/system/console/configMgr/com.day.cq.commons.impl.ExternalizerImpl の公開サーバーが localhost:4503 ではなく、Adobe Campaign コンソールで到達可能なサーバーを指すように設定します。

localhost:4503 や Adobe Campaign が到達できない他のサーバーを指していると、画像が Adobe Campaign コンソールに表示されません。

aem-acs10

実装

ソリューションの実装

使用例 1:フォームの統合

目標

エンドユーザーがサインアップしてプロファイルの詳細を提出し、Campaign の既存のユーザーデータにユーザーの詳細をマッピングするための Web ページを作成します。

実装の概要

Campaign Standard でカスタムフィールドを追加し、AEM6.2 でそれらのフィールドにマップされたフォームを作成できるようにします。実装手順は以下のとおりです。

  1. プロファイルを拡張します。
  2. 「シード」テーブルを拡張します。
  3. AEM でフォームを作成します。
  4. そのフォームを送信してテストします。

AEM でフォームを作成します。

  1. AEM で新しいページを作成し、「Adobe Campaign プロファイル (ACS)」を選択します。

    aem-acs11
    aem-acs12
  2. 次に、「タイトル」にプロファイル ID を追加します。

    aem-acs13
  3. 「作成」をクリックし、作成した新しいページを開きます。

    aem-acs14
  4. 「フォーム開始」ブロックをクリックし、ツールバーが表示されるまで待機して、「設定」をクリックします。「詳細」タブをクリックして既存のプロファイルの設定を確認します。

更新するフィールドを作成します。

  1. 画面左上をクリックした後、「+」をクリックします。

    aem-acs15
  2. 3 つの「テキストフィールド」コンポーネントをフォームにドラッグ&ドロップします。

    aem-acs16
  3. 次に、追加されたフィールドをクリックして、設定メニューを開きます。

    aem-acs17
  4. 次のようにフィールドを設定します。

    aem-acs18

    エレメント名は、フォーム内で一意にする必要があります。

    aem-acs19
    aem-acs20
  5. ページを設定したら、そのページを(画面右上で)プレビューして、新しいプロファイルの追加を試みることができます。

    aem-acs21

    「プロファイル」メニューで ACS 内のプロファイルを確認し、結果を検証します。

    aem-acs22

パブリッシュインスタンスからのテスト

ページをアクティベートして、AEM パブリッシュ環境から送信します。

使用例 2:AEM でのパーソナライズされた電子メールテンプレートの作成

目標

ACS のパーソナライズされたフィールドを使用して、AEM でパーソナライズされた電子メールテンプレートを作成します。そのコンテンツを使用して、ACS から取得したユーザーに電子メールを送信します。

前提条件 - ACS でのワークフローの作成

ワークフローは、自動化された電子メールによるコミュニケーション(キャンペーン)を実現するために ACS で使用されます。ワークフローは「マーケティングアクティビティ」タブで作成できます。

aem-acs23
  1. オーディエンスに関するクエリを実行するワークフローを作成し、電子メールチャネルアクティビティを追加して、電子メールがそのオーディエンスに送信されるように設定します。

    aem-acs24
    aem-acs25
    aem-acs26
  2. 「AEM コンテンツで E メール配信」アクティビティを開き(鉛筆アイコン)、AEM への接続を確認します。

    aem-acs27
  3. 右側にある鉛筆アイコンをクリックし、「コンテンツ」セクションを展開します。

    aem-acs28
    aem-acs29
  4. 画面を閉じて、ワークフローに戻ります。ワークフローのリンクが表示されていない場合は「サマリ」をクリックします。

    aem-acs30

前提条件 - AEM での新しいページの作成

  1. AEM で新しいページを作成し、「Adobe Campaign 電子メール (ACS)」テンプレートを選択します。

    aem-acs31
    aem-acs32
  2. ID を指定します。

    aem-acs33

    注意:

    Web サービス設定が存在していないか無効な場合は、メインツールバーでページプロパティに移動し、「クラウドサービス」タブで Adobe Campaign の設定を追加します。

    aem-acs34
    aem-acs35

電子メールの作成

電子メールのコンテンツを作成し、Campaign から取得したパーソナライゼーションフィールドを使用します。

  1. 「コンポーネントをここにドラッグ」をクリックして、「+」が表示されるまで待ちます。

    aem-acs36
  2. 「テキストおよびパーソナライゼーション (Campaign)」をクリックします。

    aem-acs37
  3. 鉛筆アイコンをクリックします。

    aem-acs38
  4. Adobe Campaign ボタンを使用して、プロファイルからフィールドを選択できます(これらは送信時に ACS によって置き換えられます)。

    aem-acs39
    aem-acs40

電子メールテンプレートのリンク

  1. ACS のワークフローで電子メールアクティビティを開きます。

    aem-acs41
  2. 「コンテンツ」セクションの空白部分をクリックします。

    aem-acs42
  3. 電子メールテンプレートを同期するための画面が表示されたら、「AEM」をクリックします。

    aem-acs43
  4. 下図のように、使用可能なテンプレートが表示されます。

    aem-acs44
  5. 適切なテンプレートを選択し、「確認」を押します。これで、AEM と ACS の間でテンプレートがリンクされました。確認のために AEM で電子メールを再度読み込むと、次のようなメッセージが表示されます。

    aem-acs45

電子メールの承認

処理に先立って、AEM で電子メールを承認することができます。これをおこなうには「ワークフロー」タブで「Adobe Campaign 用に承認」ワークフローを選択します。

aem-acs46
aem-acs47
  1. 「管理画面で表示」をクリックします。

    aem-acs48
  2. 通知を示すベルをクリックします。この後いくつかの手順があり、最後に電子メールを承認する必要があります。

    aem-acs49
    aem-acs50
  3. 承認すると、下図のようなメッセージが表示されます。

    aem-acs51

ワークフローの実行

これまでのワークフローの事前準備をすべて完了すると、ワークフローを実行できるようになります。

  1. ワークフローを実行するには、「開始」ボタンをクリックします。

    aem-acs52
  2. ページを再度読み込み、ワークフローの電子メールステップが点滅していることを確認します。

    aem-acs53
  3. 電子メールステップを開くと、図のような通知が表示されます。

    aem-acs54

    この通知は、電子メール送信前に最終確認が必要であることを示しています。「確認」をクリックすると電子メールが送信されるので、インボックスで電子メールを確認します。


    マーケティングアクティビティの画面に戻ると、色が緑に変わり、関連するオーディエンスの規模が表示されます。

    aem-acs55

ソリューションの導入

導入プラン

AEM 導入プラン - 次のリンクから、各種の AEM 導入トポロジに関するアドビのドキュメントを参照してください。

https://docs.adobe.com/docs/ja/aem/6-1/deploy/recommended-deploys.html

Campaign 導入プラン - 次のリンクから、各種の Campaign 導入方法に関するアドビのドキュメントを参照してください。

https://helpx.adobe.com/jp/support/campaign/standard.html

Adobe Campaign 統合のトラブルシューティング

以下のトラブルシューティングのヒントは、AEM と Adobe Campaign を統合する際に発生する可能性がある問題を解決するのに役立ちます。

トラブルシューティングの一般的なヒント

いずれの統合の場合も、HTTP 呼び出しが送信されるかどうかを確認します(AEM から Adobe Campaign へ、Adobe Campaign から AEM へ)。

  • 統合が正常に機能しない場合は、これらの呼び出しが送信先に到達していることを確認します(ファイアウォールや SSL の問題を回避するため)。
  • AEM 機能を使用する際には、AEM オーサーインターフェイスから JSON 呼び出しが要求されます。通常、これらの呼び出しで HTTP-500 エラーが発生することはありません。HTTP-500 エラーが発生した場合は、error.log で問題の詳細を確認してください。
  • AEM で Campaign クラスのデバッグレベルを上げることも問題のトラブルシューティングに役立ちます。

接続できない場合

Adobe Campaign で aemserver オペレーターが設定されていることを確認します。

Adobe Campaign コンソールで画像が表示されない場合

HTML ソースを調べて、クライアントマシンから対象の URL を開くことができるかどうかを確認します。URL に localhost:4503 が含まれている場合は、Adobe Campaign コンソールマシンから到達できるパブリッシュインスタンスを指すようにオーサーインスタンスの Day CQ Link Externalizer の設定を変更します。

AEM から Adobe Campaign に接続できない場合

Adobe Campaign で、次のエラーメッセージが表示されていないかどうかを確認します。

インスタンス「default」にデータソースが定義されていません。 

サーバーへのアクセスに使用される DNS エイリアスが正しいことを確認します(例えば、ハードコードされた IP アドレスは避けます)。(iRc=16384)

この問題を修正するには、$CAMPAIGN_HOME/conf/config-<instance-name>.xml で、以下を変更します。

<dataStore hosts="*" lang="en_GB">

Adobe Campaign ダイアログにデータが表示されない場合

Adobe Campaign で、ポート番号の末尾にスラッシュ(/)が付いていないことを確認します。「AEM 外部アカウントの設定」のセクションを参照してください。

setlocale に関する警告が表示される場合

Apache HTTPD サービスの起動中に、「Warning: setlocale: LC_CTYPE cannot change locale」というエラーが表示される場合は、システムに en_CA.ISO-8859-15 ロケールがインストールされていることを確認してください。

このロケールがインストールされているかどうかは、local -a を使用することで確認できます。インストールされていない場合は、/usr/local/neolane/nl6/env.sh スクリプトでパッチを適用して、ロケールをインストールされたロケールに変更します。

スクリプト「get_nms_amcGetSeedMetaData_jssp」のコンパイル中にエラーが発生する場合

AEM ログファイルに次のエラーメッセージが表示される場合があります。

com.day.cq.mcm.campaign.impl.CampaignConnectorImpl Internal Adobe Campaign error: response body is Error while compiling script 'get_nms_amcGetSeedMetaData_jssp' line 45: String.prototype.toJSON called on incompatible XML.

次の方法で対処します。

  1. $CAMPAIGN_HOME/datakit/nms/fra/js/amcIntegration.js ファイルを開きます。
  2. メソッド amcGetSeedMetaData の 467 行目を変更します。
  3. 「label : inclView.@label」を「label : String(inclView.@label)」に変更します。
  4. 保存します。
  5. サーバーを再起動します。

Adobe Campaign で「同期」ボタンをクリックしたときにエラーが表示される場合

Adobe Campaign 6.1 で「同期」ボタンをクリックすると、次のエラーが発生する場合があります。

メソッド 「aemListContent」 (サービス「nms:delivery」) の実行中にエラーが発生しました。

この問題を解決するには、外部アカウントで設定されている AEM の接続 URL にマシンからアクセスできることを確認してください。

localhost から IP アドレスに切り替えると、問題が解決します。

「XTK 日時 "未定義" を解析できません」というエラーが発生する場合

「同期」をクリックした後に、ページのスクリプトで「XTK 日時 "未定義" を解析できません: 有効な XTK 値ではありません」というエラーが発生することがあります。

これは AEM インスタンスに古い Adobe Campaign 情報が残っている場合に発生します。この問題を解決するには、AEM 環境を再インストールします。

クラウドサービスのセットアップ中に SSL に接続するとエラーが発生する場合

AEM の error.log に、次のメッセージが表示される場合があります。

javax.net.ssl.SSLProtocolException: handshake
  alert:  unrecognized_name
at sun.security.ssl.ClientHandshaker.handshakeAlert(Unknown
  Source)
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
at sun.security.ssl.AppOutputStream.write(Unknown Source)

このコードサンプルは、例示専用です。

チケットを使用して Adobe Campaign サポートチームにサポートを依頼してください。

同期ダイアログに想定していた https リンクではなく http リンクが表示される場合

この問題は次の環境で発生する場合があります。

  • AEM Author との通信に https を使用する Adobe Campaign をホストしている。
  • リバースプロキシで SSL が終端されている。
  • オンプレミスの AEM オーサーインスタンスを使用している。

Adobe Campaign の配信でコンテンツを同期させる際に、AEM はニュースレターのリストを返します。ただし、このリスト内のニュースレターの URL は http アドレスです。リスト内のいずれかの項目を選択すると、エラーが発生します。

この問題を解決するには、次のようにします。

自身で作成したカスタムテンプレートをページプロパティで選択できない場合

Adobe Campaign の電子メールテンプレートを作成する際には、テンプレートの jcr:content ノードでプロパティ acMapping と値 mapRecipient を指定する必要があります。これらを指定しないと、AEM の「ページのプロパティ」で Adobe Campaign のテンプレートを選択できなくなります(フィールドが無効になります)。

その他のリソース

FAQ

ベストプラクティス

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー