June 15, 2022 Release (3.0.0)

In this article
In this article

This article presents the new features, enhancements, and bug fixes introduced in the June 15, 2022 Release (3.0.0). Upgrade steps are also provided for customers upgrading from the previous Coveo AEM Connector release.

Release Notes

This section summarizes the new features and bug fixes in the Coveo AEM Connector June 15, 2022 Release (3.0.0). You can request this package on the Releases page.

New Features and Enhancements

Issue number Description


Integrated use of the new dedicated Adobe Experience Manager source in Coveo.


Added support for the indexing of metadata of all asset file types.


Switched to using a ResourceChangeListener implementation on the publish instance to handle publish indexing events.


Moved to running the connector on a publish instance and indexing that instance.


Removed the Index on Publish configuration option.


Allowed for changes to the Coveo connector configuration to be taken into account without restarting the bundle.


Refined existing logs and added more to help with troubleshooting.


Removed lastreplicated from the default Adobe Experience Manager connector property fields list.

Bug Fixes

Issue number Description


Fixed issue with node selection precedence when the same property appears on multiple nodes of a given document.


Fixed improper handling of URLs when indexing AEM properties.

Maintenance Cases

Issue number Case Description



Fixed issue with connector throwing Source already exists error when source name starts or ends with a space.

Upgrade Steps

The following upgrade steps guide you in transitioning from running the connector on the author instance to running it on a publish instance of your choosing. The connector now indexes documents and their properties on the publish instance it runs on. It listens for publish, unpublish, and delete events originating from the author instance.

  • The following upgrade steps assume that you’re currently using the February 28, 2022 Release (2.0.1) of the Coveo Adobe Experience Manager Connector package. If you’re currently using an older version of the connector, you should instead treat this as a fresh install.

  • Ensure you currently don’t have the coveo-connector-content-<VERSION>.zip package installed on any publish instance.

Replicate the Workflow Models

  1. On the author instance, on the Workflow Models page, select and publish the Coveo Reindex workflow.

    Publishing the workflow

    To publish the workflow model in Adobe Experience Manager 6.4, you need to replicate the /conf/global/settings/workflow/models/coveo-reindex and /var/workflow/models/coveo-reindex CRXDE nodes.

  2. On the author instance, on the Workflow Models page, select and publish the Coveo Rebuild workflow.

Clean the Author Instance

  1. In the author instance Package Manager, uninstall and delete all coveo-connector-content-<VERSION>.zip packages.

  2. In the author instance CRXDE, delete the conf/coveo folder.

    Removing the connector config folder on author
  3. In the author instance CRXDE, delete the following Coveo workflow nodes:

    • /conf/global/settings/workflow/models/coveo-rebuild

    • /conf/global/settings/workflow/models/coveo-reindex

    • /var/workflow/models/coveo-rebuild

    • /var/workflow/models/coveo-reindex

Install the June 15, 2022 Release (3.0.0)

  1. Request version 3.0.0 of the Coveo Adobe Experience Manager Connector package.

  2. On the publish instance you want to index, in the Adobe Experience Manager CRX Package Manager, upload and install the coveo-connector-content-<VERSION>.zip package.


    Only install the connector on one publish instance (that is, the publish instance you want to index).


    Version numbers in the CRX Package Manager screenshots below and the actual connector release version may differ.

    Uploading the Coveo package in the Package Manager
    Installing the Coveo package in the Package Manager

    Installing the Coveo Adobe Experience Manager Connector package creates the coveo-user service user in Adobe Experience Manager. The Coveo Adobe Experience Manager Connector uses coveo-user to access the JCR programmatically and retrieve the content to be indexed.

Configure the Connector

You need to reconfigure the connector. You’ll need to create another API key in the process.

  1. On the chosen publish instance, open the Web Console located at <PUBLISH_DOMAIN>/system/console/configMgr.

  2. Ensure the Day CQ Link Externalizer configuration Domains URLs are properly configured.

    Setting up the externalizer

    Your Adobe Experience Manager documents will be indexed with URLs that reflect the publish instance URL you configure in the link externalizer.

  3. In the Adobe Experience Manager user interface of the chosen publish instance, select Tools > Coveo > Cloud Organization Configuration.

    Coveo Adobe Experience Manager Connector configuration interface
  4. Set the configuration parameters as follows:

    • Organization ID: Provide your Organization ID.

      Leading practice

      You can get the Organization ID from the URL while in your Coveo organization.

      Getting your organization ID from your Coveo organization URL | Coveo
    • API Key: Paste your new API key.

    • Region: Select the deployment region your Coveo organization has been created in.

    • Enable Coveo Connector: Select this option to enable all the connector features. Conversely, unselect this option to disable all indexing.

    • Sources section

      You can configure multiple sources and specify one or multiple root paths for each source. For example, if you have /content/we-retail/fr/ in a source list of root paths, then the /content/we-retail/fr/ document and its child documents match this root path and can be indexed. The root paths are taken into account in all indexing scenarios (that is, index on publish, reindex, rebuild).

      Leading practice
      • Your old sources appear as Push type sources on the Coveo Sources (platform-ca | platform-eu | platform-au) page, whereas new sources will appear as Adobe Experience Manager type sources. We recommend you create new sources (as opposed to configuring sources with the same names as the ones you currently have) and then delete your old Push sources. Note, however, that you’ll need to redo any custom field mapping you had created on your old source. Also, if you were using an indexing pipeline extension, you’ll need to apply it to your new source.

      • Coveo names your initial source AEM by default but we recommend that you change this name to something more meaningful.

      • You can create a source specifically for your assets.

      • Source Name: Provide a name for your Coveo organization source. Source names are case insensitive.


        Newly configured sources are created in your Coveo organization when an indexing action is triggered.

      • Root Paths: Click the Browse icon ( Root page Browse button ) and select the parent node of the root path. If necessary, click Add Root Path and repeat the process to specify other root paths to index for the first source.

      Click Add Source to add more sources as necessary. For each source you add, repeat the source naming and root path selection process.

  5. Click Save.

Remove the Search Result URL Adjustment Script

If you’re using the Coveo Hosted Search Page component, you should have added a <script> block in your hosted search page code. Now that you’re indexing documents with URLs that reflect the publish instance host name, this <script> block is no longer required.

  1. Open the Search Pages (platform-ca | platform-eu | platform-au) pages.

  2. Select your classic hosted search page, and then select Edit interface in the Action bar.

  3. Select the <> Code View tab.

  4. If you have a <script> block after the final closing </div> tag similar to the one below, delete that <script> block.

      document.addEventListener("DOMContentLoaded", function() {
        const publicHostname = window.location.protocol + '//' + window.location.hostname;
        let publicItemUrl;
        root = document.querySelector("#search");
        Coveo.$$(root).on("preprocessResults", function(e, args) {
          args.results.results.forEach(function(result) {
            publicItemUrl = result.clickUri.replace("<HOSTNAME_TO_CHANGE>", publicHostname);1
            result.clickUri = publicItemUrl;
            result.printableUri = publicItemUrl;

Stop Use of lastreplicated Field in Search Interfaces

The cq:lastReplicated document property is no longer indexed because it doesn’t exist on publish instance documents. If you’re using the lastreplicated Coveo field in search interface features (for example, facet, search results), make all necessary adjustments.