[MGNLGROOVY-171] Rescue Servlet broken Created: 18/Dec/17  Updated: 19/Dec/17  Resolved: 19/Dec/17

Status: Closed
Project: Magnolia Groovy Module
Component/s: None
Affects Version/s: 2.6
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Pierre Sandrin Assignee: Federico Grilli
Resolution: Not an issue Votes: 0
Labels: None
Remaining Estimate: 0d
Time Spent: 0.25d
Original Estimate: Not Specified

Attachments: JPEG File Rescue servlet fail.jpg     XML File web.xml    
Issue Links:
relation
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Documentation update required:
Yes
Date of First Response:
Sprint: Basel 127
Story Points: 2

 Description   

After adding the Rescue Servlet to web.xml and restarting tomcat the Rescues Servlet starts to load but is not usable due to this Error:

Failed to load the widgetset: ./VAADIN/widgetsets/com.vaadin.DefaultWidgetSet/com.vaadin.DefaultWidgetSet.nocache.js?1513595221268

(See attached screenshot and web.xml for details)

This works fine on 5.5.5 but fails on 5.6. (Maybe due to Vaadin 8 migration?)



 Comments   
Comment by Federico Grilli [ 18/Dec/17 ]

Hello Pierre, thanks for filing this issue. This looks odd, as we tested the update to Vaadin8 very thoroughly and indeed it looks like the error has to do with it.
At any rate, we'll check it ASAP.

Best,

Federico, for the Magnolia team

Comment by Ervin Vystup [ 18/Dec/17 ]

Hi fgrilli, I was able to reproduce the issue on 5.6 too.

Comment by Federico Grilli [ 18/Dec/17 ]

Thanks Ervin. I also managed to reproduce the issue on my local instance. Unfortunately the issue is no quick fix. At first we thought the RescueApp would need to use the Vaadin7 compatible widgetset by means of the @Widgetset annotation but unfortunately that's not case. It looks like the Vaadin libs, for some reason, are not in the classpath, hence the error.
At any rate, to fix a Magnolia broken configuration there's an alternative approach to the RescueApp, as explained here
https://wiki.magnolia-cms.com/display/WIKI/JSP+alternative+to+removeNode+script+of+Magnolia+tools

Hope this helps.

Comment by Federico Grilli [ 18/Dec/17 ]

Not sure if this is something new with Vaadin8 but the issue is solved if one declares a widgetset init-param for the Groovy Rescue App servlet (see below) (https://vaadin.com/docs/v8/framework/application/application-environment.html).
This wasn't actually needed until Magnolia 5.5.x and Vaadin 7.x. The value will be the same set for magnolia.ui.vaadin.widgetset at magnolia.properties.
CE: info.magnolia.widgetset.MagnoliaWidgetSet
EE: info.magnolia.widgetset.MagnoliaProWidgetSet

<servlet>
    <servlet-name>Vaadin</servlet-name>
    <servlet-class&gt;com.vaadin.server.VaadinServlet</servlet-class&gt;
    <init-param>
      <description>Groovy Rescue App</description>
      <param-name>UI</param-name>
      <param-value>info.magnolia.module.groovy.rescue.MgnlGroovyRescueApp</param-value>
    </init-param>
    <!-- If not using the default widget set-->
    <init-param>
      <param-name>widgetset</param-name>
      <param-value>info.magnolia.widgetset.MagnoliaWidgetSet</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>Vaadin</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
Comment by Pierre Sandrin [ 19/Dec/17 ]

Hello Federico.
I confirm that setting the widgetset in the init-param works!
Thanks a lot & best regards!

Comment by Federico Grilli [ 19/Dec/17 ]

Hello Pierre, glad it worked!

Best regards,

Federico

Generated at Mon Feb 12 05:56:17 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.