Force no use of cache: Chrome (Vaadin version upgrade)


Currently in my company we are using a Vaadin app with version 6.4.8 (main client browser is google chrome).
I am trying to update to vaadin 6.7.1, but some ui components does not work as expected (example: table).
This happen because the client browser cache.
After the cache is cleared all works fine.

There is a way to force no cache usage on client?

I already try two possible solutions:

  1. Apply this filter:
  2. Recompile the Widgetset with a new name.


Correct me if I’m wrong, but denying the browser to cache the widgetset will make it redownload the whole client side code on each session, wouldn’t it?
Instead, is there a way to force the widgetset update when a new version of application is released?
I.e. a special header that will be sent occasionally.

For the widgetset, using a new name for each Vaadin version would help if you want to avoid entirely such problems during the short migration time.

Recent Vaadin versions automatically append “?random_number” to the requests for the (small) widgetset loader JavaScript and the big parts of the widgetset are named with hashes so the next version is a different file - they can be cached safely, each version is cached separately. Thus, this problem should not occur anymore for widgetsets when upgrading between more recent versions.

At least for CSS (including Vaadin themes), Chrome sometimes disregards cache control information given earlier in the headers and just uses its cached CSS - before or without even asking the server about the CSS. Thus, the same problem can occur there regardless of what the server would return in the headers after upgrade, although it is less likely that there is a major breaking theme change unless making a big upgrade.

In practice, these problems only persist a short time after the upgrade, but in a testing environment one tends to notice them.