Guide · updated
Repository Modernizer: restructuring an AEM 6.5 project for the cloud
On AEM as a Cloud Service, /apps and /libs are immutable at runtime, so one package that installs both code and content will not deploy. Older AEM 6.5 projects often have exactly that. Adobe's Repository Modernizer restructures them.
What it produces
| Package | Contents |
|---|---|
| ui.apps | Everything that deploys to /apps: the code. |
| ui.content | Runtime-writable areas such as /content and /conf: content and configuration. |
| all | A container package that embeds the ui.apps and ui.content packages. |
The package and filter structure follows AEM Project Archetype 24. Projects built on newer archetypes also have a ui.config package for OSGi configuration; move configurations there afterwards if you want the current layout.
How to run it
- Adobe recommends the Adobe I/O CLI plugin aio-cli-plugin-aem-cloud-service-migration; it can also run as a standalone Node.js utility.
- Work on a branch, run it, then build the restructured project with Maven before anything else.
Check by hand afterwards
- Filter files: no package may include paths it does not own; overlapping filters cause content to be deleted on install.
- Content under /apps that is really content (for example sample pages or DAM assets) must move to ui.content or be dropped.
- Configuration under /etc must move to /conf or other supported locations.
- OSGi configurations: convert to .cfg.json and map custom run modes (our fix and runmodes commands do both).
- Deploy to a Rapid Development Environment or dev environment and check the package install logs.