Upgrading AEM 6.0 JS libraries (i.e. backbone and underscore) to their up to date versions | Community
Skip to main content
filipe_martins1
New Participant
October 16, 2015
Solved

Upgrading AEM 6.0 JS libraries (i.e. backbone and underscore) to their up to date versions

  • October 16, 2015
  • 6 replies
  • 1219 views

Hi,

Recently we have decided to start using Backbone & Underscore as part of our core front-end development. However in AEM 6.0 the granite distibution that ships with the platform has two very outdated versions of these two libraries (Backbone.js 0.9.2 and Underscore.js 1.3.3). Backbone 0.9.2 is very outdated and some of its functions can lead to memory leaks.  For this reason we have decided to upgrade both libraries.

Firstly we decided to create a new client library with our very own namespace, but then noticed that AEM already uses underscore internally at at runtime both instances of the same _underscore variable is running (the OOTB granite version and out own). So the question is can we simply delete the current Backbone & Underscore versions that ship with AEM 6.0 and replace it with the up to date versions (providing they are backwards compatible) or is there a better way of doing this? 

Many thanks,

Filipe

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 filipe_martins1

I found a temporary solution using the noconflict backbone and underscore functions, but it would be a good idea in general to find a way to upgrade JS libraries in CQ!

6 replies

smacdonald2008
New Participant
October 16, 2015

I do not recommend replacing these libs.  Never overwrite  /libs or system libraries. You can easily create your own clientlibs folder and place the newer libs in the clientlibs folder. 

Then for your custom AEM component that make use of the newer functionality - reference the clientlibs folder. 

Lokesh_Shivalingaiah
New Participant
October 16, 2015

However, you will see conflicts with multiple versions in author instance but may work good in the publish instance. 

filipe_martins1
New Participant
October 16, 2015

I've tried that, but it does not work due to multiple versions of the library (i.e. underscore) being loaded in Author.

smacdonald2008
New Participant
October 16, 2015

I have asked support to look at this. 

Lokesh_Shivalingaiah
New Participant
October 16, 2015

Yes, as I said before, its always a problem in author environment. You can raise a support ticket for the same and see what they have to say !

filipe_martins1
filipe_martins1AuthorAccepted solution
New Participant
October 16, 2015

I found a temporary solution using the noconflict backbone and underscore functions, but it would be a good idea in general to find a way to upgrade JS libraries in CQ!