Cloud 5 - Repository Modernizer
Last update: December 5, 2024
CREATED FOR:
- Intermediate
- Admin
- Developer
The guys look into how the repository modernizer helps you transition to AEM as a Cloud Service with helpful overview of how it works and why.

Transcript
So James, I’m thinking about upgrading my pith hat, my headwear here, because it really hasn’t come into fashion since 1814 or so. So I’m thinking about upgrading to this Mandalorian helmet. Baby Yoda approves. Hey James. Hey Darren, good to see you. As you know, AEM as a cloud service requires a separation of content and code. This means a single package cannot deploy both those apps in runtime-rightable areas such as content, home, comp, or any folder that is not apps in the repository. Therefore, multiple packages should be created to separate out that code and content. What other issues might I face in a migration? Yeah great question Darren. I mean, if you’re using Maven like most folks do, right, for deploying your cloud service projects, there’s several considerations that you should take into account. So first of all, of course, you need to respect the split of mutable and immutable content. And you also have to make sure that the requisite Maven dependencies are established in order to create non-conflicting deterministic deployments. And as you mentioned, all the packages must be packaged up in a deployable structure. So AEM application deployments must be comprised of a single AEM package due to the mutable and immutable. And this package should then in turn contain sub-packages that comprise everything required by the application to function, including the code, any OSGI configurations, and any supporting baseline content. So I assume that there’s some tools that can make project migration easier? Absolutely. There’s a very cool repository modernizer tool that can help you migrate these projects. The objective of the repository modernizer tool is to take these older projects and allow them to be used with AEM cloud service compatible structure by creating the following deployment structure that you see here. So it creates an apps package for the code. It creates a config package for the OSGI config. It creates a UI content package for the content package. And it also creates an all package that embeds the core bundles and everything under there. So what does it do? I mean, I assume it requires a lot of kind of fiddling to do the work. Yeah, you’re right, Darren. I mean, it’s not an exact science, but it gives you a really nice skeleton to kind of start from. But in almost all cases, developers will have to go in and actually tweak the finished project to get it working. But I think it might be helpful if we sort of review exactly what the tool does to make that tweaking easier for you guys. Yeah, let’s check it out. So the tool basically does four things. It creates a base project structure. And in this base project structure, it’ll handle single and multiple projects. It’ll build the structure for each, including those templates, folders, reactor, POMs, and all of that. And it will also go through and separate the mutable and the immutable content, and it’ll copy it over to the UI apps or the UI content as appropriate. It’ll rename the OSGI config folders and move those from UI apps to UI config. And importantly, it’ll translate the OSGI configs to .cfg.json format as per the cloud service specifications. It’ll also separate out the filter paths and separate those into the mutable and immutable based on the JCR paths and add them to the UI apps and UI content as appropriate. And it will update the POM file. It’ll also update all the dependencies or it’ll at least try to update those dependencies. Cool. So how do I install and use this tool? I assume we’re going to put the tools down. Oh, absolutely. Yeah. Adobe recommends that we use the Adobe IO CLI and there’s more information available here. This gives you the exact installation instructions available up on this public GitHub. It can also be installed as a standalone. And in terms of using the tool, the detail instructions can be found here, but using it is basically as simple as updating the YAML file with the correct parameters and executing. And you can see an example of some of the different parameters available here. But overall, it’s a very useful tool for migrating legacy projects to AEM as a cloud service.
Content covered in this video
Additional Resources
Watch related videos on the Cloud 5 season 2 page.
Experience Manager
- Overview
- Playlists
- Introduction to AEM as a Cloud Service
- Experience Cloud integrations
- Underlying Technology
- Edge Delivery Services
- Cloud Manager
- Local Development Environment Setup
- Developing
- Debugging AEM
- AEM APIs
- Content Delivery
- Caching
- Accessing AEM
- Authentication
- Advanced Networking
- Security
- AEM Eventing
- Migration
- Content Transfer Tool
- Bulk Import of assets
- Moving to AEM as a Cloud Service
- Cloud Acceleration Manager
- Content Fragments
- Forms
- Developing for Forms as a Cloud Service
- 1 - Getting started
- 2 - Install IntelliJ
- 3 - Setup Git
- 4 - Sync IntelliJ with AEM
- 5 - Build a form
- 6 - Custom Submit Handler
- 7 - Registering servlet using resource type
- 8 - Enable Forms Portal Components
- 9 - Include Cloud Services and FDM
- 10 - Context aware cloud configuration
- 11 - Push to Cloud Manager
- 12 - Deploy to development environment
- 13 - Updating maven archetype
- Create Adaptive Form
- Custom submit service with headless form
- Create address block component
- Create clickable image component
- AEM Forms and Analytics
- Creating Countries Dropdown Component
- Creating Button Variations
- Using vertical tabs
- Using output and forms service
- Document Generation in AEM Forms CS
- Using Forms Document Services API
- Document Generation using Batch API
- PDF Manipulation in Forms CS
- Integrate with Marketo
- Store Form Submissions with Blob Index Tags
- Prefill core component based form
- Azure Portal Storage
- Save and Resume form filling
- Create Review Workflow
- Acrobat Sign with AEM Forms
- Integrate with Microsoft Power Automate
- Integrate with Microsoft Dynamics
- Integrate with Salesforce
- Store form submissions in one drive and sharepoint
- Developing for Forms as a Cloud Service
- Asset Compute Extensibility
- Multi-step Tutorials
- Expert Resources