Prior to AEM 6.4, customer code was deployed in unpredictable areas of the JCR that were subject to change on upgrades. Because of this, it was common for formal AEM releases to overwrite custom code, configuration or content. In addition, customer changes sometimes overwrote AEM product code or content, breaking product functionality.
By clearly delineating hierarchies for AEM product code and customer code, these conflicts can be avoided.
To that end, beginning in AEM 6.4 and to be continued in future releases, content is being restructured out of /etc to other folders in the repository, along with guidelines on what content goes where, adhering to the following high-level rules:
When upgrading to AEM 6.4, a large subset of the content under /etc will be duplicated in other folders in the repository. These new locations are the preferred locations in which the content is referenced. However, every attempt has been made for the AEM 6.4 upgrade to be backwards compatible with the previous locations in the /etc folder and so in most cases the old locations will continue to be referenced by AEM code until changes are actively – and in many cases manually – made in a customer’s application. From a timeline perspective, there are two categories of changes:
While planning for an upgrade to AEM 6.4, the following per-solution pages should be referenced in order to assess the work effort:
Each page contains two sections corresponding to the urgency of the necessary changes. Anything under the “With 6.4 Upgrade” section should be tackled as part of the AEM 6.4 upgrade project. Anything under the “Prior to 6.5 Upgrade” can be optionally deferred until post-upgrade.
Each entry on the page includes a “Restructuring guidance” field, which details the recommended technical strategy for aligning with the new 6.4 respository model so that the new locations are referenced for content previously located under the /etc folder. An additional “Notes” field provides any additional useful context.