The Netlify Adobe Experience Manager Connector is a Netlify Connect integration, developed and supported by VShift, that enables Adobe Experience Manager (AEM) content to be used as a data and content source for Netlify Connect.
Enable the Connector: Enable the “Adobe Experience Manager” connector via the Integrations library in your Netlify account dashboard or through the Netlify Integrations Hub.
Prepare and Configure AEM: Follow the steps listed below to configure your AEM instance for use with the connector.
Configure the Connector: Follow the steps listed in the Netlify Connect getting started documentation to configure the connector for your Netlify account. See below for a detailed explanation of the the specific AEM connector configuration options.
To enable your AEM instance to effectively communicate and synchronize with Netlify Connect, perform the following steps.
Set Up Credentials: Configure service credentials in AEM to authenticate API requests from the connector following the instructions for setting up service credentials. Note that the credentials generated here will be used for configuring the AEM connector. For more information see below.
Create a GraphQL Endpoint: Create and configure a GraphQL endpoint in AEM to expose your content by following the steps provided in the Manage GraphQL endpoints in AEM documentation. Note that the GraphQL endpoint established here will be used for configuring the AEM connector. For more information see below.
Create Persisted Queries: For each AEM content fragment type you will access via the connector, create a persisted query to define the specific content to be fetched from AEM. Instructions for creating and manage these queries using the GraphiQL IDE are available here. Note that the GraphQL persisted query base URL established here will be used for configuring the AEM connector. For more information see below.
Set Up Cloud Events: Enable automated sync of content updates to the connector whenever content changes occur in AEM by setting up Cloud Events. Navigate to Adobe Developer Console, create a new project, and follow the instructions for configuring events: Adobe Developer Console Guide. The documentation uses the example of Adobe XD, but select “AEM” under “Experience Cloud” instead.
Select your author instance on the next screen and then select which event types you’d like to subscribe to.
Select and name your credentials and event registration, and then select the “Webhook” option for listening to events.
The Webhook URL can be found under General Data Layer Settings on Netlify.
Once configured, Adobe will send a challenge request to the webhook. Follow the URL in the request body to validate the webhook. Adobe Challenge Request Guide
AEM_CREDENTIALS:
Description: JSON object containing the credentials for AEM.
{
"ok": true,
"integration": {
"imsEndpoint": "ims-na1.adobelogin.com",
"metascopes": "ent_aem_cloud_api",
"technicalAccount": {
"clientId": "client-id",
"clientSecret": "client-secret"
},
"email": "xxx-xxx-xxx-xxx-xxx@techacct.adobe.com",
"id": "xxx@techacct.adobe.com",
"org": "xxx@AdobeOrg",
"privateKey": "-----BEGIN RSA PRIVATE KEY-----\nprivate-key\n-----END CERTIFICATE-----\r\n",
"certificateExpirationDate": "2025-01-01T00:00:00.000Z"
},
"statusCode": 200
}
AEM_QUERY_URL
Description: The URL for your AEM instance’s content fragment query endpoint.
Example: https://author-xxxxxxx-xxxxxxxx.adobeaemcloud.com/content/_cq_graphql/[endpoint-name]/endpoint.json
Notes: See step #2 in “AEM Preparation and Configuration” above. See the “PATH” column under Tools > General > GraphQL here.
AEM_PERSISTED_QUERY_URL:
Description: The base URL for your AEM instance’s content fragment persisted queries.
Example: https://author-xxxxxxx-xxxxxxxx.adobeaemcloud.com/graphql/execute.json/[endpoint-name]
Notes: See step #3 in “AEM Preparation and Configuration” above. Refer to following instructions for copying the URL to directly access a persisted query. Note that the base URL value should omit specific query segment from the end of this URL.
AEM_MODEL_CONFIG:
Description: Configuration for models in AEM to be queried. Includes the names of the models and the corresponding persisted queries and reference fields.
{
"ArticleModel": {
"query": "ArticleModel",
"referenceFields": [
"relatedArticles",
"author"
]
},
"AwardModel": {
"query": "AwardModel"
}
}
PROJECT_NAMES:
Description: An array of AEM project names that the connector should use for content and data synchronization. Webhook updates from any AEM projects not in this list will be ignored by the connector.
Example: ["my-aem-project", "my-other-aem-project"]
MODEL_SYNC_CONCURRENCY:
Description: Specifies the maximum number of content fragment model types the connector will process concurrently when synchronizing data. Can be adjusted to optimize performance.
Default: 10
MAX_UPDATE_FREQUENCY:
Description: Specifies the maximum frequency / minimum time interval, in milliseconds, for connector content synchronization. Configurable to manage load versus data update delay.
Default: 30000
With the Configuration Options set and AEM properly configured, your Netlify Connect AEM Connector is ready to synchronize content to your Netlify Connect data layer. Test the connection thoroughly to ensure data flows correctly between AEM and Netlify without issues.