Adobe Experience Manager | Yext Hitchhikers Platform
Adobe Experience Manager (AEM) is a CMS built to power websites with a suite of products. AEM Sites, for example, allows users to publish the content they store in AEM to websites, apps, and more. This native source allows AEM clients to easily pull in their website pages stored in AEM, ingesting data such as page metadata properties, urls, images, and page text content into Yext.
Fetch Pages - Basic Authentication
Use this operation to fetch pages from your AEM site with basic authentication (username/password).
This source uses the AEM Querybuilder Search API to:
- Fetch Pages
This operation uses an exporter to extract the text components of the page to pull in the full page content in addition to the page properties. See Fields below for a list of the fields returned in the JSON response.
Requirements
To use this operation you must be an AEM client using local credentials (on-prem or have created a local user as an AEM as a Cloud Service client).
- Note: that if you use on-prem AEM, you must first create a Cloud SDK copy of your local AEM instance. See Adobe’s resource for more information.
This operation also requires that the Apache Jackson Exporter is enabled in your AEM environment and / or requires a custom sling model exporter to be customized for your AEM site, deployed to the desired environment, and deployed to override the default sling model extension .model.json. You can find instructions in Step 3 of the above guide.
You can find the out-of-the-box exporter files that need to be deployed to your AEM environment in this this Github repository .
Fields
By installing the out-of-the-box custom exporter, the following fields will be returned. The exporter can be customized to include or remove fields that fit your use case. Once those changes are made and deployed in your AEM environment, the updated set of fields will be returned.
jcr:path
jcr:title
jcr:uuid
jcr:description
cq:lastModified
cq:tags
landingTile
eyebrow
eyebrowName
- AND any text components from the page itself by specifying the
resourceType
is/[YOUR_PATH]/components/content/text
Authentication
This operation uses Basic Authentication. All on-premise AEM clients (or AEMaaCS users with local user credentials) must provide their local credentials, AEM username and password, in order to access their data.
The AEM Querybuilder API utilizes offset pagination.
Offset Key | p.offset |
Offset Start Value | 0 |
Limit Key | p.limit |
Limit Value | 25 |
Total Items Key | total |
Detect Total Key In | Response Body |
Limits and Other Info
- This operation makes two separate API calls, first to the AEM Querybuilder API with the specified file path to return a list of all pages within that path. The second call is made directly to the exporter for every page in the path, which retrieves all data for the page. Together, all of the data is returned to the Yext Connectors framework.
- Only one file path can be specified per Connector. To create entities from multiple AEM sites or site folders create separate Connectors using this operation.
- Data returned with this operation will mirror the most recent version of your AEM Cloud SDK.
- To bring in Page text the custom exporter installed filters to the text components on the page. This limits us from including Rich Text styling such as headings and hyperlinks, but HTML elements can be handled by mapping to a rich text field. Some characters may be left over in your text (e.g. styling classes
"style=’color: rbg, 123‘"
) depending on how you manage your pages in AEM but you can use our built-in transforms to filter out unwanted text characters.