
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
@adobe/aem-cs-source-migration-index-converter
Advanced tools
AEM as a Cloud Service Index Converter tool
aem-cs-source-migration-index-converter provides the capability to transform on-premise
Custom OAK Index Definitions to AEM as a Cloud Service compatible OAK Index Definitions.
Index Converter allows Adobe Experience Manager (AEM) developers to migrate existing Custom Oak Index Definitions to AEM as a Cloud Service compatible Custom Oak Index Definitions.
Custom Oak Index Definitions are categorized as:
There are two ways to create Custom Oak Index Definitions:
/apps (through any custom content package)/oak:index pathThis utility transforms only lucene type Custom Oak Index Definitions which are present under
/apps or /oak:index. It will not transform those lucene type indexes which are created for
nt:base.
Refer to Ensure Oak Index to learn how to define and create Oak Definitions. These were created (in place of actual Oak index definitions) so that they do not wipe out the actual index data when updating the node, necessitating a reindex. AEM as a Cloud Service does not support Ensure Definitions, and hence they will be converted to Oak Index Definitions (then further migrated into AEM as a Cloud Service compatible Custom Oak Index Definitions) as per below guidelines:
true, ignore or skip the Ensure Definitionjcr:primaryType to oak:QueryIndexDefinition/facets/jcr:content from Ensure DefinitionaemVersion specified."Name of the corresponding OAK Index Definition on AEM as a Cloud Service"-
"latest version of this index on AEM as a Cloud Service "-"custom"-1
For example, damAssetLucene-6-custom-1
"Name of the Custom Oak Index Definition"-"custom"-1
For example, testindex-custom-1
This tool will update the filter path in filter.xml as well based on the new name of Custom OAK
Index Definitions.
For example, from <filter root="/oak:index/damAssetLucene1"/> to
<filter root="/oak:index/damAssetLucene-6-custom-1"/>
While it is recommended to use this tool via AIO CLI plugin for source migration, it can also be executed standalone.
This project uses node and npm. Check the resources for installation.
It can be installed like any other Node.js module.
$ npm install @adobe/aem-cs-source-migration-index-converter
To add the module to your Node.js project:
require function in the module in the javascript file where it will be consumed.const IndexConverter = require('@adobe/aem-cs-source-migration-index-converter');
To execute the index-converter tool locally :
git clone git@github.com:adobe/aem-cloud-service-source-migration.git to clone the
repository locallyindex-converter foldernpm install to install all the required dependenciesexecutors folder:
config.yaml. Refer to Configurations
sections below to learn more.node index-converter.js to execute the tool./target/index/ will contain the resulting restructured projectsThe following configurations are required for the Index Converter utility:
ensureIndexDefinitionContentPackageJcrRootPath: Absolute path to the jcr_root directory of the package
containing the Ensure Index Definitions (please ignore if there are no Ensure Index Definitions).ensureIndexDefinitionConfigPackageJcrRootPath: Absolute path to the jcr_root directory of the package
containing the Ensure Index OSGi Configuration (please ignore if there are no Ensure Index Definitions).aemVersion: Version of AEM customer is on, used to determine the baseline index definitions.customOakIndexDirectoryPath: Path to the customer OAK Index Definition directory.filterXMLPath: Path to the existing package filter.xml file.indexConverter:
# Absolute path to the jcr_root directory of the package containing the Ensure Index Definitions
# (please ignore if there are no Ensure Index Definitions)
# eg. /Users/xyz/sampleCode/content/src/main/content/jcr_root
ensureIndexDefinitionContentPackageJcrRootPath: "/Users/xyz/sampleCode/content/src/main/content/jcr_root"
# Absolute path to the jcr_root directory of the package containing the Ensure Oak Index OSGI Configuration
# (please ignore if there are no Ensure Index Definitions)
# eg. /Users/xyz/sampleCode/CONFIG/src/main/content/jcr_root
ensureIndexDefinitionConfigPackageJcrRootPath: "/Users/xyz/sampleCode/CONFIG/src/main/content/jcr_root"
# Version of AEM customer is on, used to determine the baseline index definitions
aemVersion: 64
# Path to the customer OAK Index Definition directory
# (please ignore if there are no Custom Oak Index Definitions under /oak:index)
# eg /Users/xyz/sampleCode/ui.apps/src/main/content/jcr_root/_oak_index
customOakIndexDirectoryPath:"/Users/xyz/sampleCode/ui.apps/src/main/content/jcr_root/_oak_index"
# Path to the existing package `filter.xml` file
# eg /Users/xyz/sampleCode/ui.apps/src/main/content/META-INF/vault/filter.xml
filterXMLPath:"/Users/xyz/sampleCode/ui.apps/src/main/content/META-INF/vault/filter.xml"
The tool has some known limitations (we are working on fixing them) such as :
aemVersion 6.3 onwards./apps or /oak:index.nt:base./oak:index folder inside ui.apps package.filter.xml to the ui.apps
package's filter.xml file.Contributions are welcomed! Refer to Contributing Guide for more information.
This project is licensed under the Apache V2 License. Refer to LICENSE for more information.
FAQs
AEM as a Cloud Service Index Converter tool
The npm package @adobe/aem-cs-source-migration-index-converter receives a total of 29 weekly downloads. As such, @adobe/aem-cs-source-migration-index-converter popularity was classified as not popular.
We found that @adobe/aem-cs-source-migration-index-converter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 31 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.