Repository Modernizer repo-modernizer

Repository Modernizer is a utility developed to restructure existing project packages by separating content and code into discrete packages to be compatible with the project structure defined for Adobe Experience Manager as a Cloud Service.

Introduction introduction

Adobe Experience Manager as a Cloud Service brings many new features and possibilities into your AEM Projects. However, there are some changes required to Adobe Experience Manager Maven projects to be compatible with AEM Cloud Service. At a high-level, AEM requires a separation of content and code into discrete subpackages to respect the split between mutable and immutable content. See AEM Project Structure for more details about the new AEM project structure for Cloud Service.

The Repository Modernizer creates a compatible AEM Cloud Service project structure by creating the following deployment structure:

  • ui.apps package deploys to /apps and contains all the code

  • ui.content package deploys to runtime-writable areas (for example, /content, /conf, /home, or anything not /apps) and contains all the content and configuration.

  • all package is a container package that contains the subpackages ui.apps and ui.content.

The Project structure is based on Archetype 24 for packages and their pom.xml/filter.xml files. See Archetype 24 for more details.

Using the Repository Modernizer using-repo-modernizer

  • By way of Adobe I/O CLI : Adobe recommends using the Repository Modernizer via aio-cli-plugin-aem-cloud-service-migration (AEM as a Cloud Service code refactoring plugin for the Adobe I/O CLI).

    See Git Resource: aio-cli-plugin-aem-cloud-service-migration so you can learn how to install and use the plugin.

  • As a standalone utility : The Repository Modernizer can also be executed as a standalone utility.

    See Git Resource: Repository Modernizer so you can learn how to use this tool.

    note note
    The Repository Modernizer is developed using NodeJS. It is recommended to have NodeJS 10.0+ installed.