Expand my Community achievements bar.

ContextHub.console is not a function error in AEM 6.5

Avatar

Level 1

Hi,

We are trying to set up Context Hub in 6.5 and getting an error "Uncaught TypeError: ContextHub.console is not a function". Tried resolving using dependencies and changing the sling resourcetype from /libs/granite.. to granite path but its not working.

Can someone please help on the issue.

6 Replies

Avatar

Employee Advisor

Try comparing nodes under the path at [1] with a working instance(Or OOTB 6.5) and check if there are any missing or extra nodes.

[1]/libs/granite/contexthub

Avatar

Employee

Hi swetap37476554,

Can you share the scenario in which the JavaScript error is thrown (share replication steps)?  Particularly, can you replicate this error thrown with the We.Retail sample content?  I referenced [1] to review the We.Retail sample content that has ContextHub already configured.

My vanilla 6.5 install showed me that ContextHub.console is not a function -- it is an object:

ContextHub

  1. {Callbacks: {…}, version: "0.4.18-20190304-1526", Paths: {…}, Constants: {…}, console: {…}, …}
    1. ...
    2. console:
      1. debug: ƒ ()
      2. error: ƒ ()
      3. info: ƒ ()
      4. log: ƒ ()
      5. time: ƒ ()
      6. timeEnd: ƒ ()
      7. timeStamp: ƒ ()
      8. warn: ƒ ()
      9. __proto__: Object

I used Developer Tool to call 'ContextHub' to review the object and what is present.

Regards,

Lisa

[1] Adding ContextHub to Pages and Accessing Stores

Avatar

Former Community Member

It looks like Adobe used to have documentation on these use cases [1]. However, I can't find the 6.5 version of this document.

1.  Using the Adobe Experience Manager ContextHub to work with Personal Experiences

Avatar

Employee

Hello,

Please share the complete stack trace of js error - Uncaught TypeError: ContextHub.console is not a function

Regards,

Vishu

Avatar

Employee Advisor

I am working on a similar issue and noticed this issue was caused by the syntax error at line 31. It should be :

ContextHub.console.log(ContextHub.Shared.timestamp(), '[loading] cq.contexthub - store.clientcontext-backedstore.js (clientcontext connector)');

There were extra quotes around the console."log" which was causing the issue. Try checking if that is the case here.

[1] /libs/cq/personalization/contexthub/components/stores/clientcontext-backedstore/store.clientcontext-backedstore.js

Avatar

Level 1

 

In below files also instead of using "ContextHub.console.log()" they committed ContextHub.console("log","") which causing "ContextHub.console is not a function" error.

can you please fix them

  1. /libs/cq/personalization/contexthub/clientlibs/contexthub/ContextHub.Store.ClientContextBackedStore.js

  2. /libs/cq/personalization/contexthub/clientlibs/clientcontextprofile/store.clientcontextprofile.js

 
 

contexthub_issue.png