Page tree
Skip to end of metadata
Go to start of metadata

Web add-ons are standard war files. The files included in the war file will be copied onto Soffid console war file.

In order to keep compatibility between add-ons, it's forbidden to overwrite existing file. Instead, the war file can contain xslt files to modify existing xml ones.

As an example, the following menu.zul.xsl allows the identity federation add-on to create a menu entry on menu.zul file:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:zul="http://www.zkoss.org/2005/zul">
	<xsl:template match="zul:tree/zul:treechildren/zul:treeitem[3]" priority="3">
		<xsl:copy>
			<xsl:apply-templates select="node()|@*" />
		</xsl:copy>
			
			<zul:treeitem open="false" >
				<zul:treerow >
					<zul:treecell label="Federation menu" onClick="self.parent.parent.open=!self.parent.parent.open"/>
				</zul:treerow>
				<zul:treechildren>
					<zul:treeitem>
						<zul:treerow>
							<zul:apptreecell label="Federation management"
								pagina="addon/federation/federacio.zul" />
						</zul:treerow>
					</zul:treeitem>
				</zul:treechildren>
			</zul:treeitem>
	</xsl:template>
 
	<xsl:template match="node()|@*" priority="2">
		<xsl:copy>
			<xsl:apply-templates select="node()|@*" />
		</xsl:copy>
	</xsl:template>
</xsl:stylesheet>

There is an special file named iam-label.properties. It contains the console localized labels, accessible via ${c:l EL expression or Labels class. This file, and all its localized versions will be merged automatically with existing iam-label.properties to create a new one.

 

  • No labels