Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

6.2 Upgrade issue

Avatar

Level 1

I am getting an error as below when i am trying to open a page

Error during include of component '/apps/lifescience/components/page/basePage'

Error Message:

org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.sightly.SightlyException: org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.sightly.SightlyException: data-sly-call: expression evaluates to null.

The base page HTML has:-

<body>
    <div class="offcanvas">
        <!-- Locale component -->
        <div class="container country-select country">
          <span class="icon-close_button close" aria-hidden="true"></span>
              <div class="row localepulldown">      
            </div>
        </div>
          <!-- Login Component 'container login clearfix'-->
        <div data-sly-include="login.html" data-sly-unwrap> </div>
    </div>
    <div class="canvas">
       <div data-sly-include="header.html" data-sly-unwrap> </div>
       <div data-sly-include="content.html" data-sly-unwrap> </div>
       <div data-sly-include="footer.html" data-sly-unwrap> </div>
    </div>
    <div data-sly-use.clientLib="${'/libs/granite/sightly/templates/clientlib.html'}"></div>
    <div data-sly-test="${!wcmmode.disabled}" data-sly-unwrap>
        <js data-sly-call="${clientLib.js @ categories=['ABC.widgets']}" data-sly-unwrap/>
    </div>
    <div data-sly-test="${!wcmmode.disabled}" data-sly-unwrap>
        <meta data-sly-call="${clientLib.js @ categories='cq.jquery'}" data-sly-unwrap />
    </div>
    <script src="/etc/designs/ABC/clientlib-site/js/modernizr.js" defer></script>

    <div data-sly-call="${clientLib.js @ categories=['ABC']}" data-sly-unwrap></div>
    
    <div data-sly-test="${inheritedPageProperties.bodyJS}" data-sly-unwrap>
          ${inheritedPageProperties.bodyJS @ context='styleToken'}
    </div>      
</body>

The situation came when i have upgraded from 6.0SP3 to 6.2 SP1 . Please help . Thanks in advance .

1 Accepted Solution

Avatar

Correct answer by
Level 8

Hi,

Not quite sure, but you might want to try few of the below options and see if it helps.

1]data-sly-call="${clientLib.js @ categories='customvalue'}". Use this and see, reason being I see some [] brackets in your case.

2] Validate if the corresponding 'categories' are present under etc nodes, as there are chances that it might have got missed.

3] Also, have seen categories="htlajax" being used in 6.2 Not quite sure if using that name helps, but you might try looking for more info on this.

View solution in original post

4 Replies

Avatar

Level 8

Hi,

"data-sly-call: expression evaluates to null." is something that I see in error stack trace. 

1] Looks there there is some issue in statements where this is used, where the custom client lib related things are getting called. You might want to cross-verify this once.

2] This to me looks like a custom-code issue/mistake than upgrade issue.

You can await response from other community members as well on this.

Avatar

Level 10

Do you ahve custom components in your AEM instance - or are you using all OOTB components? 

Avatar

Level 1

We do have custom components. Actually the entire project was working on 6.0 when i deployed the same project in 6.2 initially bundle was on resolved state . I have changed dependency then the bundle got active . I tried opening a page its throwing data-sly-call evaluates to null . The code base is running good in 6.0 . The body.html of the page goes below .

 

<body>
    <div class="offcanvas">
        <!-- Locale component -->
        <div class="container country-select country">
          <span class="icon-close_button close" aria-hidden="true"></span>
              <div class="row localepulldown">      
            </div>
        </div>
          <!-- Login Component 'container login clearfix'-->
        <div data-sly-include="login.html" data-sly-unwrap> </div>
    </div>
    <div class="canvas">
       <div data-sly-include="header.html" data-sly-unwrap> </div>
       <div data-sly-include="content.html" data-sly-unwrap> </div>
       <div data-sly-include="footer.html" data-sly-unwrap> </div>
    </div>
    <div data-sly-use.clientLib="${'/libs/granite/sightly/templates/clientlib.html'}"></div>
    <div data-sly-test="${!wcmmode.disabled}" data-sly-unwrap>
        <js data-sly-call="${clientLib.js @ categories=['lifescience.widgets']}" data-sly-unwrap/>
    </div>
    <div data-sly-test="${!wcmmode.disabled}" data-sly-unwrap>
        <meta data-sly-call="${clientLib.js @ categories='cq.jquery'}" data-sly-unwrap />
    </div>
    <script src="/etc/designs/lifescience/clientlib-site/js/modernizr.js" defer></script>

    <div data-sly-call="${clientLib.js @ categories=['lifescience.site']}" data-sly-unwrap></div>
    
    <div data-sly-test="${inheritedPageProperties.bodyJS}" data-sly-unwrap>
          ${inheritedPageProperties.bodyJS @ context='styleToken'}
    </div>      
</body>

Avatar

Correct answer by
Level 8

Hi,

Not quite sure, but you might want to try few of the below options and see if it helps.

1]data-sly-call="${clientLib.js @ categories='customvalue'}". Use this and see, reason being I see some [] brackets in your case.

2] Validate if the corresponding 'categories' are present under etc nodes, as there are chances that it might have got missed.

3] Also, have seen categories="htlajax" being used in 6.2 Not quite sure if using that name helps, but you might try looking for more info on this.