The eXo Platform skin is processed by SkinService. It is used to discover and deploy skins into the portal.
eXo Platform has a file descriptor for skins (WEB-INF/gatein-resources.xml
) which is to
specify which portal, portlet and window decorators are deployed into SkinService. eXo Platform can automatically
discover web archives containing this gatein-resources.xml
file.
The full schema can be found in lib/exo.portal.component.web.resources-x.x.x.jar!/gatein_resources_1_3.xsd
or at
http://www.gatein.org/xml/ns/gatein_resources_1_3.xsd.
Here is the gatein-resources.xml
file of a sample skin (called "MySkin") which defines the portal skin with its CSS location, portlet windows and portlet skins:
<gatein-resources>
<!-- define the portal skin -->
<portal-skin>
<skin-name>MySkin</skin-name>
<css-path>/skin/myskin.css</css-path>
<overwrite>false</overwrite>
</portal-skin>
<!-- define the portlet skin -->
<portlet-skin>
<application-name>web</application-name>
<portlet-name>HomePagePortlet</portlet-name>
<skin-name>Default</skin-name>
<css-path>/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css</css-path>
<overwrite>false</overwrite>
</portlet-skin>
</gatein-resources>
In which:
<portal-skin>
is the root element that declares the site skin, including:
<skin-name>
is the identifier of the skin.
<css-path>
is the path to the CSS file which defines the stylesheets of the site.
<overwrite>
is the property that defines if the site skin can be overwritten or not.
The "true" value means that the skin can be overwritten by the other which has the same skin name.
<portlet-skin>
is the root element that declares the portlet skin, including:
<application-name>
is the context name of web application that contains the portlet declared in <portlet-name>
.
<portlet-name>
is the identifier of the portlet.
<css-path>
is the path to the CSS file which defines the stylesheets of the portlet.
<overwrite>
is the property that defines if the portlet skin can be overwritten or not.
The "true" value means that the skin can be overwritten by the other which has the same skin name.