Webinar: What's new in Vaadin 8?

What’s new in Vaadin Framework 8 and how do you get the most out of it? Join the project’s lead developer Pekka Hyvönen and Developer Advocate Matti Tahvonen in a discussion and presentation about Vaadin 8. Ask any questions beforehand or during the webinar and we’ll answer them. Sign up to ensure your spot!

Webinar takes place on Tuesday March 7, 2017 @ 2PM CET


for other past and upcoming webinars.

You can post your questions below, thank you!


I’m trying the new HTML 5 history functionnality with Spring Boot, it works well, but when I’m refreshing the page with a context (added with the history API, e.g. http://localhost:8080/user), I got an 404 error because of Spring looking for the context /users

How can I solve this ? How can I tell Spring to delegate the URI management to Vaadin ?


31224.zip (104 KB)

hi .

If we migrate a Vaadin 7 project into 8 and we want to use both 7 (to stay compatible) and 8 features, then we have to use both the vaadin-compatibility-XXX.jars and the new vaadin-XXX jars or only the vaadin-compatibility-XXX.jars?
Thanks in advance!


I’ve tried to migrate my
to vaadin 8 and got a lot of issues to get everything done.

Could you please explain your idea of using the grid in real-live examples. For example a grid with custom ColumnRenders, Filtering etc. The API of the grid confused me a lot - especially the mixing of ValueProvider and propertyName for column handling. Furthermore the PropertySet that is instantiated within the constructor is not accessible from outside.

Thanks in advance!

How to bind nested beans in grid, and how to add a custom column to the grid which may contain a custom component (e.g: HorizontalLayout of many components).

There was already so many questions in the sign up form, that we probably cannot tackle all of them or the ones here during the live webinar, but feel free to post the questions here (or as a separate threads to the forum) and we’ll try to answer them after the webinar.


Just started learning Vaadin. Looking for Best Practices using Vaadin with EclipseLink. We will need to develop dynamic tables with custom editors/renders. Dialogs invoked from tables (or should grids be the focus).

I know 8.1 is in the pipline and am very keen for TreeGrid to be v 8 comliant but not sure when I will get this and what else will be in the same release. Could you publish a road-map on your web-site somewhere showing planned releases and content please for say the remainder of this year?

Could you guys post this source code in github and provide the link so that other people can follow your code.

The AbstractComponent.setImmediate(boolean) method gone. Is every component is immediate = true? The setReadOnly(boolean) also disappeared. Why?

Is Calendar component will be availabale in v 8.1? we really need it.

I cannot guarantee that, but we have that as a
for 8.1 currently. Please go +1 https://github.com/vaadin/framework/issues/8217

EDITED: The Calendar component is still available in the compability packages, but it doesn’t have any API changes / updates compared to 7.7 version.

Yes, all components are now immediate, and you cannot change that. The only component that actually still has a immediate mode, is the Upload component, where there is also a difference in the UX of the component.

The read-only has been moved from
to the
interface (implemented by all field components), as it only makes sense for components that allow the user to edit a value. It has no sense for e.g. a Label…

From the webinar, my first example is available in
the whatsnew page

The application that Matti migrated from V7 to V8 is available in
Spring Guides
, you can find
the source code from git

For 8.1 the

  • TreeGrid and HierarchicalDataProvider
  • Components in Grid
  • HTML5 drag and drop support
  • DND of Grid’s rows
  • Better OSGi support (Liferay 7)
  • Other things are considered, but no guarantees at this point
    Currently it looks like it would be release in May, meaning that a beta would be out in April. This is the current plan, and it can change.

For rest of the year and long term roadmap, there will be announcements in due time, most likely in the blog. You can always refer to https://vaadin.com/roadmap to the most up-to-date information.

As seen from the webinar, you just need to use the compatibility ones as they depend on the “actual” V8 ones. Once you’ve migrated everything to V8 (no com.vaadin.v7.* imports), then you can switch to use the non-compatibility jars.

TL;DR: Not sure I can really explain anything better than what is in our documentation, so please refer to
data provider

We probably didn’t touched this enough in the webinar, but basically the Grid has two flavours. Reading all the properties from the bean (using the constructor accepting the bean class), or defining columns per ValueProvider callbacks. For the bean based grid, the
of the column is the same as the property name in the bean. For the value provider based grid, you can define the id of the column using
in case you need to configure it more later on and don’t want to store it separately.

Not sure what you mean with the PropertySet, there is a static builder method Grid.withPropertySet where you can provide your own set of properties to use, instead of using all properties.

For custom column compontents, you can use the
build-in renderers
or build your custom one. The directory has some addons with more renderer implementations, hopefully migrated to support 8. As mentioned in the webinar, the components in grid allows you to have any component in any cell in the grid, and is being currently developed for 8.1.

editor fields for each column
in the grid’s inline editor can be customized.

A note of caution with EclipseLink regarding issues with Java 8 Stream API (since I believe Vaadin 8 relies on streams under the hood). Make sure to use the latest version of EclipseLink and verify that you are not being affected by this bug.
Apparently it is fixed in 2.7.0 but hasn’t been formally released yet (nightly builds are available).


Or maybe consider another ORM provider such as DataNucleus.