Code Repository Modernizer

Last update: 2024-01-25
  • Created for:
  • Intermediate
    Developer

Learn how the Core Repository Modernizer automatically updates existing AEM Maven projects to be AEM as a Cloud Service compatible.

 Transcript

Repository modernizer is a utility developed to restructure the existing Maven project package by separating content in code into discrete packages to be compatible with the project structure defined for Adobe Experience Manager as a cloud service.

AEM requires separation of mutable and immutable content, which means the single content package cannot deploy to both apps and runtime writeable areas. Example: /content, /conf, /home of the repository.

Instead, the application must separate code and content into discrete packages for deployment into AEM.

The objective of this tool is to modernize any given projects into AEM cloud service compatible structure.

The ui.apps package, or core package, contains all the code to be deployed, and only deployed, to apps.

The ui.config package, or osj config package, contains all osj configurations. The ui.content package, or content package, contains all content and configurations.

The all package container package that embeds the core bundle in ui.apps, ui.com, and ui.content packages.

After the successful conversion, the tool generates a summary report. Depending on that, take necessary steps to add those manually. For example, if there are any conflicts during conversion to new package or renaming/merging folders will be reported. Missing version info in core bundle will be reported. The version needs to be added in the dependency section of the form manually. Third party dependency bundles will be reported. The .jar files need to be placed in the non-independency directory, which is known as local repository.

There are some known limitations which need to be addressed by the project teams. For example, it does not make any modifications to existing core bundles apart from replacing .jar dependencies.

As an implementation, have to update the required dependencies.

These tools are constantly updated and new versions are released. So for more details, please refer to the documentation to get latest updates. -

On this page