
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
@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 15 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 not healthy version release cadence and project activity because the last version was released a year ago. It has 19 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.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.