Themes not in directory structure

Hi, I’m new to Vaadin, so hope this isn’t too basic a problem.

I’m using Eclipse Indigo, on OSX with the Vaadin 6 and Google App Engine plug ins

If I create a new Vaadin project, leave Target Runtime blank and leave Deployment configuration as default, I am blessed with a WebContent folder which contains a META-INF and WEB-INF sub folders only.
However if I create a new Vaadin project and select Google App Engine servlet as the deployment configuration there is no WebContent folder. META-INF and WEB-INF are under war.

The book of Vaadin (Section 8.1, page 185) says custom themes and ‘normally’ the built in themes can be found in WebContents/Vaadin/Themes (note the s) and that allowing them to be loaded dynamically is inefficient.

My questions are

  1. Should the folder exist for Google App Engine projects?
  2. Is the folder called WebContent or WebContents?
  3. Do I need to extract the built in themes from vaadin-6.6.2.jar myself to ensure the most efficient performance?


Thanks for the tips on themes, but that wasn’t the question.

Why does the Vaadin book say the folder is called WebContents/VAADIN/themes/ and “…The folder should normally contain also the built-in themes…even though that is somewhat inefficient)” So if it is inefficient, what do I need to do to make the built in themes efficient?

And why is the folder called WebContent when it is created by Eclipse, not WebContents?

And why do I not get the folder when I select Google App Engine servlet as the deployment configuration?

You left out the critical part of the quote that tells what is inefficient: “The folder should normally contain also the built-in themes,
although you can let them be loaded dynamically from the Vaadin JAR
(even though that is somewhat inefficient).”

In general, when developing the application it is a very good idea
to copy the themes out of the JAR but letting e.g. your Tomcat serve them from the JAR. This way, you have no complications when upgrading Vaadin etc.

When deploying the application for production for a large number of users or on the public Internet, you should copy the static resource directory VAADIN out of the JAR and to be served by e.g. Apache, which can then do it much more efficiently than Tomcat from the JAR. However, if you do so, you
update the extracted static resources every time when e.g. upgrading Vaadin.

WebContent is a standard part of an Eclipse Web Tools Platform project as well as many other systems and projects producing WAR files. However, Google App Engine does not use the WTP project structure but rather its own that is similar to the structure of a Maven project. The corresponding directory is there, but with a different name (“war” if I remember correctly - I have not touched GAE in the last year or so).

ticket #7239
to fix the documentation - should be WebContent.