<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2650.12">
<TITLE>Workplace Performance</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2 FACE="Arial">Hi,</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I have found a performance problem with the OpenCms WorkPlace. Every time the class CmsXmlWpTemplateFile is created, it creates a new instance of CmsXmlLanguageFile. On creation CmsXmlLanguageFile, parses the appropriate language file for the current user. Parsing the language file is a slow process, it takes about 1.5 seconds. An instance of CmsXmlWpTemplateFile is created for each request to the CMS, even if the request is for an image. This drastically reduces the performance of the CMS. A temporary fixed is shown in the code below. This code will fix the language used by WorkPlace to the default language (German). If you wish to use English, you will need to change the default language to English.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">Regards Shaun</FONT>
</P>

<P><B><FONT SIZE=2 FACE="Arial">class CmsXmlWpTemplateFile</FONT></B>
<BR><FONT SIZE=2 FACE="Arial"> </FONT>
<BR><FONT SIZE=2 FACE="Arial">    static private CmsXmlLanguageFile m_languageFile = null;</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">    public void init(CmsObject cms, CmsFile file) throws CmsException {</FONT>
<BR><FONT SIZE=2 FACE="Arial">        if(m_languageFile == null)</FONT>
<BR><FONT SIZE=2 FACE="Arial">        {</FONT>
<BR><FONT SIZE=2 FACE="Arial">                m_languageFile = new CmsXmlLanguageFile(cms);</FONT>
<BR><FONT SIZE=2 FACE="Arial">        }</FONT>
<BR><FONT SIZE=2 FACE="Arial">        super.init(cms, file);</FONT>
<BR><FONT SIZE=2 FACE="Arial">    }</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">    public void init(CmsObject cms, CmsFile file) throws CmsException {</FONT>
<BR><FONT SIZE=2 FACE="Arial">        if(m_languageFile == null)</FONT>
<BR><FONT SIZE=2 FACE="Arial">        {</FONT>
<BR><FONT SIZE=2 FACE="Arial">                m_languageFile = new CmsXmlLanguageFile(cms);</FONT>
<BR><FONT SIZE=2 FACE="Arial">        }</FONT>
<BR><FONT SIZE=2 FACE="Arial">        super.init(cms, file);</FONT>
<BR><FONT SIZE=2 FACE="Arial">    }</FONT>
</P>

<P ALIGN=CENTER><B><FONT FACE="Tahoma">Shaun Kelly</FONT></B></P>

<P ALIGN=CENTER><B><FONT FACE="Courier New">S</FONT><FONT FACE="Courier New"></FONT> <FONT FACE="Courier New">P</FONT><FONT FACE="Tahoma"></FONT> <FONT COLOR="#0000FF" FACE="Courier New">I</FONT><FONT FACE="Tahoma"></FONT> <FONT FACE="Courier New">K</FONT><FONT FACE="Tahoma"></FONT> <FONT FACE="Courier New">E</FONT></B></P>

<P ALIGN=CENTER><FONT SIZE=2 FACE="Tahoma">Email:  shaun.kelly@spike.com.au</FONT></P>

<P ALIGN=CENTER><FONT SIZE=2 FACE="Tahoma">Ph:     61 2 8584 8584</FONT></P>

<P ALIGN=CENTER><FONT SIZE=2 FACE="Tahoma">Fax:    61 2 8584 8500</FONT></P>

<P ALIGN=CENTER><FONT COLOR="#FFFFFF" SIZE=2 FACE="Verdana">L O S  A N G E L E S  T O K Y O</FONT><FONT SIZE=2 FACE="Verdana">  S Y D N E Y  </FONT><FONT COLOR="#FFFFFF" SIZE=2 FACE="Verdana">M E L B O U R N E  A U C K L AN D</FONT></P>
<BR>

</BODY>
</HTML>