How are you compiling the widgetset? In the demo source code, choose InvientChartsDemoAppWidgetset.gwt.xml and compile the widgetset. This will create /VAADIN/widgetsets/com.invient.vaadin.InvientChartsDemoAppWidgetset directory.
Also make sure that the servlet InvientCharts/demo/com/invient/vaadin/InvientChartsDemoAppServlet.java has a parameter widgetset and has a value com.invient.vaadin.InvientChartsDemoAppWidgetset.
Now I’m getting the following error in the console:
.
.
.
Going to create a chart.
JavaScriptException: (TypeError): Cannot convert ‘$wnd.Highcharts’ to object
Processing time was 3521ms for 6159 characters of JSON
Referenced paintables: 9
I have the same problem "
Widgetset does not contain implementation for com.invient.vaadin.charts.InvientCharts " but with a liferay portal integration.
I compile th widget with ant and widget file in my portlet : com.invient.vaadin.InvientChartsWidgetset.gwt.xml
[i]
[/i]
the jar dependency of invient is added.
There are no problems during compilation widget but when I copied the result compilation
FROM MyPortlet/VAADIN/widgetsets/com.invient.vaadin.InvientChartsWidgetset
TO ROOT/html/VAADIN/widgetsets/com.invient.vaadin.InvientChartsWidgetset
When the page is executed, this error is displayed…
Widgetset does not contain implementation for com.invient.vaadin.charts.InvientCharts.
Have you changed the Liferay property “vaadin.widgetset” (portal-ext.properties, see e.g.
this page ) to “com.invient.vaadin.InvientChartsWidgetset” or defined an “widgetset” init-parameter to the portlet with the same value? By default it will use the “com.vaadin.portal.gwt.PortalDefaultWidgetSet” which does not contain any add-ons.
BTW: Vaadin Control Panel for Liferay should help you manage the widgetset automatically (it will overwrite the PortalDefaultWidgetSet though so it will be used by all portlets automatically)
Yes my portal-ext.properties has been updated:
vaadin.widgetset=com.invient.vaadin.InvientChartsDemoAppWidgetset
There is a potentialy problem in invient-chart.jar because the mapping widget @ClientWidget(VInvientCharts.class) in InvientCharts.class is not in good location. This should be @ClientWidget(com.invient.vaadin.charts.widgetset.client.ui.VInvientCharts.class) .
Well what means exactly the problem “Widgetset does not contain implementation for com.invient.vaadin.charts.InvientCharts” :
-that the html/VAADIN/widgetsets/ have no ressource for the widget
-or the mapping is bad??
The server side component (InvientCharts) tells Vaadin that on the client side a VInvientCharts class should be used to show the component. When the browser gets the information that this class should be used it checks if the compiled widgetset (javascript) includes this client side class. If it does, everything works out fine. If it does not contain it, “Widgetset does not contain implementation for…” is rendered instead of the actual component.
Typically it is a problem in the compilation of the widgetset. You should check that during compilation you see
INFO: Widgetsets found from classpath:
com.vaadin.terminal.gwt.DefaultWidgetSet in […]
your.widgetset in [...]
com.invient.vaadin.charts.widgetset.InvientChartsWidgetset in [...]
and later
Widget set will contain implementations for following components:
[...]
com.invient.vaadin.charts.InvientCharts
[...]
The application is seen under Context path = /psmc (as set by Jetty).
I can see …/psmc/VAADIN/themes/my-chameleon/favicon.ico, but …/psmc/highcharts/highcharts.js does not show up in the browser (supposed to display it at all).
The structure follows what is under the add-on’s demo WebContent, just as servlet’s references to js libs.
(e.g. “./jquery/…”)
My guess as to why VAADIN is visible but the other resources are not: For security reasons, the Vaadin servlet only uses a classpath based fallback mechanism to serve static resources under /VAADIN (but not elsewhere). The question, though, is why they are not found and served before coming to the fallback branch…
Well, I have seen in another thread that putting js libs under VAADIN dir (of course by modifying references to them in servlet at the same time) solved a similar case.
And yes, it did for my problem too!
I wonder why following the demo application fails sometimes, though.