1 Reply Latest reply on Sep 19, 2012 12:24 AM by LarsTrieloff

    CQ5.5 ClientContext.get('profile/region') === 'MW' versus Generic Store Property component

    Maria S Petzold

      Hi there,

       

      I have been having segment resolution problems for a custom data store that sets a new property, "region", on the data store "profile".  Precisely, it adds a new "region" property to the existing data store "profile".

       

      The segment resolution problems occurred when using the Generic Store Property component for the segment trait definition.

      I dragged it onto the stage and populate it, choosing the following:

       

      - Store:  profile

      - Property Name: region (that's set in our custom store implemention, which is deployed to /etc/clientcontext/default/content.  having genericstoreproperties with "region" in its properties attribute (which all works.  That's why Generic Store Property can indeed find "region" to select from as possible property value).

      - Operator: equals

      - Property Value: MW

       

      However, when I change the segment trait definition to a script instead:

      ClientContext.get('profile/region') === 'MW'

       

      Then, I will not have segment resolution problems anymore.

       

      I looked at the definition of the OOTB component "Generic Store Property".  It's defined in /libs/cq/personalization/components/traits/generic

       

      ClientContext is an object of CQ_Analytics, and it's defined in /libs/cq/personalization/components/clientcontext/clientlib/clientcontext.js

       

      At no point that I was able to make out, the OOTB component "Generic Store Property" accesses ClientContext.

       

      My question is:

      - How is "Generic Store Property" component with the values set as above different from a script snippet ClientContext.get('profile/region') === 'MW'?

      At what point does it access the ClientContext object?

       

      Finally, does it change the order of js which is loaded, when I use the Generic Store Property, instead of the script snippet ClientContext.get('profile/region') === 'MW'?

       

      If that is true, is this a possible bug in Adobe CQ5.5?

       

      Thanks for any hint on this.

       

      -Maria