Client Libraries JavaScript Page Head Not Loading into Publisher

FrancescaBueti

02-05-2019

I have configured a Client Library JavaScript Page Head like so:

1744822_pastedImage_0.png

In author is appears as expected:

1744985_pastedImage_1.png

In publisher, however, it does not appear. All pages and packages are active/published.

Is there anything that could be preventing this from appearing in the publisher instance?

Thanks,

Francesca

Accepted Solutions (1)

Accepted Solutions (1)

Ravi_Pampana

MVP

02-05-2019

If your clientlibs files are under /apps (which is recommended by adobe from AEM 6.4 onwards) you need to add "allowProxy" property so that clientlibs will be loaded via etc.clientlibs

jcr:primaryType="cq:ClientLibraryFolder"

allowProxy="{Boolean}true"

Also, make sure in publisher /etc is having read access for everyone user

From Adobe Documentation:

In order for the client libraries under /apps to be accessible, a proxy servelt is used. The ACLs are still enforced on the client library folder, but the servlet allows for the content to be read via /etc.clientlibs/ if the allowProxy property is set to true.

A static resource can only be accessed via the proxy, if it resides below a resource below the client library folder.

As an example:

  • You have a clientlib in /apps/myproject/clientlibs/foo
  • You have a static image in /apps/myprojects/clientlibs/foo/resources/icon.png

Then you set the allowProxy property on foo to true.

  • You can then request /etc.clientlibs/myprojects/clientlibs/foo.js
  • You can then reference the image via /etc.clientlibs/myprojects/clientlibs/foo/resources/icon.png

Answers (5)

Answers (5)

Ravi_Pampana

MVP

03-05-2019

You can add read permission to everyone and anonymous user in publish instance (/etc/designs, /etc/clientlibs) by going to useradmin console and search for below users

Everyone

Screen Shot 2019-05-03 at 10.01.35 AM.png

Anonymous

Screen Shot 2019-05-03 at 9.59.05 AM.png

FrancescaBueti

03-05-2019

Hi,

The script tag is generated by referencing the library via the template policy:

1745463_pastedImage_0.png

Is including libraries at the template-level like so not best practice?

Best,

Francesca

FrancescaBueti

03-05-2019

Hi Ravi,

Thank you for your response! I have updated the allowProxy property and the path has been updated accordingly:

1745410_pastedImage_0.png

However, it is still missing on publish. Though it seems to be able to pull in other clientlibs without issue:

1745462_pastedImage_1.png

Can you elaborate on how to "make sure in publisher /etc is having read access for everyone user"?

Thanks,

Francesca

Mali001

Employee

02-05-2019

francesca​ You might have to reference using /etc.clientlibs but before that you need to configure "Client Library Folder and Using the Proxy Client Libraries Servlet" - Please check Using Client-Side Libraries - read section "Locating Client Library Folder and Using the Proxy Client Libraries Servlet"