Vaadin 6 to Vaadin 7

Hi All,

Our team recently decided to use Vaadin framework to develop a small web application.

We are still in the beginning stages of the application development,
We expect our application to be rolled out in third quarter of 2012.

Now how difficult will it be to upgrade from vaadin 6 to vaadin 7. I saw some key changes in Vaadin 7, we are bit worried about the upgrade.
And will the existing addons work with vaadin 7 ??

thanks,
Deepak

While I can’t answer your first question, your second was answered not long ago
here

Thank you for the link !!

Hi,

Here’s the wiki page that (I think) will contain information about the migration steps. Now it contains details for the first alpha version:
http://dev.vaadin.com/wiki/Vaadin7/MigrationGuide
.

One of the goals with Vaadin 7 is that we should fix things that can not be done in lesser releases as they would break backwards compatibility. We do however still carefully weight the benefits of making such changes against the effort required for migrating from Vaadin 6 to Vaadin 7.

For the breaking changes we have designed or implemented so far, all “normal” application code should be easily migrated with simple mechanical replacement steps. There are some changes that would require more thorough changes to the way things are done in applications, but we have so far provided legacy wrappers simulating the old approaches in such cases.0

The situation for add-ons depends on what the add-on does. Anything with client side code will require at least some small changes, probably only simple replacements. Add-ons that have changed with the way data is sent between the server and the browser will probably require some major overhauling because we are now designing proper APIs for extending those parts of the framework, whereas the current add-ons have only been hacked to integrate into whatever has been available.

The development team is usually the first ones to discover the pains of migration, as we have to update all our tests whenever we introduce breaking changes.

thank you all for the information. :slight_smile:

Could you explain what the situation with the Pro Addons is? At the moment they are all incompatible with Vaadin 7 and that is what prevents us from testing Vaadin 7 because we need the JPAContainer and can’t develop further without the ability to do automated GUI Tests.

The official statement is that Vaadin Pro Add-ons will be officially compatible with Vaadin 7 when first stable release is out.

The order which we will be porting Pro Add-ons to Vaadin 7 is: JPAContainer, Timeline, TouchKit, Calendar.

Unofficially speaking JPAContainer should be already usable with Vaadin 7 with minimal or no changes. In case there are some problems they can be reported to
Vaadin trac

In case you are urged to migrate to Vaadin 7 now, you can always subscribe to Pro Account and harness Vaadin experts to fix any incompatibility you might discover in migration. With Pro Account Support Request you can get Vaadin team to solve any issues found and have access to JPAContainer custom builds.

Thx for your quick answer. Could you tell something about the status of TestBench, too?

We are internally using TestBench to test Vaadin core.

Testing of tooltips with Vaadin 7 does not work in the current release version of TestBench (fixed internally, will be in next TestBench release) but otherwise the latest TestBench should support Vaadin 7 quite well.

thx Henri that should be OK for us.

Hi Vaadin devs!

While I loved Vaadin development since last 2 yrs.
It was painful - while I started migration from Vaadin 6 to 7.

Vaadin 7 has lost few good things-

  1. no more terminalERROR method- I overrided this so that no errors are seen on UI and they get logged at back end

  2. In Vaadin 6, we had windows which was set as content in Application class. This helped attaching closelistener to the window and track closing of browser and change of screens. No replacement in Vaadin 7 for Session/UI closing.

  3. In Many places we had to write javascripts in Vaadin 7 which was not true with vaadin 6.

Although, Vaadin 7 has bought good new apis/ amazing look and feel styles, but I must admit it lost few very important functionalities for web based frameworks :frowning:

Thanks,
NS

Can’t say anything to 1 as I wasn’t using this method in my applications

2: You can attach a Detachlistener to the UI (Information
https://vaadin.com/wiki/-/wiki/Main/Cleaning+up+resources+in+an+UI
). For the change of screens thing there is the Navigator component where you can build your application “screens” using Views and then handle the changing using the navigator… Other then that you should be able to do the same things you did in V6. Just use a Panel instead of a Main Window and add it to the UI.

  1. Where for example? Did the same thing work in Vaadin 6 without JS? I never run into a problem where i had to use JS and didn’t so in V6. On the other hand it got way easier to even integrate JS in V7.

Hi Marius, Thanks for ur reply!

On Point#1:: It was a very imp functionality if u do not want to display any error traces on a component

On Point #2:: It doesnt work when the browser is closed or we navigate from one UI to another

On Point# 3 :: :i used “window.open” to open a url in new browser window and many more

Few more concerns in Vaadin 7 i would like to highlight-

  1. LazyLoadWrapper is completely non-working in Vaadin 7 (already discussed in many other threads)
  2. JavaScript Error on table with a lot of data which takes time to paint on screen. Still figuring the issue.
  3. setitemdatasource fails in a very important case
    scenario:: the bean that is set in datasource if has a getXYZ method, it calls that function as well. Although it should consider only the variable - so that we add “removeitemproperty”

Thanks,
NS

Hi,

Join Sebastian and Ville from Vaadin on a webinar on how to migrate from Vaadin 6 to Vaadin 7.

Place & Time: Online Webinar on Thursday October 2nd 2014 @ 3PM CET
Duration: 45min.


See more at webinar page