Upgrading to Vaadin 7 -- tips from the trenches?

We’d like to consider moving from Vaadin 6 to Vaadin 7, but wonder what sort of wisdom from the trenches is out there.

  1. For most projects, are people creating a new code repository based on their Vaadin 6 code base to then do the work for Vaadin 7, or are they just upgrading their project directly? We use Eclipse if that matters.

  2. Can a single instance of Eclipse support the development of Vaadin 6 and Vaadin 7 apps at the same time? Is there any conflict that might arise? I suspect, like most, that porting to Vaadin 7 will take some time and that we’ll need to not only work on the migration, but also come out with release/patches on the current Vaadin 6 apps.

  3. We have contributed the CKEditor for Vaadin add-on, and would like to get it upgraded as well, but we ourselves cannot truly migrate to Vaadin 7 yet because another add-on, TableExport, appears to have no v7 capability yet. So we’re waiting on them, others are probably waiting on us, etc. We don’t want to slow down the Vaadin 7 adoption so hope there’s an easy way to deal with developing both v6 and v7 on the same instance of Eclipse.

  4. How good are the migration docs? Would most people suggest doing the quick and dirty scheme of trying to migrate, or is it better to bite the bullet and use the effort to switch the UI/navigation/etc to make use of Vaadin 7’s new scheme?

We’d love to get feedback, tips/tricks, and any other links that would be helpful to migration of both our main app as well as our add-on (seems like the new javascript interfaces for add-ons may make more sense when integrating CKEditor than what we had before). Thanks!

Few points from my experience:

I almost migrated my application (a fairly big one) from v6 to v7. I was seriously working on it for the last couple of weeks.

If you are using Eclipse, you can support both the versions without any conflicts. I have both projects in the same Eclipse. (I had the same doubts and tried it out on a separate machine to make sure that everything works!).

In my application, I had my own implementation of Property and Container implementations and I didn’t face with any issues there. I had to tweak few things to make everything better. Also, I created a Form by extending FieldGroup and did not use the legacy Form.

Quite a few of my data entry stuff was dependent on a special CustomField I had developed by customizing the CustomComponent in v6. It was somewhat proprietary and was designed specifically for my project. Now, with v7, I changed it to use the CustomField provided in the core. In v7, I really love the support for generics in all Fields.

There were some minor changes and additions in certain areas like File upload/download, use of Resource etc. So, if you have used it heavily, you may have to make sure that everything works there.

Fortunately, I always kept data and UI layers separately and that really helped. Now, I have v6 version and v7 version of the UI and everything else is same. Currently, the same tomcat is serving both the versions of my application!


Let me state from the outset I have not used Vaadin 7 at all yet - I plan to, but it’s a case of getting the time!

However, regarding the TableExport plugin - I am fairly sure that it’s based on some code I posted on these forums, and there is no client side component (I’ve just checked on the source code
and can confirm that there is no GWT/clientside code in it al all).

I am fairly sure (well, am strongly hoping) that there are no major changes to the Table for v7, so I believe that the TableExport plugin should work just fine in v7.

HTH a little,