Need Help: Problem using TreeTable Add-on With Liferay Portal

Hi,

I’m developing a Vaadin Portlet using Vaadin 6.6 and TreeTable 1.2.0. I downloaded and copied “vaadin-treetable-1.2.0.jar” to my Eclipse Project WebContent/WEB-INF/lib directory, I did Widgetset compilation as:

Updating GWT module description file…
May 25, 2011 3:56:57 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Widgetsets found from classpath:
com.vaadin.terminal.gwt.DefaultWidgetSet in jar:file:D:/vaadin6.6/vaadin66Workspace/meditopia_portlet/WebContent/WEB-INF/lib/vaadin-6.6.0.jar!/
com.huawei.meditopia.admin.widgetset.Meditopia_portletWidgetset in file://D/vaadin6.6/vaadin66Workspace/meditopia_portlet/src
com.vaadin.addon.treetable.TreetableWidgetset in jar:file:D:/vaadin6.6/vaadin66Workspace/meditopia_portlet/WebContent/WEB-INF/lib/vaadin-treetable-1.2.0.jar!/

May 25, 2011 3:56:57 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Search took 0ms
Done.
Starting GWT compiler
May 25, 2011 3:57:14 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getPaintablesHavingWidgetAnnotation
INFO: Searching for paintables…
May 25, 2011 3:57:15 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getPaintablesHavingWidgetAnnotation
INFO: Search took 1216ms
Widgetset compilation completed

I copied the generated VAADIN/widgetset/* to Liferay Portal html/VAADIN/widgetset directory, then I deployed my Vaadin Application WAR file to Liferay as a Portlet, but I got the following error messages in my portlet window:

===========================================================================================
Widgetset does not contain implementation for com.vaadin.addon.treetable.TreeTable. Check its @ClientWidget mapping, widgetsets GWT module description file and re-compile your widgetset. In case you have downloaded a vaadin add-on package, you might want to refer to add-on instructions. Unrendered UIDL:
com.vaadin.addon.treetable.TreeTable(NO CLIENT IMPLEMENTATION FOUND)

Looking at the generated widgetset xml file:

<?xml version="1.0" encoding="UTF-8"?>
<!--
 Uncomment the following to compile the widgetset for one browser only.
 This can reduce the GWT compilation time significantly when debugging.
 The line should be commented out before deployment to production
 environments.
 
 Multiple browsers can be specified for GWT 1.7 as a comma separated
 list. The supported user agents at the moment of writing were:
 ie6,ie8,gecko,gecko1_8,safari,opera

 The value gecko1_8 is used for Firefox 3 and later and safari is used for
 webkit based browsers including Google Chrome.
-->
<!-- <set-property name="user.agent" value="gecko1_8"/> -->

<inherits name="com.vaadin.addon.treetable.TreetableWidgetset" />
==========================================================

I’m also wondering whether there is a default “com.vaadin.addon.treetable.TreeTable” WidgetSet need be downloaded and installed?

Any tip or suggestion is really appreciated.

Thanks in advance!

Jian

No - an application uses exactly one compiled widgetset - your widgetset - which is compiled from all the “widgetset fragments” and related source code in add-ons based on what your widgetset imports. You do not need to deploy anything else in the widgetsets directory.

Only one widgetset can be in use on a page at a time. Therefore, on Liferay, a shared setting on the portal normally selects the widgetset to be used by all portlets. Otherwise, the widgetset to use is selected in portlet.xml .

Normally the easiest way to recompile the widgetset for Liferay with add-ons is the
Liferay Control Panel add-on
. However, there is no Vaadin 6.6 compatible version of it yet (needed because of GWT 2.3 packaging changes) - the old version might work but will give a lot of error messages that you can probably ignore.

Hi Henri,

Thanks a lot for your reply!

Is there a way I can configure my portlet.xml for my portlet to use TreeTable add-on? Or I have to wait for new Liferay Control Panel to re-compile TreeTable add-on?

Any tip or suggestion is really appreciated.

Jian

An old thread, but in case you have not seen it yet (or someone else stumbles upon this thread), a new version of the
Vaadin Control Panel for Liferay
has been available already for a while with support for Vaadin 6.6.

Hello Jian Wu,

Did you recompile the widgetset after switching the vaadin jar? When you compile a widgetset it takes all the vaadin core component’s AND the add-ons client side and compiles it to one set of js/html files. This means that if you don’t recompile, you’ll have the client side of Vaadin 6.6 and the server side also. If you remove the compiled widgetset, Vaadin will use the widgetset it has inside the vaadin jar, and the version numbers will match, but the add-ons client side won’t be in there.

Otherwise, liferay, make sure you have compiled the widgetset using the vaadin control panel and make sure all permutations complete before closing the page.

I hope this helps!

Regards
Kevin Thomas
Attune Infocom Inc
Email : contact@attuneinfocom.com

Liferay Portlet