This documentation describes how to integrate AEM with Adobe Campaign 6.1, the on-premise solution. If you are using Adobe Campaign Standard, see Integrating with Adobe Campaign Standard for those instructions.
Adobe Campaign lets you manage email delivery content and forms directly in Adobe Experience Manager.
To use both solutions together at the same time, you must first configure them to connect to one another. This involves configuration steps in both Adobe Campaign and Adobe Experience Manager. These steps are described in detail in this document.
Working with Adobe Campaign in AEM includes the ability to send email via Adobe Campaign and is described at Working with Adobe Campaign. It also includes using forms on AEM pages to manipulate data.
This section describes a typical workflow between AEM and Adobe Campaign when creating campaigns and delivering content.
The typical workflow involves the following and is described in detail:
- Start building your campaign (both in Adobe Campaign and AEM).
- Before you link the content and delivery, personalize your content in AEM and create a delivery in Adobe Campaign.
- Link content and delivery in Adobe Campaign.
You start building a campaign at any time. Before you link the content, AEM and AC are independent That means marketers can start creating their campaigns and targeting in Adobe Campaign, while content creators are working on the design in AEM.
Before you link the content and create a delivery mechanism, you need to do the following:
- Personalize using the personalization fields in the Text & Personalization component
In Adobe Campaign
- Create a delivery of type aemContent
After you have prepared the content for linking and delivery, you determine exactly how and where to link content.
All these steps are completed in Adobe Campaign.
- Specify which AEM instance to use.
- Synchronize the content by clicking the Synchronize button.
- Open the content picker to pick your content.
Configuring Adobe Campaign involves the following:
- Installing the AEM integration package in Adobe Campaign.
- Configuring an external account.
- Verifying that the AEMResourceTypeFilter is configured correctly.
In addition, there are advanced configurations that you can make, including :
- Managing content blocks
- Managing personalization fields
To perform these operations, you must have the administration role in Adobe Campaign.
If you are running a version earlier than Adobe Campaign 6.1 build 8640, see the upgrade documentation for more information. Note that both client and database have to be upgraded to the same build.
This package contains the aemserver operator that will be used to connect the AEM server to Adobe Campaign.
By default, no security zone is configured for this operator. To connect to Adobe Campaign via AEM, you must select one.
In the serverConf.xml file, the allowUserPassword attribute of the selected security zone must be set to true to authorize AEM to connect Adobe Campaign via login/password.
We strongly recommend creating a security zone dedicated to AEM to avoid any security problems. For more on this, refer to the Installation guide.
You must configure an external account that allows you to connect Adobe Campaign to your AEM instance.
- When installing the AEM Integration package, an external AEM account is created. You can configure the connection to your AEM instance from it or create a new one.
- In AEM, be sure that you set the password for the campaign-remote user. You need to set this password to connect Adobe Campaign with AEM. Log in as administrator and in the user administration console, search for the campaign-remote user and click Set Password.
Enter the access parameters for your AEM authoring instance: the server address as well as the ID and password used to connect to this instance. The campaign-api user account password is the same as the campaign-remote user that you set a password for in AEM.
Make sure that the server address does not end in a trailing slash. For example, enter http://yourserver:4502 instead of http://yourserver:4502/
The AEMResourceTypeFilter option is used to filter types of AEM resources that can be used in Adobe Campaign. This allows Adobe Campaign to retrieve AEM contents that are specifically designed to be used in Adobe Campaign only.
This option should come pre-configured; however, if you change this option, it may lead to a non-functioning integration.
In the AEMResourceTypeFilter option, check that the paths are correct. This field must contain the value:
Or in some cases, the value is as follows:
To configure AEM, you must do the following:
- Configure replication between instances.
- Connect AEM to Adobe Campaign via Cloud Services.
- Configure the externalizer.
Content created from the AEM authoring instance is first sent to the publishing instance. You need to publish so that the images in the newsletter are available on the publish instance and to newsletter recipients. The replication agent must therefore be configured to replicate from the AEM authoring instance to the AEM publishing instance.
If you do not want to use the replication URL but instead use the public-facing URL, you can set the Public URL in the following configuration setting in the OSGi (AEM logo > Tools icon > Operations > Web Console > OSGi Configuration > AEM Campaign Integration - Configuration):
Public URL: com.day.cq.mcm.campaign.impl.IntegrationConfigImpl#aem.mcm.campaign.publicUrl
This step is also necessary to replicate certain authoring instance configurations into the publishing instance.
From the authoring instance, select AEM logo> Tools icon > Deployment > Replication > Agents on author, then click Default Agent.
Avoid using localhost (that is a local copy of AEM) when configuring your integration with Adobe Campaign unless the publish and author instance are both on the same computer.
Before you can use AEM and Adobe Campaign together, you must establish the link between both solutions so that they can communicate.
- Username: aemserver, the Adobe Campaign AEM Integration package operator used to establish the link between the two solutions.
- Password: Adobe Campaign aemserver operator password. You may have to re-specify the password for this operator directly in Adobe Campaign.
- API End Point: Adobe Campaign instance URL.
After you create your email and publish it, you need to re-publish the configuration onto your publish instance.
If the connection fails, make sure you check the following:
- You may encounter a certificate problem when using a secure connection to an Adobe Campaign instance (https). You will have to add the Adobe Campaign instance certificate to the cacerts file of your AEM instance's JDK.
- A security zone must be configured for the aemserver operator in Adobe Campaign. Furthermore, in the serverConf.xml file, the allowUserPassword attribute of the security zone must be set to true to authorize AEM connection to Adobe Campaign using the login/password mode.
In addition, see Troubleshooting your AEM/Adobe Campaign integration.
You need to configure the externalizer in AEM on your author instance. The Externalizer is an OSGi service that lets you transform a resource path into an external and absolute URL. This service provides a central place to configure those external URLs and build them.
See Configure the externalizer for general instructions. For the Adobe Campaign integration, make sure you configure the publish server at http://<host>:<port>/system/console/configMgr/com.day.cq.commons.impl.ExternalizerImpl not point to localhost:4503 but to a server that is reachable by the Adobe Campaign console.
If it points to localhost:4503 or another server that Adobe Campaign cannot reach, your images will not appear on the Adobe Campaign console.
You can also perform some advanced configurations, namely:
- Manage personalization fields and blocks.
- Deactivate a personalization block.
- Manage target extension data.
The fields and blocks available to add personalization to your email content in AEM are managed by Adobe Campaign.
A default list is provided but can be modified. You can also add or hide personalization fields and blocks.
To add a new personalization field to those that are already available, you have to extend the Adobe Campaign nms:seedMember schema as follows:
The field that you need to add must have already been added via a recipient schema extension (nms:recipient). For more information, see the Configuration guide.
To add a Registration Number field, you must have the following elements:
- The nms:recipient schema extension named cus:recipient contains:
<element desc="Recipient table (profiles)" img="nms:recipient.png" label="Recipients" labelSingular="Recipient" name="recipient"> <attribute dataPolicy="smartCase" desc="Recipient registration number" label="Registration Number" length="50" name="registrationNumber" type="string"/> </element>
<element desc="Seed to insert in the export files" img="nms:unknownad.png" label="Seed addresses" labelSingular="Seed" name="seedMember"> <element name="custom_nms_recipient"> <attribute name="registrationNumber" template="cus:recipient:recipient/@registrationNumber"/> </element> </element>
To hide a personalization field among those that are already available, you must extend the Adobe Campaign nms:seedMember schema as detailed in the Adding a personalization field section. Apply the following steps:
Add the advanced="true" XML attribute to the field. It no longer appears in the list of personalization fields available in AEM.
For example, to hide the Middle Name field, the cud:seedMember schema must contain the following element:
<element desc="Seed to insert in the export files" img="nms:unknownad.png" label="Seed addresses" labelSingular="Seed" name="seedMember"> <element name="custom_nms_recipient"> <attribute advanced="true" name="middleName"/> </element> </element>
The data in the target is only available if the AEM content is synchronized with an Adobe Campaign delivery. See Synchronizing content created in AEM with a delivery from Adobe Campaign.