Upgrade skin from v3.3 to v3.4

  1. FAQ
  2. Service migration
    1. Front search service
  3. New XSL architecture
    1. html-hierarchy.xsl
    2. docbook2html.xsl
    3. Service common includes

FAQ

If you have the FAQ plugin, the answer field is now a rich text (versus a simple text in the previous version).

So in the rendering XSL (located in the " stylesheets/content/faq/faq.xsl" skin folder), code was before :

<p class="anwser">
	<xsl:call-template name="text.nl2br">
		<xsl:with-param name="input"><xsl:value-of select="answer"/></xsl:with-param>
	</xsl:call-template>
</p>      


And is now

        
<div class="answer"> 	        
	<xsl:call-template name="common-content-body-content-rich">
		<xsl:with-param name="content" select="answer"/>
		<xsl:with-param name="level" select="2"/>
	</xsl:call-template>         
</div>              
<div class="content-richtext-end"><xsl:comment>empty</xsl:comment></div>

So you may need to adjust your CSS.

And if you have overriden this rendering XSLT, you have to adjust the code this way.

Service migration

Front search service

The front search criteria service has been merged into the front search service. As a consequence, the "search-criteria" directory, containing the "search-criteria.xsl" and "search-criteria_3.3.xsl" stylesheets, has been moved from "pages/services" to "pages/services/search" (in the web plugin).

This change must be reflected on the skin: the "search-criteria" directory, located in the "services/web/pages/services" skin folder, has to be moved to the "services/web/pages/services/search" folder.

Old layoutNew layout

New XSL architecture

html-hierarchy.xsl

The html-hierachy.xsl file has been moved from the web workspace to the cms plugin. In every XSL file (in plugins and in skins), all references to "workspace:web://stylesheets/helper/html-hierarchy.xsl" have to be replaced by "plugin:cms://stylesheets/helper/html-hierarchy.xsl".

docbook2html.xsl

In each skin that possesses a docbook2html.xsl file located in the stylesheets/io folder, a reference to the web plugin's docbook2html.xsl file must be made, like:

<xsl:import href="plugin:web://stylesheets/io/docbook2html.xsl"/>

N.B: all I/O styleshets (docbook2xxx.xsl, html2xxx.xsl, htmleditor2xxx.xsl) have been moved from the "stylesheets" folder to the "io" subfolder.

Service common includes

The files located in "services/web/stylesheets" should be copied to the "stylesheets" folder:

  • "services/web/stylesheets/utils.xsl" should be copied to "stylesheets/utils.xsl"
  • "services/web/stylesheets/content/common.xsl" should be copied to "stylesheets/content/common.xsl"

All inclusion of these files in XSL stylesheets with "service:web://" should be replaced by "view://", as follows:

  • All occurrences of "service:web://stylesheets/utils.xsl" becomes "view://stylesheets/utils.xsl"
  • All occurrences of "service:web://stylesheets/content/common.xsl" becomes "view://stylesheets/content/common.xsl"

To avoid any invalid reference to these files, both original files (the ones in "services/web/stylesheets") should be emptied and modified to include a reference to the new location ("stylesheets" folder), as follows:

services/web/stylesheets/utils.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    
    <!-- Import "skin://stylesheets/content/common.xsl" in the second file. -->
    <xsl:import href="skin://stylesheets/utils.xsl"/>
    
</xsl:stylesheet>