Search code examples
themesliferaytomcat7tomcat6facet

How does Liferay knows theme is incompatible with it?


I have theme that runs ok on Liferay 6.1 / Tomcat 7.

I have tried to migrate this theme to Liferay 6.1 / Tomcat 6.

The only change I made was changing web module facet to 2.5

<installed facet="jst.web" version="2.5"/>

When this theme is deployed, Liferay writes

17:09:33,756 ERROR [ContainerBackgroundProcessor[StandardEngine[Catalina]]][ThemeLocalServiceImpl:490] Themes in this WAR are not compatible with Liferay Portal Community Edition / 6.1.1

It can't react on facet record since project configuration file does not reach server on deploy.

How, how can Liferay think this theme is not his?


Solution

  • Took a peak at ThemeLocalServiceImpl:490 and it looks like it doesn't have anything to do with the facet but has to do with some properties.

    Extract the WAR or view your code and find liferay-plugin-package.properties

    Ensure that the property liferay-versions is not set or set to the version of your portal. The easiest way is to write to cover all 6.1 versions:

    liferay-versions=6.1.0+
    

    Next make sure to copy these settings over to liferay-look-and-feel.xml if the file exists. It should look something like this:

    <look-and-feel>
        <compatibility>
            <version>6.1.0+</version>
        </compatibility>
        <theme id="sample-theme" name="Sample Theme">
        </theme>
    </look-and-feel>
    

    This should fix the issue you're having as long as you're deploying to a 6.1 portal.