Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AEM Configuration

Tags:

aem


Configurations are applied to an AEM instance based on run modes. How AEM determines the config file to be picked in case of multiple runmodes and multiple configurations?
Assuming the below configs are available in an AEM project,

/apps
  /myproject
    - config
    - config.prod
    - config.author
    - config.active
    - config.prod.active
    - config.prod.author.active

which configuration gets picked or applied to an AEM instance created with run modes author,nosamplecontent,prod,active?

Is there any defined set of rules(or best practices) related to config creation documented that i can refer while setting up the project

Thanks,
Jai

like image 534
Jai Avatar asked Aug 31 '25 01:08

Jai


1 Answers

This article talks about the specifics of how they are applied: https://helpx.adobe.com/experience-manager/6-4/sites/deploying/using/configuring-osgi.html?cq_ck=1368002864971#ConfigurationDetails

Resolution of multiple Run Modes

For run mode specific configurations, multiple run modes can be combined. For example, you can create configuration folders in the following style:

/apps/*/config../

Configurations in such folders will be applied if all run modes match a run mode defined at startup.

For example, if an instance was started with the run modes author,dev,emea, configuration nodes in /apps//config.emea, /apps//config.author.dev/ and /apps//config.author.emea.dev/ will be applied, while configuration nodes in /apps//config.author.asean/ and /config/author.dev.emea.noldap/ will not be applied.

If multiple configurations for the same PID are applicable, the configuration with the highest number of matching run modes is applied.

For example, if an instance was started with the run modes author,dev,emea, and both /apps//config.author/ and /apps//config.emea.author/ define a configuration for com.day.cq.wcm.core.impl.VersionManagerImpl, the configuration in/apps/*/config.emea.author/ will be applied.

This rule's granularity is at a PID level. You cannot define some properties for the same PID in/apps//config.author/ and more specific ones in /apps//config.emea.author/ for the same PID. The configuration with the highest number of matching run modes will be effective for the entier PID.

Here are some best practices:

  • https://aemmastery.com/runmodes-best-practices-8daa8a2c6582
  • https://blog.kristianwright.com/2013/08/21/aem-best-practice-osgi-configurations/
like image 100
Shawn Avatar answered Sep 02 '25 19:09

Shawn