Full update of Vaadin in Control Panel for Liferay

Hi

I’ve been dealing today with Liferay 6.0.6 and Vaadin 6.6.6. Liferay 6.0.6 is shipped with Vaadin 6.4.10. The process to upgrade Vaadin to 6.6.6. Control panel, before any upgrade, says gwt 2.0.4 is not available, so control panel cannot recompile widgetsets until downloaded gwt jars, but even after download, recompile fails.

I think control panel could full upgrade itself and all installed portlets with the new or user selectable vaadin version, including gwt. I think it would make Vaadin life in Liferay easier.

Another point to be aware is there are breaks in the components depending on the Vaadin version. For instance, InlineDateField for Vaadin 6.6.6 cannot be rendered with Vaadin 6.4.10.

Aniceto

Which version of the Control Panel are you using? The 0.9 version should download the correct GWT version automatically.

Control panel 0.9 is self-contained in that it does not depend on other Vaadin resources on the portal (upgrading Vaadin will not break it, …). Control panel 1.0 will support upgrading a Liferay installation to the latest stable version of Vaadin from the UI. However, the user does need to fix any incompatibilities and re-deploy the portlets due to the (application server dependent) steps Liferay takes at deployment time. There will be a warning about that in the control panel.

As for API incompatibilities, we try to minimize them in minor versions - there should be very few instances where public API is broken e.g. between 6.5 and 6.6. The widgetset, however, must be recompiled to match the Vaadin version in use.

Easy to check: get a fresh Liferay, get control panel. In control panel will say there is no gwt 2.0.4 jars. Click on “Download gwt” and you can see which gwt version it downloads.

Aniceto

That is exactly what I was expecting: full Vaadin upgrade from the control panel includying gwt and recompilation.

What will happen with portlets deployed later? Will they use the portal Vaadin version at deploy time? Obviously new addons must be deployed in a common location.

Has been considered to deploy addons using the control panel and perform an auto recompilation?

Has the control panel a hook to detect new Vaadin applications for it to detect widgetsets and copy/move them to the right place and recompile them?

I think Vaadin apps should have a mark at any place for the control panel be able to detect the Vaadin version compatibility and show a list of incompatibilites with portal Vaadin version. A more verbose view could show incompatibilities for every Vaadin version detected in the portal and for the latest stable Vaadin version.

Is there any roadmap for control panel?

Thanks

There is a common location for new add-ons, I believe it is mentioned both in the control panel documentation and in the control panel itself.

When a portlet is deployed to Liferay (at least when using Tomcat as the server), its dependencies (based on liferay-plugin-package.properties as well as possibly some implicit ones from Liferay) are copied from the portal to the deployment directory.

This has been discussed, but I cannot find a ticket for it right now. You could
create an enhancement request
for uploading add-ons via the control panel.

More complex cases with dependencies might have to be handled by copying files, though.

No - normally all Vaadin applications on a portal use a single shared widgetset that is selected on the portal level. Exceptions to this must be explicit and are currently handled by the user.

How would you propose to implement this and obtain such a list of incompatibilities?

Not really - the Vaadin upgrade feature is almost implemented but needs more testing and there have been many other higher priority projects open.