Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

AEM 6.3 Rebuild Client Libraries not working

Avatar

Former Community Member

Hi everyone,

I've just activated the Adobe Html Library Manager minify in /system/console/configMgr, so now every ClientLibrary is called .min.css or .min.js.

Here's my problem: the ClientLibraries are not updated until I edit the file, even with only one space, and in this way the ClientLibrary is builded again. Looking into other discussions, everyone suggests using /libs/granite/ui/content/dumplibs.rebuild.html, but using this tool, either invalidating and rebuilding all ClientLibraries, there are no changes in them.
Unfortunately, I have a lot of ClientLibraries, so I can not take one for one and modify them to be re-created.


Do you have any solution? Thanks in advance and have a nice day!

Daniel

13 Replies

Avatar

Community Advisor

Hi,

you can delete all your client libs from /var/clientlibs

then next time it will be rebuild again automatically.

Thanks

Arun



Arun Patidar

Avatar

Former Community Member

Thanks Arun,

but as already mentioned, I have already done this operation through the tool "/libs/granite/ui/content/dumplibs.rebuild.html?validate=true" which does nothing but clean the location /var/clientlibs. It doesn't work.

Avatar

Former Community Member

I tried also to change the CSS Minify processor (from "yui" to "yux" and then again correctly to "yui"), but nothing. I tried also to restart the machine, but nothing. Everything I try, the only case in which the ClientLibrary updates itself is when I modify a file in it.

Avatar

Community Advisor

Hi,

I tried deleting my clientlibs(myApp) from /var/clientlibs/etc/myApp folder in AEM 6.3 and reloaded the page which referred clientLibs. Once page is loaded /var/clientlibs/etc/myApp folder is created again with minified clientlibs.

Which AEM version are you using?



Arun Patidar

Avatar

Former Community Member

The problem is that in my machine the /var/clientlibs folder is empty, but the css files don't update themselves.

I've AEM 6.3.2.1

Avatar

Community Advisor

Hi,

I tried in AEM 6.3

Please check below if this helps:

In crx/de click on /var/clientlibs, and then "Access control" tab where it show the "properties", and then

  1. add principal  "clientlib-service" with read write privileges. like below. (if not present)
  2. add Principal "Everyone", and privileges "jcr:all".

Check first one if doesn't help try 2nd one

Screen Shot 2018-06-22 at 11.00.29 AM.png

Thanks

Arun



Arun Patidar

Avatar

Former Community Member

Hi Arun,
Meanwhile, thank you for the
time you are dedicating to me.

Anyway, I checked: the first ACL was already there; the second no, so I inserted it and re-executed the "rebuild" and "invalidate" operations, but it did not change anything.

I do not know what to do, because I would like to activate the minify in production, but if I have no way to rebuild the clientlibs I can not proceed.

Thank you,

Dani

Avatar

Former Community Member

Hi Arun, and everyone,

maybe I found a solution. When I was about to lose every hope, I tried to review the configuration of "Adobe Granite HTML Library Manager" on /system/console/configMgr looking for something that could be useful to our cause.

So I saw the option "Long term client side cache key" (Description: "The path pattern list for long-caching in the format" regexp; key ". If key equals to 'auto' it is automatically generated when this service restarts use 'none' to disable it.) and I tried to set "(. *); auto". And incredibly, the ClientLibrary has updated!!!!

Schermata 2018-06-22 alle 11.50.14.png

But it is absurd that the "rebuild" and "invalidate" operations of the tool offered by AEM just for this cause, do not work, and no other operation works, except this configuration.

Bye bye (and thank you again Arun ) and have a good day and weekend!

Daniel

Avatar

Community Advisor

cool

Thanks and I believe you will be having a nice weekend too after all you've found a solution

Cheer

Arun



Arun Patidar

Avatar

Former Community Member

arunp99088702

As unsaid Arun: ((((

That field "Long term client side cache key" is related to the next field "Long term cache key format", which by default is "lc-% s-lc". And these two settings combined change the name of the file in "{filename}.lc- {timestamp}-lc.min.css" (e.g.: main.lc-9484393.min.css). This solution was not what I need and it creates also obvious caching problems, because the css inclusion is in the head, so for every css/js update in production, I should clear the entire cache of my site on dispatcher.

So the problem has remained unresolved, these damn ClientLibraries are not invalidated.

D.

Avatar

Level 2

Hey did you find any solution for this.

Thanks,

Pradeep

Avatar

Employee

Everyone is looking at this the wrong way.

In AEM 6.3 and 6.4 the client libraries are persisted on the file system. They no longer live under /var

Under one of the bundles (bundle248 on my local) there is an outputcache directory. Within this directory is where the compiled client libraries live.

For example on an AEM 6.3.3.0 instance:

\AEM 6.3\6.3.3.0\crx-quickstart\launchpad\felix\bundle248\data\outputcache

\apps

\etc

\libs

This is all documented here : How to force a recompilation of all Sling scripts jsps, java, and sightly in AEM 6.4

Avatar

Level 1

Thanks for this answer you helped me a lot.