Vaadin 7.2 Theming

Hi Guys,

We’re probably a couple of months from moving our new Vaadin system into production. We’ve modified the theme from one of the Vaadin demos and it’s working reasonably well at the moment. As a mobile firm though we’re keen to hang on for responsive layouts before spending too much time on the theming.

I can see in the roadmap that 7.2 will have responsive layouts and better SASS theming. Could you please let us know when this will be ready for us use? We don’t mind working with a beta for a while as long as things are reasonably stable by the time we go into production.

Cheers,
Gareth.

I think the Responsive extension was merged yesterday, so it should be available in the 7.2-SNAPSHOT by now. Not sure if it works OK, haven’t tried it yet myself.

7.2.0.beta1 is scheduled for Friday and it should have it.

Unless someone broke things when merging the Responsive add-on, it should work very well. It’s been used in multiple projects already, and we’ve fixed all bugs those have brought up.

Note that the date (last Fri) for 7.2.0.beta1was postponed a little. We try to get it together soon, though, perhaps this week.

7.2 does improve the SASS compiler in several ways (missing features implemented, bugs fixed, sass compiler itself split to a separate project), but the new fully SASS-based theme that was originally planned for 7.2 has been moved to 7.3.

Hi Henri,

I am trying to integrate an front-end framework based on SASS, using the Vaadin 7.1.12 and i have an issue in the theme compilation process about the
SASS partials
. Is this issue is fixed in the 7.2 or is it already resolved in older versions? Because i found two tickets posting the same problem.


http://dev.vaadin.com/ticket/11748


http://dev.vaadin.com/ticket/10291?cversion=2&cnum_hist=4

I havent resolved this problem yet, and the
Vaadin Bootstrap project example
from Jounik has the same issue if i try to compile it using the 7.1.12
on the fly compilation
. I need help

Thanks

I’m not sure if it works with 7.1, but you could try replacing your vaadin-theme-compiler dependency with vaadin-sass-compiler 0.9.0. Vaadin 7.2 is migrating to use it, and perhaps it would also work with 7.1.

I replaced the theme compiler by the sass compiler from github, but the unique downloadable version 1.0.0.SNAPSHOT, and i received this message on-the-fly compilation:

java.lang.ClassNotFoundException: com.vaadin.sass.CustomConsoleHandler
java.lang.ClassNotFoundException: com.vaadin.sass.CustomConsoleHandler
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.util.logging.LogManager$4.run(LogManager.java:684)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.logging.LogManager.loadLoggerHandlers(LogManager.java:678)
    at java.util.logging.LogManager.initializeGlobalHandlers(LogManager.java:1249)
    at java.util.logging.LogManager.access$1300(LogManager.java:150)
    at java.util.logging.LogManager$RootLogger.getHandlers(LogManager.java:1332)
    at java.util.logging.Logger.log(Logger.java:564)
    at java.util.logging.Logger.doLog(Logger.java:586)
    at java.util.logging.Logger.logp(Logger.java:702)
    at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:183)
    at org.apache.juli.logging.DirectJDKLog.debug(DirectJDKLog.java:106)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1593)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
    at com.vaadin.sass.internal.ScssStylesheet.get(ScssStylesheet.java:113)
    at com.vaadin.sass.internal.ScssStylesheet.get(ScssStylesheet.java:93)
    at com.vaadin.server.VaadinServlet.serveOnTheFlyCompiledScss(VaadinServlet.java:796)
    at com.vaadin.server.VaadinServlet.serveStaticResourcesInVAADIN(VaadinServlet.java:601)
    at com.vaadin.server.VaadinServlet.serveStaticResources(VaadinServlet.java:571)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:231)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)

This issue seems easy to fix, but i dont know the way…

Hi, I think
this thread
has answer for those eagerly waiting for the new theme.

cheers,
matti

Hi,

I tried the new vaadin 7.2.0.beta1 and got the same exception.
I found this thread as I was looking for a solution.
To fix it I have created a “logging.properties” file in the root of my src folder with the following content:

handlers=java.util.logging.ConsoleHandler

For some reason, Jetty is not finding the custom console handler that is specified in the logging.properties file in the sass compiler. I haven’t seen the problem with other servers, but it might well occur on some others as well.

You can either use your own logging.properties or update the dependency to version 0.9.1 (which does not use the custom console handler) to get around this problem.

Hi Henri,
I have the same problem after upgrading my project to 7.2.0.beta1.
mvn dependency tree shows it uses 0.9.0

[INFO]
± com.vaadin:vaadin-server:jar:7.2.0.beta1:compile
[INFO]
| ± com.vaadin:vaadin-sass-compiler:jar:0.9.0:compile

can you upgrade it do get rid of the problem for the next beta? Or shall i create a ticket?

IMHO the sass-compiler should only be needed compile time, at least by default. I don’t see too many real use cases for compiling themes dynamically. I have been just
excluding it lately
. If you set up you theme development in a bit different way, this shouldn’t be an issue. It’ll also shring down the war size.

cheers,
matti

I created http://dev.vaadin.com/ticket/13651 to keep track, so that even when the compiler is part of server, it will work in maven build :slight_smile: