Expand my Community achievements bar.

Elevate your expertise and be recognized as a true influencer! Nominations for the exclusive Adobe Community Advisor program 2023 are now OPEN.
SOLVED

Why does AEM force us to place fonts under clientlib/resources/fonts ?

Avatar

Level 1

We have a requirement in our project where we are using a 3rd party node_module in the ui.frontend module and packaging the css from that node module into a clientlib-site.

 

The css in that node module is such that it has references to font files with the path "../fonts/..." not "../../resources/fonts/"

Is there some way we can make the path /etc.clientlibs/<myproject>/clientlibs/clientlib-site/fonts/<font-filename>

 

Do we need to create our own proxy servlet for this ?

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 8

It forces you to do so because from dispatcher all nodes are not accessible to the end users as it will create a security issue. That’s why they have predefined the path where you can put your own custom code, js or css. If the reference fonts in outside of clientlibs the the problem might arise abs clientlibs are being called with proxy servlet /etc.clientlibs so your referenced fonts should also follow the same path with your default behaviour and with security concern you don’t want to open other paths for clientlibs 

2 Replies

Avatar

Employee

Hi,

 

If you need to modify the path of the font files referenced in the CSS, you can consider creating a proxy servlet in your AEM project. The proxy servlet can intercept requests for the font files and rewrite the URLs to match the desired path, such as /etc.clientlibs/<myproject>/clientlibs/clientlib-site/fonts/<font-filename>.

Avatar

Correct answer by
Level 8

It forces you to do so because from dispatcher all nodes are not accessible to the end users as it will create a security issue. That’s why they have predefined the path where you can put your own custom code, js or css. If the reference fonts in outside of clientlibs the the problem might arise abs clientlibs are being called with proxy servlet /etc.clientlibs so your referenced fonts should also follow the same path with your default behaviour and with security concern you don’t want to open other paths for clientlibs