How embed happening in Html library Manger? | Community
Skip to main content
Level 2
July 23, 2020
Solved

How embed happening in Html library Manger?

  • July 23, 2020
  • 3 replies
  • 2079 views

Hi,

 

As and when we include multiple categories(a.css and b.css) in the embed property as cq:clientLibraryFolder. node how Html library Manager working/ Which method basically concating these categories programmatically on page load? any idea would help? we are getting the required categories but not able to combine? Is there any way to combine the use Html library Manager API method?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by ChitraMadan

Hi @vasudevaraogu ,

What I have understood from your question is that your are trying to use HTML Library Manager to combine different clientlibs.

 

However, may be you can try to embed different clientlib categories to combine them into 1 and then can use HTML Library Manager for minification and compression.

This blog explains very well how you can embed different categories and then enable minification.

https://blogs.adobe.com/experiencedelivers/experience-management/clientlibs-explained-example/

Note:

  • Embed property is NOT transitive – If Clientlib A embed B and B embed C, then only A and B will be included in the page,but C won't. In order to include Clientlib C, it must be added to the embed property of A as well.
  • The order of embed is important for the CSS and JS to work properly.

You can use this tool as well https://adobe-consulting-services.github.io/acs-aem-tools/features/clientlibs-optimizer/index.html

Hope this helps!!

Thanks

3 replies

Adobe Employee
July 23, 2020
VeenaVikraman
Community Advisor
Community Advisor
July 23, 2020

What exactly is the ask @vasudevaraogu ? Are you facing any issue with Embed in ClientLibs ? Could you please elaborate little on your issue ?

 

Thanks

Veena

ChitraMadan
Community Advisor
ChitraMadanCommunity AdvisorAccepted solution
Community Advisor
July 23, 2020

Hi @vasudevaraogu ,

What I have understood from your question is that your are trying to use HTML Library Manager to combine different clientlibs.

 

However, may be you can try to embed different clientlib categories to combine them into 1 and then can use HTML Library Manager for minification and compression.

This blog explains very well how you can embed different categories and then enable minification.

https://blogs.adobe.com/experiencedelivers/experience-management/clientlibs-explained-example/

Note:

  • Embed property is NOT transitive – If Clientlib A embed B and B embed C, then only A and B will be included in the page,but C won't. In order to include Clientlib C, it must be added to the embed property of A as well.
  • The order of embed is important for the CSS and JS to work properly.

You can use this tool as well https://adobe-consulting-services.github.io/acs-aem-tools/features/clientlibs-optimizer/index.html

Hope this helps!!

Thanks

Level 2
July 24, 2020

Thanks for reply, Above all a scenarios in the end we have to add an embed property to the node with a.css and b.css but I am looking at how htmllinrarymanger API combing these 2 classes? which method actually doing this?

I saw the acs commons also but the end returning all required dependency tree as a list to embed as node but not mentioned to combine the categories ??

 

Looking in htmllinrarymanger after getter categories Is there any way to combine after this method  for the required categories ??

Collection<ClientLibrary> clientLibraries =        htmlLibraryManager.getLibraries(new String[]{resourcesClientLibrary}, LibraryType.CSS, true, true);