Expand my Community achievements bar.

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.