Where do I placed my OSGI config (org.apache.sling.security.impl.ReferrerFilter) so it's picked up by both author and publisher?

Avatar

Avatar

jayv25585659

Avatar

jayv25585659

jayv25585659

18-11-2020

as above.

-------

situation:

I want to customize Sling referrer config (org.apache.sling.security.impl.ReferrerFilter) in all environments (author and publishers). I created an XML file with custom config. Thanks

-------

Tests/observations:

1. As a test, I made copies my XML file in these 2 paths
- ui.apps/src/main/content/jcr_root/apps/mysite/config
- ui.apps/src/main/content/jcr_root/apps/mysite/configs/config

After building the code package in my local mac, I then uploaded and installed the code package in the sandbox author but Sling referrer does not show my custom config.
On the sandbox publisher, it's the same situation.

2. Same a test1 except that I removed the XML in the paths mentioned above and place it in this location instead
- ui.apps/src/main/content/jcr_root/apps/mysite/configs/config/config.author

This time it works. I can see my custom config in sandbox author.

3. Same a test1 except that I removed the XML in the paths mentioned above and place it in this location instead
- ui.apps/src/main/content/jcr_root/apps/mysite/configs/config/config.publish

This time it works. I can see my custom config in sandbox publisher.

4. In my local author AEM instance, I can placed the XML file in -any- paths mentioned above and it will work fine.

------------

This is a copy of my OSGI config.

➜ cat org.apache.sling.security.impl.ReferrerFilter.xml

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="sling:OsgiConfig"
allow.hosts="[mysite.my-sso-provider.com,mysite-sandbox.my-sso-provider.com]"/>

-------

background info: We are currently on 6.4.x. We are testing our custom code so we can upgrade to 6.5.x. AMS has provided a sandbox environment (1 author, 1 publisher, 1 dispatcher, 1 load balancer and cloudfront) for us to play around with.

 

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

Ankur_Khare

MVP

Avatar

Ankur_Khare

MVP

Ankur_Khare
MVP

19-11-2020

keep it under config folder it will be picked by both author and publish .

if its environment specific then keep it like below-

 

config.dev- it would be picked by both dev author and publish

Answers (1)

Answers (1)

Avatar

Avatar

Manjunath_K

Avatar

Manjunath_K

Manjunath_K

18-11-2020

Hi @jayv25585659 

If you want custom OSGI configs to picked up from runmodes then precedence will be as mentioned below

 

irrespective of environments or author/publisher then put config xml under below path.

/project/runmodes/config

 

specific to environment 

/project/runmodes/config.stage

/project/runmodes/config.prod

 

specific to environment + author/publisher

/project/runmodes/config.stage.author

/project/runmodes/config.stage.publish

/project/runmodes/config.prod.author

/project/runmodes/config.prod.publish

 

Hope this helps!