This is a sample, generated by our pipeline from Adobe's public We.Retail project, not a customer. Scan your own estate · Back to site
Migration Blueprint · 19 October 2026 · draft for review
Source: github.com/Adobe-Marketing-Cloud/aem-sample-we-retail (public sample project). 1,289 files, 62 Java files, 45 components.
The fixed price covers the findings and phases below. It changes only if the scope changes. It includes 25% contingency because only the code repository was analysed; adding a BPA report from the running instance lowers it.
| Severity | Finding and fix | Files | Hours | Automatable |
|---|---|---|---|---|
| blocker | Legacy eCommerce framework Use the Commerce Integration Framework (CIF) with a GraphQL commerce backend. 32 file(s), 13 in tests
|
32 | 132 | low |
| blocker | AEM Communities (social) APIs AEM Communities is not offered on Cloud Service; plan a replacement service before migrating. 3 file(s), 2 in tests
|
3 | 46 | low |
| blocker | Content package mixing /apps with /content or /conf Split into immutable (ui.apps) and mutable (ui.content) packages; /apps and /libs are read-only at runtime. 2 file(s), 1 in tests
|
2 | 18 | partial |
| blocker | Oak or Jackrabbit internal APIs Use public JCR, Jackrabbit API or Sling APIs; internal Oak SPIs are not exported on Cloud Service. 2 file(s)
|
2 | 16 | partial |
| blocker | Classic UI (ExtJS) dialogs and widgets Rebuild as Touch UI (Granite UI / Coral) dialogs; Classic UI is not available on Cloud Service. 2 file(s)
|
2 | 10 | high |
| blocker | Felix SCR annotations (org.apache.felix.scr removed) Move to OSGi Declarative Services annotations (org.osgi.service.component.annotations) with metatype. 4 file(s)
|
4 | 4 | high |
| blocker | Google Guava imports (removed from Cloud Service on 26 Feb 2026) Replace with JDK equivalents or Caffeine, or embed your own Guava version; the platform no longer exports it. 2 file(s), 1 in tests
|
2 | 1 | high |
| major | Components inheriting from Foundation components Re-base on proxied Core Components (core/wcm/components/...). 2 file(s)
|
2 | 12 | partial |
| major | Code referencing /etc Move configuration to /conf (context-aware configuration) and runtime data to /var; designs move to editable-template policies. 9 file(s), 4 in tests
|
9 | 8 | partial |
| major | Sling Commons JSON Use Jakarta JSON (javax.json), Gson or Jackson instead of the removed Sling Commons JSON bundle. 2 file(s), 1 in tests
|
2 | 2 | high |
| minor | AEM uber-jar dependency Depend on com.adobe.aem:aem-sdk-api and fix the compile errors it surfaces; that is your real deprecated-API list. 3 file(s)
|
3 | 5 | high |
| minor | OSGi configs in .config, .cfg or XML node format Convert to .cfg.json; the Repository Modernizer and the AEM Analyser flag what remains. 5 file(s)
|
5 | 2 | high |
| minor | Apache Commons Collections 3 Switch to org.apache.commons.collections4 or JDK collections. 5 file(s), 1 in tests
|
5 | 1 | high |
| minor | Apache Commons Lang 2 (test code only) Switch imports to org.apache.commons.lang3. 2 file(s), 2 in tests
|
2 | 0 | high |
| Change | Files changed | Items for review |
|---|---|---|
| Commons Lang 2 imports to Commons Lang 3 | 2 | 0 |
| OSGi .config / .cfg / sling:OsgiConfig to .cfg.json | 4 | 0 |
Each change ships as its own pull request with a reviewer checklist. Items for review are places the tool deliberately did not change.
Generated from deterministic scan data. Reviewed and approved by a senior AEM engineer before it is sent.