Apache Sling Context-Aware Configuration - Override via OSGi configuration

aem65user

05-03-2020

I am investigating the feasibility of overriding the Context Aware values using OSGi configurations as stated in this document https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configurati...

 

Essentially this is for having different values based on run mode configurations. Not for production environment.

 

For example, I am taking the a sample implementation created by Jörg here. If I want to overwrite the value of the property 'approverGroup' in  caconfig file following the above doc by providing a run mode config for the factory for e.g  org.apache.sling.caconfig.impl.override.OsgiConfigurationOverrideProvider-test1. Is the value for 'overrides' property something like this to do the job. I tried below and it doesn't seem to work. Or am I missing something else?

[/content/test/en]de.joerghoh.cqdump.caconfig.workflow.CaConfigParticipantStepChooserConfig/approverGroup =osgi-approver

Accepted Solutions (1)

Accepted Solutions (1)

aem65user

08-03-2020

The correct config is as following to override via OSGi

overrides="[[/content/test/en]de.joerghoh.cqdump.caconfig.workflow.CaConfigParticipantStepChooserConfig/approverGroup="osgi-approver"]"

 

Corrected the answer as the fix was to change the quotes after the equals sign. 

Answers (1)

Answers (1)

Arun_Patidar

MVP

05-03-2020

Both Context aware config and osgi config are different. Context aware config works based on path and OSGi config based on repo/web console value.

 

But whenever you wanna use CAC there you can make a check for user/group to use OSGi config instead of CAC.