<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Analyse This &#187; BI Server</title>
	<atom:link href="http://www.prashantraju.com/category/pentaho/bi-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.prashantraju.com</link>
	<description>The Trials and Tribulations of a Data Analyst</description>
	<lastBuildDate>Wed, 13 Apr 2011 10:00:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Pentaho 3.7 with MySQL, PostgreSQL, Oracle and SQL Server.</title>
		<link>http://www.prashantraju.com/2010/12/pentaho-3-7-with-mysql-postgresql-oracle-and-sql-server/</link>
		<comments>http://www.prashantraju.com/2010/12/pentaho-3-7-with-mysql-postgresql-oracle-and-sql-server/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 01:47:23 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.prashantraju.com/?p=1633</guid>
		<description><![CDATA[This guide has been updated and works with the latest version of Pentaho BI Server 3.7.]]></description>
			<content:encoded><![CDATA[<p>This <a title="Projects -  Pentaho" href="../projects/pentaho/" target="_self">guide</a> has been updated and works with the latest version of <a href="http://sourceforge.net/projects/pentaho/files/" target="_blank">Pentaho BI Server 3.7</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/12/pentaho-3-7-with-mysql-postgresql-oracle-and-sql-server/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Pentaho 3.6 with Microsoft SQL Server</title>
		<link>http://www.prashantraju.com/2010/08/pentaho-3-6-with-microsoft-sql-server/</link>
		<comments>http://www.prashantraju.com/2010/08/pentaho-3-6-with-microsoft-sql-server/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 10:22:30 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.prashantraju.com/?p=1615</guid>
		<description><![CDATA[Yep, you read right, I have now updated the guide so that it now includes Microsoft SQL Server 2005+. Big thanks goes out to Roland Bouman who sent me the necessary configurations files and drivers needed for this to work, so head over to his blog and give him a hug or just thank him. [...]]]></description>
			<content:encoded><![CDATA[<p>Yep, you read right, I have now updated the guide so that it now includes Microsoft SQL Server 2005+. Big thanks goes out to <a href="http://rpbouman.blogspot.com/">Roland Bouman</a> who sent me the necessary configurations files and drivers needed for this to work, so head over to his blog and give him a hug or just thank him.</p>
<p>You can grab a copy of the guide in Google Docs format and the SQL Script Pack at the <a href="http://www.prashantraju.com/projects/pentaho/">projects page</a>.</p>
<p>As always please let me know if you find any errors and also if you would like to see any further additions to guides and support for other databases.</p>
<p>Prashant.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/08/pentaho-3-6-with-microsoft-sql-server/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Pentaho 3.6 with MySQL, PostgreSQL &amp; Oracle.</title>
		<link>http://www.prashantraju.com/2010/06/pentaho-3-5-with-mysql-postgresql-oracle/</link>
		<comments>http://www.prashantraju.com/2010/06/pentaho-3-5-with-mysql-postgresql-oracle/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 21:00:48 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://localhost/analysethis/?p=88</guid>
		<description><![CDATA[Updated 16/06/2010 This guide has been tested and works with the latest version of Pentaho BI Server 3.6. Updated 28/02/2010 This guide has been tested and works with the latest version of Pentaho BI Server 3.5.2. Updated 09/02/2010 All the guides have been updated as well as the MySQL and PostgreSQL SQL Packs. I have [...]]]></description>
			<content:encoded><![CDATA[<h3>Updated 16/06/2010</h3>
<p>This <a title="Projects -  Pentaho" href="http://www.prashantraju.com/projects/pentaho/" target="_self">guide</a> has been tested and works with the latest version of <a href="http://sourceforge.net/projects/pentaho/files/" target="_blank">Pentaho BI Server 3.6</a>.</p>
<p><span id="more-88"></span></p>
<h3>Updated 28/02/2010</h3>
<p>This <a title="Projects -  Pentaho" href="http://www.prashantraju.com/projects/pentaho/" target="_self">guide</a> has been tested and works with the latest version of <a href="http://sourceforge.net/projects/pentaho/files/" target="_blank">Pentaho BI Server 3.5.2</a>.</p>
<h3>Updated 09/02/2010</h3>
<p>All the <a title="Projects - Pentaho" href="../projects/pentaho/" target="_self">guides</a> have been updated as well as the MySQL and PostgreSQL SQL Packs. I have  made a bunch of fixes to grammatical and spelling errors (ouch!),  cleaned up the layout and process flow, extended the Java and  Tomcat-Apache sections and added SMTP and Publishing sections (all  changes are listed on the front page of each <a title="Projects -  Pentaho" href="../projects/pentaho/" target="_self">guide</a>).</p>
<p>Last year I created a tutorial on how to install <a title="Pentaho Business Intelligence Server 2.0 with MySQL and Linux" href="http://www.prashantraju.com/projects/pentaho-tutorials/#server2.5" target="_self">Pentaho Business Intelligence Server 2.0 with MySQL on Linux</a> and the response was overwhelming with the amount of people who found the tutorial helpful.</p>
<p>I have taken the suggestions and feedback and have updated the tutorial for 3.5 and added PostgreSQL 8+ and Oracle 10g (XE and 11g) to the list, all the tutorials are split up for Windows and Linux operating systems.</p>
<p>Can&#8217;t wait? Head over to the <a title="Pentaho" href="http://www.prashantraju.com/projects/pentaho/" target="_self">Pentaho</a> project page and start downloading!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/06/pentaho-3-5-with-mysql-postgresql-oracle/feed/</wfw:commentRss>
		<slash:comments>61</slash:comments>
		</item>
		<item>
		<title>Customising the Pentaho User Console &#8211; Part 4.</title>
		<link>http://www.prashantraju.com/2010/03/customising-the-pentaho-user-console-part-4/</link>
		<comments>http://www.prashantraju.com/2010/03/customising-the-pentaho-user-console-part-4/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 05:56:24 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Console]]></category>

		<guid isPermaLink="false">http://www.prashantraju.com/?p=1055</guid>
		<description><![CDATA[This post is part 4 of the series “Customising the Pentaho User Console (PUC)” Version 3.5.x. Here is a list of what I have covered in other parts: Login page and dialog Messages Main toolbar, menu bar and logo panel Launch page (covered in this post) In this post I will show you how to [...]]]></description>
			<content:encoded><![CDATA[<p>This post is part 4 of the series “Customising the Pentaho User Console (PUC)” Version 3.5.x. Here is a list of what I have covered in other parts:</p>
<ul>
<li><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-1/">Login page and dialog</a></li>
<li><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-2/">Messages</a></li>
<li><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-3/">Main toolbar, menu bar and logo panel</a></li>
<li><strong><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-4/">Launch page (covered in this post)</a></strong></li>
</ul>
<p><strong>In this post I will show you how to customise the launch page.</strong></p>
<p><span id="more-1055"></span></p>
<h3>The Launch Page</h3>
<p>The launch page is the default page that is displayed when you log into the PUC, below is a screenshot of the launch page:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/1_Launch_Page.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/1_Launch_Page-300x243.jpg" alt="What Is The Launch Page" title="Launch Page" width="300" height="243" class="alignnone size-medium wp-image-1056" /></a></p>
<h3>launch.jsp</h3>
<p>The contents of the launch page are generated by the <span class="inline-pre">launch.jsp</span> file which is located under the <span class="inline-pre">tomcat/webapps/pentaho/mantle/launch/</span> directory, the images which are used for the launch page are located under the <span class="inline-pre">tomcat/webapps/pentaho/mantle/launch/images</span> directory.</p>
<p>The contents of the <span class="inline-pre">launch.jsp</span> are:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;%</span>@ taglib prefix<span style="color: #339933;">=</span><span style="color: #0000ff;">'c'</span> uri<span style="color: #339933;">=</span><span style="color: #0000ff;">'http://java.sun.com/jstl/core'</span><span style="color: #339933;">%&gt;&lt;%</span>@
    page
  language<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;java&quot;</span>
  <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;java.io.InputStream,
      java.util.Locale,
      java.util.PropertyResourceBundle,
      java.util.ResourceBundle,
      java.util.regex.Pattern,
      java.util.regex.Matcher,
      org.pentaho.platform.util.messages.LocaleHelper,
      org.pentaho.platform.api.engine.IPentahoSession,
      org.pentaho.platform.api.engine.IPluginManager,
      org.pentaho.platform.api.repository.ISolutionRepository,
      org.pentaho.platform.engine.core.system.PentahoSystem,
      org.pentaho.platform.engine.core.system.StandaloneSession,
      org.pentaho.platform.util.logging.Logger,
      org.pentaho.platform.web.jsp.messages.Messages,
      org.pentaho.platform.web.http.PentahoHttpSessionHelper,
      org.apache.commons.lang.StringEscapeUtils&quot;</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;%</span>
  <span style="color: #666666; font-style: italic;">/*
   * Copyright 2006 Pentaho Corporation.  All rights reserved.
   * This software was developed by Pentaho Corporation and is provided under the terms
   * of the Mozilla Public License, Version 1.1, or any later version. You may not use
   * this file except in compliance with the license. If you need a copy of the license,
   * please go to http://www.mozilla.org/MPL/MPL-1.1.txt. The Original Code is the Pentaho
   * BI Platform.  The Initial Developer is Pentaho Corporation.
   *
   * Software distributed under the Mozilla Public License is distributed on an &quot;AS IS&quot;
   * basis, WITHOUT WARRANTY OF ANY KIND, either express or  implied. Please refer to
   * the license for the specific language governing your rights and limitations.
   *
   * @created Jul 23, 2005
   * @author James Dixon
   *
   */</span>
<span style="color: #339933;">%&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;%</span>@page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;org.pentaho.ui.xul.XulOverlay&quot;</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;%</span>@page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;org.pentaho.platform.api.engine.IPluginManager&quot;</span><span style="color: #339933;">%&gt;&lt;</span>html<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>head<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>meta http<span style="color: #339933;">-</span>equiv<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;content-type&quot;</span> content<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/html; charset=ISO-8859-1&quot;</span><span style="color: #339933;">&gt;</span>
&nbsp;
&nbsp;
<span style="color: #339933;">&lt;</span>title<span style="color: #339933;">&gt;&lt;%=</span>Messages.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UI.PUC.LAUNCH.TITLE&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">%&gt;&lt;/</span>title<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;</span>style type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/css&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;!--</span>
body <span style="color: #009900;">&#123;</span>
  color<span style="color: #339933;">:</span> #000000<span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>color<span style="color: #339933;">:</span> #FFFFFF<span style="color: #339933;">;</span>
  margin<span style="color: #339933;">:</span> 0px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
p <span style="color: #009900;">&#123;</span>
  margin<span style="color: #339933;">:</span> 0px<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">:</span> 0px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
A<span style="color: #339933;">:</span>link,A<span style="color: #339933;">:</span>visited,A<span style="color: #339933;">:</span>hover <span style="color: #009900;">&#123;</span>
  color<span style="color: #339933;">:</span> #7e932f<span style="color: #339933;">;</span>
  text<span style="color: #339933;">-</span>decoration<span style="color: #339933;">:</span> underline<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
A<span style="color: #339933;">:</span>hover <span style="color: #009900;">&#123;</span>
  color<span style="color: #339933;">:</span> #ca6333<span style="color: #339933;">;</span>
  text<span style="color: #339933;">-</span>decoration<span style="color: #339933;">:</span> underline<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">launchPanel</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>color<span style="color: #339933;">:</span> white<span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span> url<span style="color: #009900;">&#40;</span>images<span style="color: #339933;">/</span>quicklaunch_bg.<span style="color: #006633;">png</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> no<span style="color: #339933;">-</span>repeat<span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>position<span style="color: #339933;">:</span> center<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">%;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_container</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 620px<span style="color: #339933;">;</span>
  margin<span style="color: #339933;">-</span>bottom<span style="color: #339933;">:</span> 50px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_icon_bar_left</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 41px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 147px<span style="color: #339933;">;</span>
  vertical<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> top<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>top<span style="color: #339933;">:</span> 25px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_icon_bar_middle</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span>
    url<span style="color: #009900;">&#40;</span>images<span style="color: #339933;">/</span>ql_icon_bar_middle.<span style="color: #006633;">png</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> repeat<span style="color: #339933;">-</span>x<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">%;</span>
  height<span style="color: #339933;">:</span> 199px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_icon_bar_right</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 41px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 147px<span style="color: #339933;">;</span>
  vertical<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> top<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>top<span style="color: #339933;">:</span> 25px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_spacer</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 20px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_btn</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 167px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_btn_left</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 41px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 56px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_btn_middle</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span> url<span style="color: #009900;">&#40;</span>images<span style="color: #339933;">/</span>ql_btn_middle.<span style="color: #006633;">png</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> repeat<span style="color: #339933;">-</span>x<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">%;</span>
  font<span style="color: #339933;">-</span>family<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Trebuchet MS&quot;</span>, Arial, Helvetica, sans<span style="color: #339933;">-</span>serif<span style="color: #339933;">;</span>
  font<span style="color: #339933;">-</span>size<span style="color: #339933;">:</span> 1.25em<span style="color: #339933;">;</span>
  line<span style="color: #339933;">-</span>height<span style="color: #339933;">:</span> 20px<span style="color: #339933;">;</span>
  font<span style="color: #339933;">-</span>weight<span style="color: #339933;">:</span> <span style="color: #cc66cc;">300</span><span style="color: #339933;">;</span>
  text<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> center<span style="color: #339933;">;</span>
  vertical<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> top<span style="color: #339933;">;</span>
  white<span style="color: #339933;">-</span>space<span style="color: #339933;">:</span> nowrap<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>top<span style="color: #339933;">:</span> 5px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_btn_right</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 41px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 56px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_btn_left_hover</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 41px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 56px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_btn_middle_hover</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span>
    url<span style="color: #009900;">&#40;</span>images<span style="color: #339933;">/</span>ql_btn_middle_hover.<span style="color: #006633;">png</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> repeat<span style="color: #339933;">-</span>x<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">%;</span>
  font<span style="color: #339933;">-</span>family<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Trebuchet MS&quot;</span>, Arial, Helvetica, sans<span style="color: #339933;">-</span>serif<span style="color: #339933;">;</span>
  font<span style="color: #339933;">-</span>size<span style="color: #339933;">:</span> 1.25em<span style="color: #339933;">;</span>
  line<span style="color: #339933;">-</span>height<span style="color: #339933;">:</span> 20px<span style="color: #339933;">;</span>
  font<span style="color: #339933;">-</span>weight<span style="color: #339933;">:</span> <span style="color: #cc66cc;">300</span><span style="color: #339933;">;</span>
  text<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> center<span style="color: #339933;">;</span>
  vertical<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> top<span style="color: #339933;">;</span>
  white<span style="color: #339933;">-</span>space<span style="color: #339933;">:</span> nowrap<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>top<span style="color: #339933;">:</span> 5px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_btn_right_hover</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 41px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 56px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_new_report</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 120px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 130px<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>bottom<span style="color: #339933;">:</span> 13px<span style="color: #339933;">;</span>
  cursor<span style="color: #339933;">:</span> pointer<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_new_analysis</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 120px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 130px<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>bottom<span style="color: #339933;">:</span> 13px<span style="color: #339933;">;</span>
  cursor<span style="color: #339933;">:</span> pointer<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_manage</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 120px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 130px<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>bottom<span style="color: #339933;">:</span> 13px<span style="color: #339933;">;</span>
  cursor<span style="color: #339933;">:</span> pointer<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">ql_logo</span> <span style="color: #009900;">&#123;</span>
  width<span style="color: #339933;">:</span> 290px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 91px<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>bottom<span style="color: #339933;">:</span> 30px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">button</span> <span style="color: #009900;">&#123;</span>
  cursor<span style="color: #339933;">:</span> pointer<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> 167px<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">:</span> 0px<span style="color: #339933;">;</span>
  spacing<span style="color: #339933;">:</span> 0px<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 56px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">btn_left</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span> url<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;images/ql_btn_left.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> no<span style="color: #339933;">-</span>repeat<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 56px<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> 22px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">btn_right</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span> url<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;images/ql_btn_right.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> no<span style="color: #339933;">-</span>repeat<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 56px<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> 22px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">btn_center</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span> url<span style="color: #009900;">&#40;</span>images<span style="color: #339933;">/</span>ql_btn_middle.<span style="color: #006633;">png</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> repeat<span style="color: #339933;">-</span>x<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">%;</span>
  font<span style="color: #339933;">-</span>family<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Trebuchet MS&quot;</span>, Arial, Helvetica, sans<span style="color: #339933;">-</span>serif<span style="color: #339933;">;</span>
  font<span style="color: #339933;">-</span>size<span style="color: #339933;">:</span> 1.25em<span style="color: #339933;">;</span>
  line<span style="color: #339933;">-</span>height<span style="color: #339933;">:</span> 20px<span style="color: #339933;">;</span>
  font<span style="color: #339933;">-</span>weight<span style="color: #339933;">:</span> <span style="color: #cc66cc;">300</span><span style="color: #339933;">;</span>
  text<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> center<span style="color: #339933;">;</span>
  vertical<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> top<span style="color: #339933;">;</span>
  white<span style="color: #339933;">-</span>space<span style="color: #339933;">:</span> nowrap<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>top<span style="color: #339933;">:</span> 5px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">btn_left_hover</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span>
    url<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;images/ql_btn_left_hover.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> no<span style="color: #339933;">-</span>repeat<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 56px<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> 22px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">btn_right_hover</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span>
    url<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;images/ql_btn_right_hover.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> no<span style="color: #339933;">-</span>repeat<span style="color: #339933;">;</span>
  height<span style="color: #339933;">:</span> 56px<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> 22px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
.<span style="color: #006633;">btn_center_hover</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #339933;">-</span>image<span style="color: #339933;">:</span>
    url<span style="color: #009900;">&#40;</span>images<span style="color: #339933;">/</span>ql_btn_middle_hover.<span style="color: #006633;">png</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #339933;">-</span>repeat<span style="color: #339933;">:</span> repeat<span style="color: #339933;">-</span>x<span style="color: #339933;">;</span>
  width<span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">%;</span>
  font<span style="color: #339933;">-</span>family<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Trebuchet MS&quot;</span>, Arial, Helvetica, sans<span style="color: #339933;">-</span>serif<span style="color: #339933;">;</span>
  font<span style="color: #339933;">-</span>size<span style="color: #339933;">:</span> 1.25em<span style="color: #339933;">;</span>
  line<span style="color: #339933;">-</span>height<span style="color: #339933;">:</span> 20px<span style="color: #339933;">;</span>
  font<span style="color: #339933;">-</span>weight<span style="color: #339933;">:</span> <span style="color: #cc66cc;">300</span><span style="color: #339933;">;</span>
  text<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> center<span style="color: #339933;">;</span>
  vertical<span style="color: #339933;">-</span>align<span style="color: #339933;">:</span> top<span style="color: #339933;">;</span>
  white<span style="color: #339933;">-</span>space<span style="color: #339933;">:</span> nowrap<span style="color: #339933;">;</span>
  padding<span style="color: #339933;">-</span>top<span style="color: #339933;">:</span> 5px<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">--&gt;</span>
<span style="color: #339933;">&lt;/</span>style<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #003399;">Button</span> <span style="color: #339933;">=</span> function<span style="color: #009900;">&#40;</span>label, container<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
    var btn <span style="color: #339933;">=</span> document.<span style="color: #006633;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;input&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    btn.<span style="color: #006633;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;type&quot;</span>,<span style="color: #0000ff;">&quot;button&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
    table <span style="color: #339933;">=</span> document.<span style="color: #006633;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;table&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    document.<span style="color: #006633;">getElementById</span><span style="color: #009900;">&#40;</span>container<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">innerHTML</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
    document.<span style="color: #006633;">getElementById</span><span style="color: #009900;">&#40;</span>container<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">appendChild</span><span style="color: #009900;">&#40;</span>table<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    table.<span style="color: #006633;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;cellpadding&quot;</span>,<span style="color: #0000ff;">&quot;0&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    table.<span style="color: #006633;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;cellspacing&quot;</span>,<span style="color: #0000ff;">&quot;0&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    table.<span style="color: #006633;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;border&quot;</span>,<span style="color: #0000ff;">&quot;0&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    table.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;button&quot;</span><span style="color: #339933;">;</span>
    table.<span style="color: #006633;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;height&quot;</span>,<span style="color: #0000ff;">&quot;56&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    table.<span style="color: #006633;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;width&quot;</span>,<span style="color: #0000ff;">&quot;167&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    table.<span style="color: #006633;">cellSpacing</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;0px&quot;</span><span style="color: #339933;">;</span>
    table.<span style="color: #006633;">cellPadding</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;0px&quot;</span><span style="color: #339933;">;</span>
&nbsp;
    var tbody <span style="color: #339933;">=</span> document.<span style="color: #006633;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;tbody&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    var tr <span style="color: #339933;">=</span> document.<span style="color: #006633;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    var left_td <span style="color: #339933;">=</span> document.<span style="color: #006633;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    left_td.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;btn_left&quot;</span><span style="color: #339933;">;</span>
    left_td.<span style="color: #006633;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;img src='images/ql_spacer.png'/ width='22' height='1'/&gt;&lt;br/&gt;&quot;</span><span style="color: #339933;">;</span>
    tr.<span style="color: #006633;">appendChild</span><span style="color: #009900;">&#40;</span>left_td<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    var center_td <span style="color: #339933;">=</span> document.<span style="color: #006633;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    center_td.<span style="color: #006633;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;width&quot;</span>,<span style="color: #0000ff;">&quot;100%&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    center_td.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;btn_center&quot;</span><span style="color: #339933;">;</span>
    center_td.<span style="color: #006633;">onselectstart</span><span style="color: #339933;">=</span>function<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
    center_td.<span style="color: #006633;">style</span>.<span style="color: #006633;">MozUserSelect</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'none'</span><span style="color: #339933;">;</span>
    center_td.<span style="color: #006633;">innerHTML</span> <span style="color: #339933;">=</span> label<span style="color: #339933;">;</span>
    tr.<span style="color: #006633;">appendChild</span><span style="color: #009900;">&#40;</span>center_td<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    var right_td <span style="color: #339933;">=</span> document.<span style="color: #006633;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    right_td.<span style="color: #006633;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;img src='images/ql_spacer.png'/ width='22' height='1'/&gt;&lt;br/&gt;&quot;</span><span style="color: #339933;">;</span>
    right_td.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;btn_right&quot;</span><span style="color: #339933;">;</span>
    tr.<span style="color: #006633;">appendChild</span><span style="color: #009900;">&#40;</span>right_td<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    tbody.<span style="color: #006633;">appendChild</span><span style="color: #009900;">&#40;</span>tr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    table.<span style="color: #006633;">appendChild</span><span style="color: #009900;">&#40;</span>tbody<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    table.<span style="color: #006633;">onmouseover</span><span style="color: #339933;">=</span>function<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      window.<span style="color: #006633;">selectedButton</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span><span style="color: #339933;">;</span>
      left_td.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;btn_left_hover&quot;</span><span style="color: #339933;">;</span>
      right_td.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;btn_right_hover&quot;</span><span style="color: #339933;">;</span>
      center_td.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;btn_center_hover&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">reset</span> <span style="color: #339933;">=</span> function<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      left_td.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;btn_left&quot;</span><span style="color: #339933;">;</span>
      right_td.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;btn_right&quot;</span><span style="color: #339933;">;</span>
      center_td.<span style="color: #006633;">className</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;btn_center&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    table.<span style="color: #006633;">onmouseout</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">reset</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">onClick</span><span style="color: #339933;">=</span>function<span style="color: #009900;">&#40;</span>onClick<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>window.<span style="color: #006633;">parent</span> <span style="color: #339933;">&amp;&amp;</span> window.<span style="color: #006633;">parent</span>.<span style="color: #006633;">mantle_initialized</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        table.<span style="color: #006633;">onclick</span> <span style="color: #339933;">=</span> function<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>eval<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;window.parent.&quot;</span> <span style="color: #339933;">+</span> onClick<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
window.<span style="color: #006633;">onresize</span> <span style="color: #339933;">=</span> function<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>window.<span style="color: #006633;">selectedButton</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     window.<span style="color: #006633;">selectedButton</span>.<span style="color: #006633;">onmouseout</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
  <span style="color: #666666; font-style: italic;">// IE_6_FIX: When resized by PUC, IE will display rendering issues. This is accounted for by the code below. </span>
  <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>window.<span style="color: #006633;">isIE6</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// IE6 has a rate limit on the number of resize events that it will fire. This means we cannot rely on the</span>
    <span style="color: #666666; font-style: italic;">// resize event alone to determine when the reisize is complete. The timer ensures that the layout is</span>
    <span style="color: #666666; font-style: italic;">// recomputed after PUC is done resizing the iframe.</span>
    setTimeout<span style="color: #009900;">&#40;</span>function<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      window.<span style="color: #006633;">tableWrapperDiv</span>.<span style="color: #006633;">style</span>.<span style="color: #006633;">top</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;1px&quot;</span><span style="color: #339933;">;</span>
      window.<span style="color: #006633;">tableWrapperDiv</span>.<span style="color: #006633;">style</span>.<span style="color: #006633;">top</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;0px&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>, <span style="color: #cc66cc;">350</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
function loader<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// IE_6_FIX: We're using a CSS filter to enable transparany in IE 6. This has the side-effect of trapping mouse events in the</span>
  <span style="color: #666666; font-style: italic;">// filtered area. The standard workaround is to wrap that area in two divs, one absolutely positioned inside a relative one.</span>
&nbsp;
  var navAgent <span style="color: #339933;">=</span> window.<span style="color: #006633;">navigator</span>.<span style="color: #006633;">userAgent</span><span style="color: #339933;">;</span>
  window.<span style="color: #006633;">isIE6</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
  var reg <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> RegExp<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MSIE ([0-9]{1,}[<span style="color: #000099; font-weight: bold;">\.</span>0-9]{0,})&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">exec</span><span style="color: #009900;">&#40;</span>navAgent<span style="color: #009900;">&#41;</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>reg <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    var version <span style="color: #339933;">=</span> parseFloat<span style="color: #009900;">&#40;</span> RegExp.$<span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    window.<span style="color: #006633;">isIE6</span> <span style="color: #339933;">=</span> version <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">6.0</span> <span style="color: #339933;">&amp;&amp;</span> version <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">7.0</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// The following wrapps the button table with two DIVs, one positioned relative and the other absolute.</span>
  <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>window.<span style="color: #006633;">isIE6</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    var buttonTable <span style="color: #339933;">=</span> document.<span style="color: #006633;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;buttonTable&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    var parent <span style="color: #339933;">=</span> buttonTable.<span style="color: #006633;">parentNode</span><span style="color: #339933;">;</span>
    window.<span style="color: #006633;">tableWrapperDiv</span> <span style="color: #339933;">=</span> document.<span style="color: #006633;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    var absDiv <span style="color: #339933;">=</span> document.<span style="color: #006633;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    with<span style="color: #009900;">&#40;</span>tableWrapperDiv.<span style="color: #006633;">style</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      position <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;relative&quot;</span><span style="color: #339933;">;</span>
      width <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;100%&quot;</span><span style="color: #339933;">;</span>
      height <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;100%&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    with<span style="color: #009900;">&#40;</span>absDiv.<span style="color: #006633;">style</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      position <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;absolute&quot;</span><span style="color: #339933;">;</span>
      top <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;0px&quot;</span><span style="color: #339933;">;</span>
      left <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;0px&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    parent.<span style="color: #006633;">removeChild</span><span style="color: #009900;">&#40;</span>buttonTable<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    parent.<span style="color: #006633;">appendChild</span><span style="color: #009900;">&#40;</span>tableWrapperDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    tableWrapperDiv.<span style="color: #006633;">appendChild</span><span style="color: #009900;">&#40;</span>absDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    absDiv.<span style="color: #006633;">appendChild</span><span style="color: #009900;">&#40;</span>buttonTable<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    tableWrapperDiv.<span style="color: #006633;">id</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;buttonWrapperDiv&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #666666; font-style: italic;">// End IE_6_FIX</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;%=Messages.getString( &quot;</span>UI.<span style="color: #006633;">PUC</span>.<span style="color: #006633;">LAUNCH</span>.<span style="color: #006633;">NEW_REPORT</span><span style="color: #0000ff;">&quot; )%&gt;&quot;</span>, <span style="color: #0000ff;">&quot;launch_new_report&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">onClick</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;openWAQR()&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;%=Messages.getString( &quot;</span>UI.<span style="color: #006633;">PUC</span>.<span style="color: #006633;">LAUNCH</span>.<span style="color: #006633;">NEW_ANALYSIS</span><span style="color: #0000ff;">&quot; )%&gt;&quot;</span>, <span style="color: #0000ff;">&quot;launch_new_analysis&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">onClick</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;openAnalysis()&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;%!</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">ResourceBundle</span> getBundle<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> messageUri<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003399;">Locale</span> locale <span style="color: #339933;">=</span> LocaleHelper.<span style="color: #006633;">getLocale</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    IPentahoSession session <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> StandaloneSession<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;dashboards messages&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//$NON-NLS-1$</span>
    <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>messageUri.<span style="color: #006633;">startsWith</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;content/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          messageUri <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;system/&quot;</span> <span style="color: #339933;">+</span> messageUri.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//$NON-NLS-1$</span>
        <span style="color: #009900;">&#125;</span>
      <span style="color: #003399;">InputStream</span> in <span style="color: #339933;">=</span> PentahoSystem.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>ISolutionRepository.<span style="color: #000000; font-weight: bold;">class</span>, session<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getResourceInputStream</span><span style="color: #009900;">&#40;</span>messageUri, <span style="color: #000066; font-weight: bold;">true</span>, ISolutionRepository.<span style="color: #006633;">ACTION_EXECUTE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">PropertyResourceBundle</span><span style="color: #009900;">&#40;</span> in <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      Logger.<span style="color: #006633;">error</span><span style="color: #009900;">&#40;</span> Messages.<span style="color: #000000; font-weight: bold;">class</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #0000ff;">&quot;Could not get localization bundle&quot;</span>, e <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//$NON-NLS-1$</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #339933;">%&gt;&lt;%</span> 
  <span style="color: #000066; font-weight: bold;">boolean</span> pluginButton <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
  <span style="color: #003399;">String</span> buttonLabel <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #003399;">String</span> buttonCommand <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #003399;">String</span> buttonImage <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
  IPluginManager pluginManager <span style="color: #339933;">=</span> PentahoSystem.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>IPluginManager.<span style="color: #000000; font-weight: bold;">class</span>, PentahoHttpSessionHelper.<span style="color: #006633;">getPentahoSession</span><span style="color: #009900;">&#40;</span>request<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//$NON-NLS-1$</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>pluginManager <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>XulOverlay overlayObj <span style="color: #339933;">:</span> pluginManager.<span style="color: #006633;">getOverlays</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>overlayObj.<span style="color: #006633;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> overlayObj.<span style="color: #006633;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;launch&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003399;">ResourceBundle</span> bundle <span style="color: #339933;">=</span> getBundle<span style="color: #009900;">&#40;</span>overlayObj.<span style="color: #006633;">getResourceBundleUri</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #666666; font-style: italic;">// replace I18N parameters</span>
        Pattern p <span style="color: #339933;">=</span> Pattern.<span style="color: #006633;">compile</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>$<span style="color: #000099; font-weight: bold;">\\</span>{([^<span style="color: #000099; font-weight: bold;">\\</span>}]*)<span style="color: #000099; font-weight: bold;">\\</span>}&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        Matcher m <span style="color: #339933;">=</span> p.<span style="color: #006633;">matcher</span><span style="color: #009900;">&#40;</span>overlayObj.<span style="color: #006633;">getOverlayXml</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">StringBuffer</span> sb <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">StringBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>m.<span style="color: #006633;">find</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #003399;">String</span> param <span style="color: #339933;">=</span> m.<span style="color: #006633;">group</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          m.<span style="color: #006633;">appendReplacement</span><span style="color: #009900;">&#40;</span>sb, bundle.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span>param<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        m.<span style="color: #006633;">appendTail</span><span style="color: #009900;">&#40;</span>sb<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">String</span> overlay <span style="color: #339933;">=</span> sb.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>overlay.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;id=<span style="color: #000099; font-weight: bold;">\&quot;</span>manage_content<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">int</span> startButtonLabel <span style="color: #339933;">=</span> overlay.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;label=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> endButtonLabel <span style="color: #339933;">=</span> overlay.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>, startButtonLabel <span style="color: #339933;">+</span> <span style="color: #cc66cc;">7</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        buttonLabel <span style="color: #339933;">=</span> overlay.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span>startButtonLabel <span style="color: #339933;">+</span> <span style="color: #cc66cc;">7</span>, endButtonLabel<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000066; font-weight: bold;">int</span> startButtonImage <span style="color: #339933;">=</span> overlay.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;image=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> endButtonImage <span style="color: #339933;">=</span> overlay.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>, startButtonImage <span style="color: #339933;">+</span> <span style="color: #cc66cc;">7</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        buttonImage <span style="color: #339933;">=</span> overlay.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span>startButtonImage <span style="color: #339933;">+</span> <span style="color: #cc66cc;">7</span>, endButtonImage<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000066; font-weight: bold;">int</span> startButtonCommand <span style="color: #339933;">=</span> overlay.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;command=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> endButtonCommand <span style="color: #339933;">=</span> overlay.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>, startButtonCommand <span style="color: #339933;">+</span> <span style="color: #cc66cc;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        buttonCommand <span style="color: #339933;">=</span> overlay.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span>startButtonCommand <span style="color: #339933;">+</span> <span style="color: #cc66cc;">9</span>, endButtonCommand<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        pluginButton <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
          <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>pluginButton<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #339933;">%&gt;</span>    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;%=buttonLabel%&gt;&quot;</span>, <span style="color: #0000ff;">&quot;manage_content&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">onClick</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;%= buttonCommand%&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;%</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
<span style="color: #339933;">%&gt;</span>    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;%=Messages.getString( &quot;</span>UI.<span style="color: #006633;">PUC</span>.<span style="color: #006633;">LAUNCH</span>.<span style="color: #006633;">MANAGE_CONTENT</span><span style="color: #0000ff;">&quot; )%&gt;&quot;</span>, <span style="color: #0000ff;">&quot;manage_content&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">onClick</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;openManage()&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;%</span>  <span style="color: #009900;">&#125;</span>  <span style="color: #339933;">%&gt;</span>
    fixPNGs<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;../pngfix.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
      PngFix.<span style="color: #006633;">spacerURL</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;images/ql_spacer.png&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>head<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;</span>body onLoad<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;loader()&quot;</span><span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;</span>div style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;margin: 0px; padding: 0px; width: 100%; height: 100%;&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>table style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;width: 100%; height: 100%;&quot;</span> <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;launchPanel&quot;</span> id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;launchPanel&quot;</span>
  cellpadding<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0&quot;</span> cellspacing<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0&quot;</span><span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>tr<span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;</span>td style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;vertical-align: middle;&quot;</span> align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;center&quot;</span><span style="color: #339933;">&gt;</span>
&nbsp;
    <span style="color: #339933;">&lt;</span>table width<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;564&quot;</span> border<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0&quot;</span> align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;center&quot;</span> cellpadding<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0&quot;</span>
      cellspacing<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0&quot;</span> <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_container&quot;</span><span style="color: #339933;">&gt;</span>
      <span style="color: #339933;">&lt;</span>tr<span style="color: #339933;">&gt;</span>
        <span style="color: #339933;">&lt;</span>td colspan<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;3&quot;</span> align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;center&quot;</span><span style="color: #339933;">&gt;&lt;</span>img
          src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;images/ql_logo.png&quot;</span> alt<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Pentaho.com&quot;</span>
          <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_logo&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>td<span style="color: #339933;">&gt;</span>
      <span style="color: #339933;">&lt;/</span>tr<span style="color: #339933;">&gt;</span>
      <span style="color: #339933;">&lt;</span>tr<span style="color: #339933;">&gt;</span>
        <span style="color: #339933;">&lt;</span>td <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_icon_bar_left&quot;</span><span style="color: #339933;">&gt;&lt;</span>img
          src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;images/ql_icon_bar_left.png&quot;</span> width<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;41&quot;</span>
          height<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;147&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>td<span style="color: #339933;">&gt;</span>
        <span style="color: #339933;">&lt;</span>td <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_icon_bar_middle&quot;</span> <span style="color: #339933;">&gt;</span>
&nbsp;
            <span style="color: #339933;">&lt;</span>table id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;buttonTable&quot;</span> width<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;100%&quot;</span> border<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0&quot;</span> cellspacing<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0&quot;</span> cellpadding<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0&quot;</span>
              height<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;100%&quot;</span><span style="color: #339933;">&gt;</span>
              <span style="color: #339933;">&lt;</span>tr<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>td align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;center&quot;</span> valign<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;top&quot;</span> onClick<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;window.parent.openWAQR()&quot;</span><span style="color: #339933;">&gt;&lt;</span>img
                  src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;images/btn_ql_newreport.png&quot;</span>
                  <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_new_report&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>td<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>td align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;center&quot;</span> valign<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;top&quot;</span><span style="color: #339933;">&gt;&amp;</span>nbsp<span style="color: #339933;">;&lt;/</span>td<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>td align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;center&quot;</span> valign<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;top&quot;</span>
                  onClick<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;window.parent.openAnalysis()&quot;</span><span style="color: #339933;">&gt;&lt;</span>img
                  src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;images/btn_ql_newanalysis.png&quot;</span>
                  <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_new_analysis&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>td<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>td align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;center&quot;</span> valign<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;top&quot;</span><span style="color: #339933;">&gt;&amp;</span>nbsp<span style="color: #339933;">;&lt;/</span>td<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;%</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>pluginButton<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #339933;">%&gt;</span>
                <span style="color: #339933;">&lt;</span>td align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;center&quot;</span> valign<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;top&quot;</span>
                  onClick<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;window.parent.&lt;%=buttonCommand %&gt;&quot;</span><span style="color: #339933;">&gt;&lt;</span>img
                  src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;../../&lt;%=buttonImage %&gt;&quot;</span>
                  <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_manage&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>td<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;%</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #339933;">%&gt;</span>
                <span style="color: #339933;">&lt;</span>td align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;center&quot;</span> valign<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;top&quot;</span>
                  onClick<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;window.parent.openManage()&quot;</span><span style="color: #339933;">&gt;&lt;</span>img
                  src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;images/btn_ql_manage.png&quot;</span>
                  <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_manage&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>td<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;%</span> <span style="color: #009900;">&#125;</span> <span style="color: #339933;">%&gt;</span>
              <span style="color: #339933;">&lt;/</span>tr<span style="color: #339933;">&gt;</span>
              <span style="color: #339933;">&lt;</span>tr<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>td id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;launch_new_report&quot;</span> height<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;100%&quot;</span><span style="color: #339933;">&gt;&lt;!--</span>  container <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #000000; font-weight: bold;">New</span> Report <span style="color: #003399;">Button</span> <span style="color: #339933;">--&gt;</span>
                <span style="color: #339933;">&lt;/</span>td<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>td<span style="color: #339933;">&gt;&lt;</span>img src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;images/ql_spacer.png&quot;</span>
                  <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_spacer&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>td<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>td id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;launch_new_analysis&quot;</span><span style="color: #339933;">&gt;&lt;!--</span>  container <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #000000; font-weight: bold;">New</span> Analysis <span style="color: #003399;">Button</span> <span style="color: #339933;">--&gt;</span>
                <span style="color: #339933;">&lt;/</span>td<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>td<span style="color: #339933;">&gt;&lt;</span>img src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;images/ql_spacer.png&quot;</span>
                  <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_spacer&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>td<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>td id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;manage_content&quot;</span><span style="color: #339933;">&gt;&lt;!--</span>  container <span style="color: #000000; font-weight: bold;">for</span> manage content <span style="color: #003399;">Button</span> <span style="color: #339933;">--&gt;</span>
                <span style="color: #339933;">&lt;/</span>td<span style="color: #339933;">&gt;</span>
              <span style="color: #339933;">&lt;/</span>tr<span style="color: #339933;">&gt;</span>
          <span style="color: #339933;">&lt;/</span>table<span style="color: #339933;">&gt;</span>
&nbsp;
        <span style="color: #339933;">&lt;/</span>td<span style="color: #339933;">&gt;</span>
        <span style="color: #339933;">&lt;</span>td <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ql_icon_bar_right&quot;</span><span style="color: #339933;">&gt;&lt;</span>img
          src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;images/ql_icon_bar_right.png&quot;</span>
          width<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;41&quot;</span> height<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;147&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>td<span style="color: #339933;">&gt;</span>
      <span style="color: #339933;">&lt;/</span>tr<span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;/</span>table<span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;/</span>td<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;/</span>tr<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>table<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;/</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>html<span style="color: #339933;">&gt;</span></pre></div></div>

<p class="notice">Before you make any changes to <span class="pre-inline">launch.jsp</span> make sure you keep a backup copy.</p>
<h4><strong>Example 1</strong></h4>
<p>The <span class="inline-pre">launch.jsp</span> page is like any other JSP (or HTML) page. For example, if I wanted to make the <span class="inline-pre">launch.jsp</span> page display my blog&#8217;s logo all I need to do is change the contents of the <span class="inline-pre">launch.jsp</span> file so that they now look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;content-type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html; charset=ISO-8859-1&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>Launch<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;margin: 0px; padding: 0px; width: 100%; height: 100%;&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">table</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;width: 100%; height: 100%;&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;launchPanel&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;launchPanel&quot;</span> <span style="color: #000066;">cellpadding</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">cellspacing</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;vertical-align: middle;&quot;</span> <span style="color: #000066;">align</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;center&quot;</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/logo.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Logo&quot;</span><span style="color: #66cc66;">/</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">table</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">table</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p>I have placed the <span class="inline-pre">logo.jpg</span> image under the <span class="inline-pre">tomcat/webapps/pentaho/mantle/launch/images/</span> directory.</p>
<p>After refreshing the browser the new <span class="inline-pre">launch.jsp</span> now looks like this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/2_New_Launch_Page.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/2_New_Launch_Page-300x239.jpg" alt="Adding a Logo to the Launch Page" title="Adding a logo to the launch page" width="300" height="239" class="alignnone size-medium wp-image-1057" /></a></p>
<h4><strong>Example 2</strong></h4>
<p>You could also embed information from other sites i.e. intranet home page etc. by using an <span class="inline-pre">iframe</span>. For example, to include Google News instead of the default launch page I will need to make changes to the <span class="inline-pre">launch.jsp</span> page so that it now looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;content-type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html; charset=ISO-8859-1&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>Launch<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">iframe</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.google.com/news&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">frameborder</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Your browser does not support iframes.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">iframe</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p>After refreshing the browser the new <span class="inline-pre">launch.jsp</span> now looks like this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/3_New_Launch_Page.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/3_New_Launch_Page-300x239.jpg" alt="External Content with Launch Page" title="External content with launch page" width="300" height="239" class="alignnone size-medium wp-image-1058" /></a></p>
<h4><strong>Example 3</strong></h4>
<p>Another example would be to add a list of links to key reports, analysis views and/or dashboards using xactions. Just say I would like to create a list which are links for the following:</p>
<ul>
<li>Area Chart Example (Steel Wheels > Charts)</li>
<li>Marketing Analysis by Year (Steel Wheels > Analysis)</li>
</ul>
<p>After making changes the <span class="inline-pre">launch.jsp</span> file now looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;content-type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html; charset=ISO-8859-1&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>Launch<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>Steel Wheels Launch pad<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Maybe one of these reports/analysis/dashboards can help you:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://localhost:8080/pentaho/ViewAction?&amp;solution=steel-wheels&amp;path=charts&amp;action=areachart_data.xaction&quot;</span>&gt;</span>Area Chart Example<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://localhost:8080/pentaho/ViewAction?&amp;solution=steel-wheels&amp;path=analysis&amp;action=analysis_customers.analysisview.xaction&quot;</span>&gt;</span>Marketing Analysis by Year<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p>After refreshing the browser the new <span class="inline-pre">launch.jsp</span> now looks like this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/4_New_Launch_Page.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/4_New_Launch_Page-300x254.jpg" alt="Links to Report Launch Page" title="Links to reports launch page" width="300" height="254" class="alignnone size-medium wp-image-1059" /></a></p>
<h4><strong>Example 4</strong></h4>
<p>You can also redirect the <span class="inline-pre">launch.jsp</span> page to a xaction, to do this change the contents of the <span class="inline-pre">launch.jsp</span> file so that they now look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;%</span>
    <span style="color: #666666; font-style: italic;">// xactionPath is the xaction path</span>
    <span style="color: #003399;">String</span> xactionPath <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://localhost:8080/pentaho/ViewAction?&amp;solution=steel-wheels&amp;path=analysis&amp;action=analysis_customers.analysisview.xaction&quot;</span><span style="color: #339933;">;</span>
    response.<span style="color: #006633;">sendRedirect</span><span style="color: #009900;">&#40;</span>xactionPath<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">%&gt;</span></pre></div></div>

<p>After refreshing the browser the new <span class="inline-pre">launch.jsp</span> will automatically redirect to the xaction specified.</p>
<h3>Final Notes</h3>
<p>If you want to embed or replace the <span class="inline-pre">launch.jsp</span> with xactions, dashboards, reports etc. I believe that you should use the startup-urls option instead, this option is covered in my previous post <a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-3/">Customising the Pentaho User Console &#8211; Part 3</a>.</p>
<p>Do you have any other examples? Post a comment or drop me an <a href="mailto:prashant.g.raju@gmail.com">email</a> and I&#8217;ll add it to this post.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/03/customising-the-pentaho-user-console-part-4/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Emailing Reports from the Pentaho User Console.</title>
		<link>http://www.prashantraju.com/2010/03/emailing-reports-from-the-pentaho-user-console/</link>
		<comments>http://www.prashantraju.com/2010/03/emailing-reports-from-the-pentaho-user-console/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 16:00:41 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Console]]></category>

		<guid isPermaLink="false">http://www.prashantraju.com/?p=906</guid>
		<description><![CDATA[With the recent release of Pentaho&#8217;s BI Server 3.5.2 and Tom Barber&#8217;s (aka magicaltrout) post I thought I would put together a quick tutorial on how to use a new feature of 3.5.2 which allows end users to email reports directly from the Pentaho User Console (PUC). The Scenario. I need to create a public [...]]]></description>
			<content:encoded><![CDATA[<p>With the recent release of Pentaho&#8217;s BI Server 3.5.2 and <a href="http://pentahomusings.blogspot.com" target="_blank">Tom Barber&#8217;s</a> (aka magicaltrout) <a href="http://pentahomusings.blogspot.com/2010/02/first-month-using-352.html" target="_blank">post</a> I thought I would put together a quick tutorial on how to use a new feature of 3.5.2 which allows end users to email reports directly from the Pentaho User Console (PUC).</p>
<p><span id="more-906"></span></p>
<h3>The Scenario.</h3>
<p>I need to create a public schedule which will run out of business hours. Coincidently after creating the public schedule I&#8217;m approached by a Sales Manager who requests that I run the <span class="inline-pre">Top N Analysis</span> report which is needed for tomorrow&#8217;s weekly meeting. As this particular report takes a while to run I will assign it to public schedule (created earlier) which will run the report out of business hours and email to the Sales Manager before his/hers weekly meeting.</p>
<h3>Step 1 &#8211; Setup SMTP.</h3>
<p>The first step is to make sure you have setup the Pentaho BI Server to talk to your SMTP server correctly. The configuration file for the SMTP server is <span class="inline-pre">email_config.xml</span> which is located under the <span class="inline-pre">/pentaho-solutions/system/smtp-email/</span> directory. The contents of the <span class="inline-pre">email_config.xml</span> looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;email-smtp<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #808080; font-style: italic;">&lt;!-- The values within &lt;properties&gt; are passed directly to the JavaMail API.</span>
<span style="color: #808080; font-style: italic;">       For a list of valid properties see http://java.sun.com/products/javamail/javadocs/index.html --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;properties<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!-- This is the address of your SMTP email server for sending email. e.g. smtp.pentaho.org --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.host<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.host<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!--  This is the port of your SMTP email server. Usually this is 25. For GMail this is 587 --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.port<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>25<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.port<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!--  The transport for accessing the email server. Usually this is smtp. For GMail this is smtps --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.transport.protocol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>smtp<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.transport.protocol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!--  Usually this is 'false'. For GMail it is 'true' --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.starttls.enable<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.starttls.enable<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!-- Set to true if the email server requires the sender to authenticate --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.auth<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.auth<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!--  This is true if the email server requires an SSL connection. Usually 'false'. For GMail this is 'true' --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.ssl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.ssl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  	<span style="color: #808080; font-style: italic;">&lt;!--  Output debug information from the JavaMail API --&gt;</span>
   	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.debug<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.debug<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #808080; font-style: italic;">&lt;!-- For GMail this is 'false' --&gt;</span>
    <span style="color: #808080; font-style: italic;">&lt;!--mail.smtp.quitwait&gt;false&lt;/mail.smtp.quitwait--&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/properties<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- The is the address of your POP3 email server for receiving email. e.g. pop.pentaho.org --&gt;</span>
	<span style="color: #808080; font-style: italic;">&lt;!-- It is currently not used --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.pop3<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/mail.pop3<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- This is the default 'from' address that emails from the Pentaho BI Platform will appear to come from e.g. joe.pentaho@pentaho.org --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.from.default<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/mail.from.default<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- This is the user id used to connect to the email server for sending email</span>
<span style="color: #808080; font-style: italic;">       It is only required if email-authenticate is set to true</span>
<span style="color: #808080; font-style: italic;">       This is never sent or shown to anyone --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.userid<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/mail.userid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- This is the password used to connect to the email server for sending email It is only required if email-authenticate is set to true</span>
<span style="color: #808080; font-style: italic;">       This is never sent or shown to anyone --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.password<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/mail.password<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/email-smtp<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Below is the <span class="inline-pre">email_config.xml</span> settings I used for my GMail account:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;email-smtp<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;properties<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!-- This is the address of your SMTP email server for sending email. e.g. smtp.pentaho.org --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.host<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>smtp.gmail.com<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.host<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!--  This is the port of your SMTP email server. Usually this is 25. For GMail this is 587 --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.port<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>587<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.port<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!--  The transport for accessing the email server. Usually this is smtp. For GMail this is smtps --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.transport.protocol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>smtps<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.transport.protocol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!--  Usually this is 'false'. For GMail it is 'true' --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.starttls.enable<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.starttls.enable<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!-- Set to true if the email server requires the sender to authenticate --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.auth<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.auth<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #808080; font-style: italic;">&lt;!--  This is true if the email server requires an SSL connection. Usually 'false'. For GMail this is 'true' --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.ssl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.ssl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #808080; font-style: italic;">&lt;!-- For GMail this is 'false' --&gt;</span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.smtp.quitwait<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.smtp.quitwait<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/properties<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- The is the address or your POP3 email server for receiving email. e.g. pop.pentaho.org --&gt;</span>
	<span style="color: #808080; font-style: italic;">&lt;!-- It is currently not used --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.pop3<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/mail.pop3<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- This is the default 'from' address that emails from the Pentaho BI Platform will appear to come from e.g. joe.pentaho@pentaho.org --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.from.default<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>prashant.g.raju@gmail.com<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.from.default<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- This is the user id used to connect to the email server for sending email</span>
<span style="color: #808080; font-style: italic;">       It is only required if email-authenticate is set to true</span>
<span style="color: #808080; font-style: italic;">       This is never sent or shown to anyone --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.userid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>prashant.g.raju@gmail.com<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.userid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- This is the password used to connect to the email server for sending email </span>
<span style="color: #808080; font-style: italic;">       It is only required if email-authenticate is set to true</span>
<span style="color: #808080; font-style: italic;">       This is never sent or shown to anyone --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mail.password<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #808080; font-style: italic;">&lt;!-- passoword --&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mail.password<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/email-smtp<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>You can test if you have configured Pentaho BI Server to talk to the SMTP server correctly by running the <span class="inline-pre">Burst Sales Report</span> which is located under the <span class="inline-pre">BI Developer Examples/Reporting/</span> solution folder.<br />
Click on the report and fill out the prompts including your email address:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Burst_Email_Prompt_1.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Burst_Email_Prompt_1-300x217.jpg" alt="Report Bursting Example - Prompt 1" title="Report Bursting Example - Prompt 1" width="300" height="217" class="alignnone size-medium wp-image-1035" /></a></p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Burst_Email_Prompt_2.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Burst_Email_Prompt_2-300x217.jpg" alt="Report Bursting Example - Prompt 2" title="Report Bursting Example - Prompt 2" width="300" height="217" class="alignnone size-medium wp-image-1036" /></a></p>
<p>After clicking the <strong>Run</strong> button you should receive an email for each employee and the report as a PDF attachment.</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Report_Burst_Example.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Report_Burst_Example-300x173.jpg" alt="Report Burst Example" title="Report Burst Example" width="300" height="173" class="alignnone size-medium wp-image-1037" /></a></p>
<h3>Step 2 &#8211; Create a Public Schedule.</h3>
<p>The next step is to create a <strong>Public Schedule</strong>. To do this you must have access to the Pentaho Administration Console (PAC), after logging into PAC click on the <strong>Administration</strong> menu item and then the <strong>Scheduler</strong> tab:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/1_PAC_Scheduler_Tab.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/1_PAC_Scheduler_Tab-300x225.jpg" alt="PAC Scheduler Tab" title="PAC Scheduler Tab" width="300" height="225" class="alignnone size-medium wp-image-992" /></a></p>
<p>To create a new schedule click on the <img src="http://www.prashantraju.com/wp-content/uploads/2010/03/2_PAC_Create_Schedule_Icon.jpg" alt="PAC Create Schedule Icon" title="PAC Create Schedule Icon" width="19" height="19" class="alignnone size-full wp-image-993" /> icon (Create schedule), this will display a <strong>Schedule Creator</strong> window with the <strong>Schedule</strong> tab active:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/3_PAC_Schedule_Creator.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/3_PAC_Schedule_Creator-264x300.jpg" alt="PAC Schedule Creator" title="PAC Schedule Creator" width="264" height="300" class="alignnone size-medium wp-image-994" /></a></p>
<ul>
<li><strong>Public Schedule &#8211; Allow users access to the schedule</strong> : Check this option to make this schedule public</li>
<li><strong>Name</strong> : Name of your schedule i.e. Ad hoc Reports</li>
<li><strong>Group</strong> : Group which your schedule belongs to i.e. Ad hocs</li>
<li><strong>Description</strong> : Description of your schedule i.e. Use this schedule to run lengthy ad hoc reports out of business hours</li>
<li><strong>Recurrence</strong> : How often do you want the schedule to run i.e. Daily
<ul>
<li><strong>Recurrence pattern</strong> : On which days you want the schedule to run (this will be different for Monthly, Yearly etc. recurrences) i.e. On weekdays</li>
<li><strong>Range of recurrence</strong> : The date the schedule is to start and end i.e. The schedule is start on the 2nd of March 2010 till no end date</li>
</ul>
</li>
</ul>
<p>After filling out the options the <strong>Schedule Creator</strong> window now looks like this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/4_PAC_Schedule_Creator_Opti.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/4_PAC_Schedule_Creator_Opti-264x300.jpg" alt="PAC Schedule Creator with Options" title="PAC Schedule Creator with Options" width="264" height="300" class="alignnone size-medium wp-image-995" /></a></p>
<p>You can also assign files directly to this schedule by clicking on the <strong>Selected Files</strong> tab:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/5_PAC_Selected_Files.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/5_PAC_Selected_Files-264x300.jpg" alt="PAC Selected Files Window" title="PAC Selected Files Window" width="264" height="300" class="alignnone size-medium wp-image-996" /></a></p>
<p>Within the <strong>Selected Files</strong> tab you are able to assign reports (and xactions) to the schedule, <em>in this example I will not be assigning any reports to this schedule</em>. If you want to add reports click the <img src="http://www.prashantraju.com/wp-content/uploads/2010/03/6_PAC_Add_File.jpg" alt="PAC Add File Icon" title="PAC Add File Icon" width="15" height="15" class="alignnone size-full wp-image-1011" /> icon (Add item) and use the file browser to locate your report:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/7_PAC_File_Browser.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/7_PAC_File_Browser-300x202.jpg" alt="PAC File Browser Window" title="PAC File Browser Window" width="300" height="202" class="alignnone size-medium wp-image-997" /></a></p>
<p>When you have found your report click on the <strong>Select</strong> button to add it to the schedule.</p>
<p>After completing all the options available on the <strong>Schedule</strong> tab click the <strong>OK</strong> button. You should now see the <strong>Ad hoc</strong> reports schedule in the schedule list:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/8_PAC_Scheduled_List.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/8_PAC_Scheduled_List-300x225.jpg" alt="PAC File Browser Window" title="PAC Scheduled List" width="300" height="225" class="alignnone size-medium wp-image-998" /></a></p>
<h3>Step 3 &#8211; Setup and Email the Report.</h3>
<p>The next step is to assign the report to the schedule, setup the parameters (including the email address) and schedule the report <strong>all from the PUC</strong>. Log into the PUC with a user who has access to the report (<span class="inline-pre">Top N Analysis</span>) and can schedule reports &#8211; in this example I&#8217;m using the user Joe. The report that needs to be sent out is <span class="inline-pre">Top N Analysis</span> which is located under the <span class="inline-pre">/Steel Wheels/Reporting/</span> solutions folder. Right click on the report under the <strong>Files</strong> section and select the <strong>Share</strong> option:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/9_PUC_Share.jpg" alt="PUC Share Option" title="PUC Share Option" width="251" height="269" class="alignnone size-full wp-image-999" /></p>
<p>Within the <strong>Properties</strong> window click the <strong>Advanced</strong> tab and check the <strong>Use Public Schedules</strong> option and move the <span class="inline-pre">Ad hoc Reports</span> option under the <strong>Available:</strong> list to the <strong>Current:</strong> list using the <strong>></strong> arrow and click the <strong>OK</strong> button:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/10_PUC_Current_List.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/10_PUC_Current_List-278x300.jpg" alt="PUC Advanced Tab Current Public Schedules" title="PUC Advanced Tab Current Public Schedules" width="278" height="300" class="alignnone size-medium wp-image-1000" /></a></p>
<p>Right click on the report again and select the <strong>Schedule&#8230;</strong> option:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/11_PUC_Schedule.jpg" alt="PUC Schedule... Option" title="PUC Schedule... Option" width="251" height="269" class="alignnone size-full wp-image-1001" /></p>
<p>After clicking the <strong>Schedule&#8230;</strong> option the <strong>Top N Analysis</strong> report will open up in a new tab:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/In_Report_Tab_Old_Opt.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/In_Report_Tab_Old_Opt-300x254.jpg" alt="Report Setup with Old Options" title="Report Setup with Old Options" width="300" height="254" class="alignnone size-medium wp-image-1087" /></a></p>
<p>The <strong>Report Parameters</strong> section is where you define the default parameters for this report. The Sales Manager has requested that the report parameters are:</p>
<p class="notice">Before entering this parameters make sure you uncheck the <strong>Auto Submit</strong> option</p>
<ul>
<li><strong>Product Line</strong> : Classic Cars</li>
<li><strong>Region</strong> : APAC</li>
<li><strong>Year</strong> : 2003</li>
<li><strong>Top N Customers</strong> : 10</li>
<li><strong>Output Type</strong> : PDF</li>
</ul>
<p>The <strong>Schedule Report</strong> section is the new improvement with Pentaho&#8217;s BI Server 3.5.2:</p>
<ul>
<li><strong>Report Name</strong> : The title of the report this is also displayed in the Email subject line i.e. Top 10 Classic Car Customers for APAC</li>
<li><strong>E-mail To</strong> : The report recipient’s email addresses i.e. prashant.g.raju@gmail.com. If you would like to specify more than one address seperate the emails with a , (comma) i.e. prashant.g.raju@gmail.com,prashant@analysethis.com.au</li>
<li><strong>Subscription</strong> : Which public subscription this report belongs to i.e. Ad hoc</li>
</ul>
<p>After filling out all the options click the <strong>View Report</strong> button to preview the report before you schedule it:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/In_Report_Tab_New_Opt.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/In_Report_Tab_New_Opt-300x254.jpg" alt="Report Setup with New Options" title="In Report Tab New Opt" width="300" height="254" class="alignnone size-medium wp-image-1086" /></a></p>
<p>Once you are happy with the report preview click the <strong>Schedule</strong> button. If successful you should receive the following message:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/14_PUC_Success.jpg" alt="PUC Scheduled Report Successful" title="PUC Scheduled Report Successful" width="398" height="111" class="alignnone size-full wp-image-1004" /></p>
<h3>Step 4 &#8211; Check the Report Schedule.</h3>
<p>You can check the status of the report by clicking on the <img src="http://www.prashantraju.com/wp-content/uploads/2010/03/workspace_32.png" alt="Workspace icon" title="workspace_32" width="32" height="32" class="alignnone size-full wp-image-1006" style="padding:0;" /> icon (Workspace) on the main toolbar. You are able to see the status of the <strong>Ad hoc</strong> public schedule under the <strong>All Schedules (Admin Only)</strong> section and the status of the <strong>Top 10 Classic Car Customers for APAC</strong> under the <strong>Public Schedules</strong> section:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/15_PUC_Workspace.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/15_PUC_Workspace-300x128.jpg" alt="PUC Workspace" title="PUC Workspace" width="300" height="128" class="alignnone size-medium wp-image-1005" /></a></p>
<h3>Step 5 &#8211; The Email.</h3>
<p>When the sales manager receives the email it will look similar to this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Report_As_Email.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Report_As_Email-300x173.jpg" alt="Report As Email" title="Report As Email" width="300" height="173" class="alignnone size-medium wp-image-1039" /></a></p>
<h3>Step 6 &#8211; Delete the Scheduled Report.</h3>
<p>After the report has successfully run and has been emailed to the Sales Manager you will need to remove it from the Ad hoc schedule (if you don&#8217;t the Sales Manager will keep receiving this email on weekdays out of business hours). Click on the <img src="http://www.prashantraju.com/wp-content/uploads/2010/03/workspace_32.png" alt="Workspace icon" title="workspace_32" width="32" height="32" class="alignnone size-full wp-image-1006" style="padding:0;" /> icon (Workspace) on the main toolbar and click on the <strong>Delete</strong> link next the report under the <strong>Public Schedules</strong> section:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/17_Delete_Report.jpg"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/17_Delete_Report-300x38.jpg" alt="Delete Report" title="Delete Report" width="300" height="38" class="alignnone size-medium wp-image-1012" /></a></p>
<h3>Final Notes.</h3>
<p>I&#8217;m not sure that the example I provided is a viable solution as in most cases the users can log in and run the report themselves. I personally see this functionality beneficial when running large reports which need to be run and sent out of business hours i.e. extracts.</p>
<p>Enjoy.<!--more--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/03/emailing-reports-from-the-pentaho-user-console/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Customising the Pentaho User Console &#8211; Part 3.</title>
		<link>http://www.prashantraju.com/2010/03/customising-the-pentaho-user-console-part-3/</link>
		<comments>http://www.prashantraju.com/2010/03/customising-the-pentaho-user-console-part-3/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 10:09:14 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Console]]></category>

		<guid isPermaLink="false">http://www.prashantraju.com/?p=911</guid>
		<description><![CDATA[This post is part 3 of the series “Customising the Pentaho User Console (PUC)” Version 3.5.x. Here is a list of what I have covered in other parts: Login page and dialog Messages Main toolbar, menu bar and logo panel (covered in this post) Launch page In this post I will show you how to [...]]]></description>
			<content:encoded><![CDATA[<p>This post is part 3 of the series “Customising the Pentaho User Console (PUC)” Version 3.5.x. Here is a list of what I have covered in other parts:</p>
<ul>
<li><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-1/">Login page and dialog</a></li>
<li><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-2/">Messages</a></li>
<li><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-3/"><strong>Main toolbar, menu bar and logo panel (covered in this post)</strong></a></li>
<li>Launch page</li>
</ul>
<p><strong>In this post I will show you how to customise the main-toolbar, menu-bar, logo-panel and other features for the PUC.</strong></p>
<p><span id="more-911"></span></p>
<h3>The Pentaho User Console</h3>
<p>Below is a screenshot with overlays that highlight the different areas of the PUC:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/PUC_Overview.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/PUC_Overview-300x205.jpg" alt="A screenshot with overlays of the areas which make up the PUC" title="PUC Overview" width="300" height="205" class="alignnone size-medium wp-image-924" /></a></p>
<h3>Table of Contents</h3>
<p class="notice">This tutorial has been tested with Pentaho BI Server 3.5.0 and 3.5.2.</p>
<p>I have split the tutorial into 4 different sections which involve making modifications to .PROPERTIES, .XUL, .PNG files and checking out and building the source code. Here is a &#8216;table of contents&#8217; for this tutorial:</p>
<ul>
<li><a href="#1"><strong>MantleSettings.properties</strong></a>
<ul>
<li><a href="#1b">Displaying Tabs when PUC Launches</a></li>
<li><a href="#1c">Show/Hide the menu-bar, main-toolbar and logo-panel</a></li>
<li><a href="#1d">Other Options</a></li>
</ul>
</li>
<li><a href="#2"><strong>Change the Default logo-panel Logo</strong></a></li>
<li><a href="#3"><strong>main_toolbar.xul</strong></a>
<ul>
<li><a href="#3a">Show/Hide Buttons on the main-toolbar</a></li>
</ul>
</li>
<li><a href="#5"><strong>Modifying the Source Code</strong></a>
<ul>
<li><a href="#5a">Requirements</a></li>
<li><a href="#5b">Checking Out the Source Code</a></li>
<li><a href="#5c">Examples</a>
<ul>
<li><a href="#5c1">Show/Hide menu-bar Items</a></li>
<li><a href="#5c2">Change the URL of the logo-panel</a></li>
<li><a href="#5c3">Add a Logout Button to the main-toolbar</a></li>
</ul>
</li>
<li><a href="#5d">Building the source</a></li>
</ul>
</li>
</ul>
<h3><a name="1"></a>MantleSettings.properties</h3>
<p>The <span class="inline-pre">MantleSettings.properties</span> file is located inside the <span class="inline-pre">mantle-3.5.0.stable.jar</span> file under the <span class="inline-pre">/tomcat/webapps/pentaho/WEB-INF/lib/</span> directory.</p>
<p>To make modifications to the <span class="inline-pre">MantleSettings.properties</span> you will need to have an archive tool installed i.e. <a href="http://www.winzip.com/" target="_blank">WinZip</a>, <a href="http://www.winrar.com/" target="_blank">WinRAR</a> etc. in this example I will be using WinZip. Right click on the <span class="inline-pre">mantle-3.5.0.stable.jar</span> file and click the <strong>Open With</strong> &gt; <strong>WinZip</strong> option:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Open_With_WinZip.jpg" alt="Open the mantle.3.5.0.stable.jar file with WinZip" title="Open with Winzip" width="423" height="107" class="alignnone size-full wp-image-929" /></p>
<p>Once you have opened the <span class="inline-pre">mantle-3.5.0.stable.jar</span> file with your archive tool find the <span class="inline-pre">MantleSettings.properties</span> file which is located under the <span class="inline-pre">org\pentaho\mantle\server\</span> directory and open it with a text editor &#8211; in this example I will be using <a href="http://www.pspad.com" target="_blank">PSPad</a>. Right click on the <span class="inline-pre">MantleSettings.properties</span> and click the <strong>Open With</strong> > <strong>PSPad editor</strong> option:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Open_With_PSPad.jpg" alt="Open the MantleSettings.properties file with PSPad" title="Open with PSPad" width="470" height="121" class="alignnone size-full wp-image-930" /></p>
<p>You should now be able to see the contents of the <span class="inline-pre">MantleSettings.properties</span> file:</p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="color: #000080; font-weight:bold;">show-explorer-view-on-startup</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-advanced-features</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">false</span>
<span style="color: #808080; font-style: italic;"># startup urls (each displays in its own tab)</span>
<span style="color: #000080; font-weight:bold;">num-startup-urls</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">0</span>
<span style="color: #000080; font-weight:bold;">startup-url-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/welcome/welcome.html</span>
<span style="color: #000080; font-weight:bold;">startup-name-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Welcome</span>
<span style="color: #000080; font-weight:bold;">startup-url-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">http://www.pentaho.com</span>
<span style="color: #000080; font-weight:bold;">startup-name-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Pentaho Business Intelligence</span>
<span style="color: #000080; font-weight:bold;">startup-url-3</span><span style="color: #000000;">=</span><span style="color: #000000;"><span style="color: #008000; font-weight:bold;">/pentaho/ViewAction?solution=samples&amp;amp;path=/reporting&amp;amp;action=JFree_Quad.xaction</span></span>
<span style="color: #000080; font-weight:bold;">startup-url-4</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/SampleDashboard</span>
<span style="color: #808080; font-style: italic;"># plugin perspectives</span>
<span style="color: #000080; font-weight:bold;">num-plugin-perspectives</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">0</span>
<span style="color: #000080; font-weight:bold;">plugin-perspective-url-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/adhoc/waqr.html</span>
<span style="color: #000080; font-weight:bold;">plugin-perspective-name-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Ad hoc Reporting</span>
<span style="color: #000080; font-weight:bold;">plugin-perspective-url-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/interactive-reporting/index.html</span>
<span style="color: #000080; font-weight:bold;">plugin-perspective-name-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Interactive Reporting</span>
<span style="color: #808080; font-style: italic;"># ui customization settings (if menu/toolbar are disabled, the logo panel is disabled automatically)</span>
<span style="color: #000080; font-weight:bold;">show-menu-bar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-main-toolbar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-logo-panel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span></pre></div></div>

<p>After you save any changes you make to the <span class="inline-pre">MantleSettings.properties</span> your archive tool <strong>should</strong> prompt you to update the <span class="inline-pre">mantle-3.5.0.stable.jar</span> archive. For example WinZip displays the following prompt box after I save any changes to the <span class="inline-pre">MantleSettings.properties</span> file:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Accept_To_Update_Archive.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Accept_To_Update_Archive-300x45.jpg" alt="A prompt from WinZip that warns a user to update the archive" title="Accept to update archive" width="300" height="45" class="alignnone size-medium wp-image-931" /></a></p>
<h4><strong><a name="1b"></a>Displaying Tabs when PUC Launches</strong></h4>
<p>The <span class="inline-pre">startup-urls</span> option provides functionality to tell the PUC to open tabs with predefined content when it launches i.e. welcome, intranet pages etc. The following section within the <span class="inline-pre">MantleSettings.properties</span> file is where you define these options:</p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># startup urls (each displays in its own tab)</span>
<span style="color: #000080; font-weight:bold;">num-startup-urls</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">0</span>
<span style="color: #000080; font-weight:bold;">startup-url-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/welcome/welcome.html</span>
<span style="color: #000080; font-weight:bold;">startup-name-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Welcome</span>
<span style="color: #000080; font-weight:bold;">startup-url-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">http://www.pentaho.com</span>
<span style="color: #000080; font-weight:bold;">startup-name-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Pentaho Business Intelligence</span>
<span style="color: #000080; font-weight:bold;">startup-url-3</span><span style="color: #000000;">=</span><span style="color: #000000;"><span style="color: #008000; font-weight:bold;">/pentaho/ViewAction?solution=samples&amp;amp;path=/reporting&amp;amp;action=JFree_Quad.xaction</span></span>
<span style="color: #000080; font-weight:bold;">startup-url-4</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/SampleDashboard</span></pre></div></div>

<ul>
<li><strong>num-startup-urls</strong> : The amount of URLs you would like to load when PUC launches</li>
<li><strong>startup-url-x</strong> : The location of the content which will appear in the tab (x is a user defined unique id) i.e. a webpage or xaction</li>
<li><strong>startup-name-x</strong> : The title of the tab which will contain the content you specified in the startup-url-x option (x is a user defined unique id) i.e. Welcome or Sales Dashboard</li>
</ul>
<p>In this example I would like to load two tabs when a user logs into the PUC:</p>
<ol>
<li>A tab titled Welcome which will display the <span class="inline-pre">/pentaho/welcome/welcome.html</span> page</li>
<li>A tab titled Pentaho Business Intelligence which will display the <span class="inline-pre">/pentaho/ViewAction?solution=samples&amp;path=/reporting&amp;action=JFree_Quad.xaction</span> xaction</li>
</ol>
<p>After making changes to the <span class="inline-pre">MantleSettings.properties</span> file the <span class="inline-pre">startup-urls</span> section now looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># startup urls (each displays in its own tab)</span>
<span style="color: #000080; font-weight:bold;">num-startup-urls</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">2</span>
<span style="color: #000080; font-weight:bold;">startup-url-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/welcome/welcome.html</span>
<span style="color: #000080; font-weight:bold;">startup-name-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Welcome</span>
<span style="color: #000080; font-weight:bold;">startup-url-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">http://www.pentaho.com</span>
<span style="color: #000080; font-weight:bold;">startup-name-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Pentaho Business Intelligence</span>
<span style="color: #000080; font-weight:bold;">startup-url-3</span><span style="color: #000000;">=</span><span style="color: #000000;"><span style="color: #008000; font-weight:bold;">/pentaho/ViewAction?solution=samples&amp;amp;path=/reporting&amp;amp;action=JFree_Quad.xaction</span></span>
<span style="color: #000080; font-weight:bold;">startup-url-4</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/SampleDashboard</span></pre></div></div>

<p>Restart your Apache-Tomcat server and clear your browsers cache. When you launch the PUC two tabs are loaded automatically (with the titles and content defined above):</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Num_Startup_Urls_2.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Num_Startup_Urls_2-300x266.jpg" alt="When the num-startup-urls option is set to 2" title="num-startup-urls=2" width="300" height="266" class="alignnone size-medium wp-image-932" /></a></p>
<h4><a name="1c"></a><strong>Show/Hide the menu-bar, main-toolbar and logo-panel</strong></h4>
<p>The <span class="inline-pre">show-menu-bar</span>, <span class="inline-pre">show-main-toolbar</span> and <span class="inline-pre">show-logo-panel</span> options can show/hide the menu-bar, main-toolbar or logo-panel. <em>If you decide to hide the menu-bar or main-toolbar the logo-panel is automatically hidden.</em></p>
<p>The following section within the <span class="inline-pre">MantleSettings.properties</span> file is where you define these options:</p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># ui customization settings (if menu/toolbar are disabled, the logo panel is disabled automatically)</span>
<span style="color: #000080; font-weight:bold;">show-menu-bar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-main-toolbar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-logo-panel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span></pre></div></div>

<p>Below are the different options and screenshots in action (after making any changes make sure you restart your Apache-Tomcat server and clear your browsers cache):</p>
<h5><strong>Show All</strong></h5>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Show_All.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Show_All-300x217.jpg" alt="Show menu-bar, main-toolbar and logo-panel" title="Show All" width="300" height="217" class="alignnone size-medium wp-image-936" /></a></p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="color: #000080; font-weight:bold;">show-menu-bar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-main-toolbar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-logo-panel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span></pre></div></div>

<h5><strong>show-menu-bar=false</strong></h5>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Show_Menu_Bar_False.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Show_Menu_Bar_False-300x266.jpg" alt="When the show-menu-bar opotion is set to false" title="show-menu-bar=false" width="300" height="266" class="alignnone size-medium wp-image-934" /></a></p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="color: #000080; font-weight:bold;">show-menu-bar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">false</span>
<span style="color: #000080; font-weight:bold;">show-main-toolbar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-logo-panel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span></pre></div></div>

<h5><strong>show-main-toolbar=false</strong></h5>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Hide_Main_Toolbar.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Hide_Main_Toolbar-300x217.jpg" alt="Set the show-main-toolbar option to false" title="Hide Main Toolbar" width="300" height="217" class="alignnone size-medium wp-image-937" /></a></p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="color: #000080; font-weight:bold;">show-menu-bar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-main-toolbar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">false</span>
<span style="color: #000080; font-weight:bold;">show-logo-panel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span></pre></div></div>

<h5><strong>show-logo-panel=false</strong></h5>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Show_Logo_Panel_False.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Show_Logo_Panel_False-300x266.jpg" alt="The logo-panel is not shown when the show-logo-panel=false" title="show-logo-panel=false" width="300" height="266" class="alignnone size-medium wp-image-933" /></a></p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="color: #000080; font-weight:bold;">show-menu-bar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-main-toolbar</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-logo-panel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">false</span></pre></div></div>

<h4><strong><a name="1d"></a>Other Options</strong></h4>
<p>You may have noticed other options available in the <span class="inline-pre">MantleSettings.properties</span> file:</p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="color: #000080; font-weight:bold;">show-explorer-view-on-startup</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">true</span>
<span style="color: #000080; font-weight:bold;">show-advanced-features</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">false</span>
...
<span style="color: #808080; font-style: italic;"># plugin perspectives</span>
<span style="color: #000080; font-weight:bold;">num-plugin-perspectives</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">0</span>
<span style="color: #000080; font-weight:bold;">plugin-perspective-url-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/adhoc/waqr.html</span>
<span style="color: #000080; font-weight:bold;">plugin-perspective-name-1</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Ad hoc Reporting</span>
<span style="color: #000080; font-weight:bold;">plugin-perspective-url-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">/pentaho/interactive-reporting/index.html</span>
<span style="color: #000080; font-weight:bold;">plugin-perspective-name-2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">Interactive Reporting</span>
...</pre></div></div>

<p>Below is my attempt of trying to explain these options (if you have more information on these options please let me <a href="mailto:prashant.g.raju@gmail.com">know</a>):</p>
<h5><strong>show-explorer-view-on-startup=false</strong></h5>
<p>When this option is set to <span class="inline-pre">false</span> the default solution browser is disabled and is replaced in the main content area with the old version (1.7) solution browser.</p>
<h5><strong>show-advanced-features=true</strong></h5>
<p>When this option is set to <span class="inline-pre">true</span> advanced options are enabled on the menu-bar. These advanced options include Favourite solution folders and User Preferences.</p>
<h5><strong>plugin perspectives</strong></h5>
<p>I believe this has to do with Pentaho&#8217;s BI Server new <a href="http://wiki.pentaho.com/display/ServerDoc2x/BI+Platform+Plugins+in+V2" target="_blank">plugin architecture</a> and works similar to the startup-urls option, if I set the <span class="inline-pre">num-plugin-perspectives</span> option from <span class="inline-pre">0</span> to <span class="inline-pre">2</span> the Ad hoc Reporting and Interactive Reporting items the <strong>View</strong> menu item.</p>
<h3><a name="2"></a>Change the Default logo-panel Logo</h3>
<p>To change the default logo seen on the logo-panel you will need to modify or replace the <span class="inline-pre">logo.png</span> file which is under the <span class="inline-pre">tomcat/webapps/pentaho/mantle</span> directory.</p>
<p>The new or modified <span class="inline-pre">logo.png</span> image must be:</p>
<ul>
<li>152 pixels wide</li>
<li>70 pixels high</li>
<li>A transparent .PNG image (optional)</li>
</ul>
<p>For example I would like to replace the <span class="inline-pre">logo.png</span> image with the following image:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/New_Logo.png" alt="New logo for logo-panel" title="New logo" width="152" height="60" class="alignnone size-full wp-image-941" /></p>
<p>After replacing the <span class="inline-pre">logo.png</span> with the above image the logo-panel now looks like this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/New_Logo_On_Logo_Panel.png" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/New_Logo_On_Logo_Panel-300x266.png" alt="The new logo on the logo panel" title="New Logo On Logo Panel" width="300" height="266" class="alignnone size-medium wp-image-942" /></a></p>
<p>There is no need to restart your Apache-Tomcat server to reflect this change however if no change is apparent clear your browsers cache.</p>
<h3><a name="3"></a>main_toolbar.xul</h3>
<p>The main-toolbar is built using XUL mark up (XUL was created by Mozilla and you can read up more on it <a href="https://developer.mozilla.org/en/XUL" target="_blank">here</a>). At the moment only the main-toolbar uses XUL mark-up (to make modifications to the menu-bar you will need to <a href="#5c1">modify the source code</a>). The <span class="inline-pre">main_toolbar.xul</span> file is located under the <span class="inline-pre">tomcat/webapps/pentaho/mantle/xul/</span> directory.</p>
<p>You can open the <span class="inline-pre">main_toolbar.xul</span> file with a text editor, the contents of this file look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml-stylesheet</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;chrome://global/skin/&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;window</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;400&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;275&quot;</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">&quot;Placeholder&quot;</span></span>
<span style="color: #009900;">  <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;</span>  <span style="color: #000066;">xmlns:pen</span>=<span style="color: #ff0000;">&quot;http://www.pentaho.org/2008/xul&quot;</span> <span style="color: #000066;">onload</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.init()&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbar</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;mainToolbar&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;openButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/open_32.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.openClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${openEllipsis}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;newAdhocButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/new_report_32.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.newAdhocClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${newAdhocReport}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;newAnalysisButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/new_analysis_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/new_analysis_32_disabled.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.newAnalysisClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${newAnalysisView}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;editContentButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/editContent_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/editContent_32_disabled.png&quot;</span>  <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.editContentClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${editContent}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;toggle&quot;</span> <span style="color: #000066;">pen:visible</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;editButtonSpacer&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span> <span style="color: #000066;">pen:visible</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;saveButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/save_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/save_32_disabled.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.saveClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${save}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;saveAsButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/saveAs_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/saveAs_32_disabled.png&quot;</span>  <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.saveAsClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${saveAs}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;printButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/print_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/print_32_disabled.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.printClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${print}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;workspaceButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/workspace_32.png&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;toggle&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.workspaceClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${workspace}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;showBrowserButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/browser_show_32.png&quot;</span> <span style="color: #000066;">downimage</span>=<span style="color: #ff0000;">&quot;mantle/images/browser_hide_32.png&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;toggle&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.showBrowserClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${toggleSolutionBrowser}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/toolbar<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Here are descriptions of the key elements and attributes which make up this file:</p>
<ul>
<li><strong>toolbarspacer</strong> : This element creates a blank space on the main toolbar
<ul>
<li>width : Is an attribute of the toolbarspacer element and defines how wide the blank space on the main toolbar is i.e. 20 is equivalent to 20 pixels wide</li>
</ul>
</li>
<li><strong>toolbarbutton</strong> : This element creates a button on the main toolbar
<ul>
<li>id : A unique identifier of the button &#8211; this is set for any JavaScript interaction</li>
<li>image : The image of the button, these images are located under the <span class="inline-pre">tomcat/webapps/pentaho/mantle/images</span> directory</li>
<li>disabledimage : The image which is displayed when the button is disabled (this happens when you set the disabled element to <span class="inline-pre">true</span>), these images are located under the <span class="inline-pre">tomcat/webapps/pentaho/mantle/images</span> directory</li>
<li>onclick : The function to call when the button is clicked</li>
<li>tooltiptext : The tooltip text to display when a user hovers over the button, most of these are setup in the <span class="inline-pre">messages_xx.properties</span> file (this was covered in this <a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-2" target="_blank">post</a>)</li>
<li>downimage : The image which is displayed when the button is toggled</li>
<li>type : The button type &#8211; for example if the button is a toggle button</li>
<li>disabled : When this option is set to <span class="inline-pre">true</span> the button will be disabled and the <span class="inline-pre">disabledimage</span> image will be displayed</li>
</ul>
</li>
</ul>
<p>The image below describes how the above mark up contributes to the main-toolbar:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Toolbar_Structure.jpg" alt="The structure of the main toolbar and code" title="Main Toolbar Structure" width="455" height="95" class="alignnone size-full wp-image-944" /></p>
<h4><strong><a name="3a"></a>Show/Hide Buttons on the main-toolbar</strong></h4>
<p>In this example I would like to remove a spacer, New Adhoc Report and New Analysis buttons from the main-toolbar, you can do this by deleting or commenting out lines from the <span class="inline-pre">main_toolbar.xul</span> file (I will be removing the lines). The lines of code which I will to need remove are:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;newAdhocButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/new_report_32.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.newAdhocClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${newAdhocReport}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;newAnalysisButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/new_analysis_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/new_analysis_32_disabled.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToo</span></span></pre></div></div>

<p>After making the changes the <span class="inline-pre">main_toolbar.xul</span> file now looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml-stylesheet</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;chrome://global/skin/&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;window</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;400&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;275&quot;</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">&quot;Placeholder&quot;</span></span>
<span style="color: #009900;">  <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;</span>  <span style="color: #000066;">xmlns:pen</span>=<span style="color: #ff0000;">&quot;http://www.pentaho.org/2008/xul&quot;</span> <span style="color: #000066;">onload</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.init()&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbar</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;mainToolbar&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;openButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/open_32.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.openClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${openEllipsis}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;editContentButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/editContent_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/editContent_32_disabled.png&quot;</span>  <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.editContentClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${editContent}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;toggle&quot;</span> <span style="color: #000066;">pen:visible</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;editButtonSpacer&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span> <span style="color: #000066;">pen:visible</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;saveButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/save_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/save_32_disabled.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.saveClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${save}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;saveAsButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/saveAs_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/saveAs_32_disabled.png&quot;</span>  <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.saveAsClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${saveAs}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;printButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/print_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/print_32_disabled.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.printClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${print}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;workspaceButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/workspace_32.png&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;toggle&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.workspaceClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${workspace}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;showBrowserButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/browser_show_32.png&quot;</span> <span style="color: #000066;">downimage</span>=<span style="color: #ff0000;">&quot;mantle/images/browser_hide_32.png&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;toggle&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.showBrowserClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${toggleSolutionBrowser}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/toolbar<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Save the <span class="inline-pre">main_toolbar.xul</span> file, restart your Apache-Tomcat server and clear your browsers cache. The main-toolbar now looks like this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/New_Main_Toolbar.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/New_Main_Toolbar-300x266.jpg" alt="Buttons removed from the main toolbar" title="New Main Toolbar" width="300" height="266" class="alignnone size-medium wp-image-945" /></a></p>
<h3><a name="5"></a>Modifying the Source Code</h3>
<p><strong>The following section assumes that you have experience in Java, Subversion and the Eclipse IDE.</strong></p>
<h4><strong><a name="5a"></a>Requirements</strong></h4>
<p><em>Some of the excerpts below have been taken from this <a href="http://wiki.pentaho.com/display/ServerDoc2x/01.+Setting+Up+Your+Environment+in+2.0" target="_blank">wiki</a> entry.</em></p>
<p>Before you get started you must have the following tools installed:</p>
<ul>
<li><a href="http://www.eclipse.org/" target="_blank">Eclipse IDE</a></li>
<li><a href="http://ant.apache.org/" target="_blank">Ant</a></li>
<li><a href="http://ant.apache.org/ivy/ivyde/" target="_blank">IvyDE</a></li>
<li><a href="http://subclipse.tigris.org/" target="_blank">Subclipse</a></li>
</ul>
<h5><strong>Eclipse IDE</strong></h5>
<blockquote><p>The Eclipse platform is the IDE of choice at Pentaho</p></blockquote>
<p>To download the latest version of the Eclipse IDE for your operating system click <a href="http://www.eclipse.org/downloads/" target="_blank">here</a> &#8211; I use the <em>Eclipse IDE for Java Developers</em> version.</p>
<p>If you are using Windows there is no installation package or wizard so extract the file to a working location i.e. <span class="inline-pre">C:\eclipse</span>. If you are using a Linux workstation i.e. Ubuntu or Fedora you should be able to use the software package managers to install the Eclipse IDE.</p>
<p>The first time you start up Eclipse you will be prompted to set your default Workspace &#8211; this is where you will be checking out all the required folders to build the Pentaho BI Server.</p>
<h5><strong>Ant</strong></h5>
<blockquote><p>Ant is a Java-based build tool that Pentaho uses to build the server platform, among other projects</p></blockquote>
<p>By default Apache Ant is pre-packaged with Eclipse IDE but if you would like to install/setup Apache Ant manually follow the guide posted on this <a href="http://wiki.pentaho.com/display/ServerDoc2x/01.+Setting+Up+Your+Environment+in+2.0" target="_blank">wiki</a> entry.</p>
<h5><strong>IvyDE</strong></h5>
<blockquote><p>IvyDE is an IDE that lets you manage your dependencies declared in an ivy.xml file in your Java Eclipse projects</p></blockquote>
<p>To install IvyDE click on this <a href="http://wiki.pentaho.com/download/attachments/8815995/org.apache.ivyde.feature-2.0.0.alpha1-pentaho-200808281007-with-ivy.zip?version=1" target="_blank">link</a>. Once the file has downloaded extract its contents to your Eclipse home directory i.e. <span class="inline-pre">C:\eclipse</span>, it will extract files into the <span class="inline-pre">features/</span> and <span class="inline-pre">plugins/</span> directories.</p>
<p>For more detailed instructions or if you already have a version of IvyDE installed click <a href="http://wiki.pentaho.com/display/PEOpen/Installing+ivyDE" target="_blank">here</a>.</p>
<h5><strong>Subclipse</strong></h5>
<blockquote><p>Subclipse is an Eclipse plugin that enables Subversion access from within the Eclipse environment</p></blockquote>
<p>To install Subclipse follow the instructions on this <a href="http://wiki.pentaho.com/display/ServerDoc2x/01.+Setting+Up+Your+Environment+in+2.0" target="_blank">wiki</a> entry.</p>
<p>You can also install Subclipse manually by downloading the latest version <a href="http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240" target="_blank">here</a> (the latest version at the time of writing this was 1.6.8) and extracting its contents to your Eclipse home directory i.e. <span class="inline-pre">C:\eclipse</span>, it will extract files into the <span class="inline-pre">features/</span> and <span class="inline-pre">plugins/</span> directories.</p>
<p>The next step is to configure Eclipse to use Subclipse for all SVN related tasks. Once you have installed Subclipse start Eclipse and click on the <strong>Windows</strong> &gt; <strong>Preferences</strong> option to display the <strong>Preferences</strong> window. Expand the <strong>Team</strong> item from left frame and click the <strong>SVN</strong> option. In the right frame make sure the <strong>SVN Interface</strong> is set to <span class="inline-pre">SVNKit (Pure Java) SVNKit &#8230;</span> and click the <strong>OK</strong> button.</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/SVN_Interface.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/SVN_Interface-273x300.jpg" alt="SVN interface option set to SVNKit Pure Java" title="SVN Interface Option" width="273" height="300" class="alignnone size-medium wp-image-948" /></a></p>
<h4><strong><a name="5b"></a>Checking out the Source Code</strong></h4>
<h5><strong>Create a New Project</strong></h5>
<p>The first step before you start to check out any code is to create a new project. Start up Eclipse and click on <strong>File</strong> &gt; <strong>New</strong> &gt; <strong>Project</strong> option from the menu bar:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/New_Project.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/New_Project-300x84.jpg" alt="Create a new project" title="New Project" width="300" height="84" class="alignnone size-medium wp-image-949" /></a></p>
<p>This will launch a <strong>New project</strong> wizard. Expand the <strong>General</strong> folder and select the <strong>Project</strong> option and click the <strong>Next &gt;</strong> button:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/New_Project_Wizard.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/New_Project_Wizard-300x300.jpg" alt="The new project wizard will launch" title="New Project Wizard" width="300" height="300" class="alignnone size-medium wp-image-950" /></a></p>
<p>The next window will ask you to setup your <strong>Project resource</strong>. Enter <span class="inline-pre">pentaho</span> for the <strong>Project name</strong> and leave the <strong>Use default location</strong> check box checked and click the <strong>Finish</strong> button:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Project_Name_pentaho.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Project_Name_pentaho-300x300.jpg" alt="New project name titled pentaho" title="Project Name Pentaho" width="300" height="300" class="alignnone size-medium wp-image-951" /></a></p>
<p>You should now be able to see the project <span class="inline-pre">pentaho</span> under the <strong>Package Explorer</strong> tab:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/pentaho_Project_Visible.jpg" alt="pentaho project visible under the package explorer tab" title="pentaho Project Visible" width="257" height="164" class="alignnone size-full wp-image-952" /> </p>
<h5><strong><a name="5b1"></a>Checkout All Necessary Folders</strong></h5>
<p>The next step is to checkout all the folders which are required to build the Pentaho BI Server from source. You will need to checkout these 4 folders:</p>
<ul>
<li>svn://source.pentaho.org/svnroot/bi-platform-v2/tags/3.5.0-GA</li>
<li>svn://source.pentaho.org/svnroot/legacy/pentaho-xul/trunk</li>
<li>svn://source.pentaho.org/svnroot/pentaho-commons/pentaho-gwt-modules/trunk</li>
<li>svn://source.pentaho.org/svnroot/pentaho-open-admin-console/tags/3.5.0-GA</li>
</ul>
<p>You can browse the repository with your browser by visiting this URL: <a href="http://source.pentaho.org/svnroot/" target="_blank">http://source.pentaho.org/svnroot/</a>.</p>
<div class="notice">
<p>I have tested this with version 3.5.2 so if you are running 3.5.2 use the following 5 folders:</p>
<ul class="bottom">
<li>svn://source.pentaho.org/svnroot/bi-platform-v2/tags/3.5.2.stable</li>
<li>svn://source.pentaho.org/svnroot/legacy/pentaho-xul/trunk</li>
<li>svn://source.pentaho.org/svnroot/pentaho-commons/pentaho-gwt-modules/trunk</li>
<li>svn://source.pentaho.org/svnroot/pentaho-open-admin-console/tags/3.5.2.stable</li>
</ul>
</div>
<p>You will need to repeat the steps seen below for each folder, I have used the first folder as an example (<span class="inline-pre">3.5.0-GA</span>).</p>
<p>The first step is to import the <span class="inline-pre">svn://source.pentaho.org/svnroot/bi-platform-v2/tags/3.5.0-GA</span> (<span class="inline-pre">bi-platform-v2/tags/3.5.0-GA</span>) into the <span class="inline-pre">pentaho</span> project which we created earlier. Right click on the <span class="inline-pre">pentaho</span> project under the <strong>Package Explorer</strong> tab and click on the <strong>Import&#8230;</strong> option:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Import_Folder.jpg" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Import_Folder-280x300.jpg" alt="Right click on pentaho and click the Import... option" title="Import_Folder" width="280" height="300" class="alignnone size-medium wp-image-976" /></a></p>
<p>An <strong>Import</strong> window will appear asking you for the source of the import, expand the <strong>SVN</strong> folder and click the <strong>Checkout Projects from SVN</strong> option and click the <strong>Next &gt;</strong> button:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Import_Project_From_SVN.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Import_Project_From_SVN-256x300.jpg" alt="Import a SVN project" title="Import Project From SVN" width="256" height="300" class="alignnone size-medium wp-image-958" /></a></p>
<p>The next window will ask you if you would like to <strong>Create a new repository location</strong> or <strong>Use existing repository location</strong>, click the <strong>Create a new repository location</strong> option and click the <strong>Next &gt;</strong> button:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Create_New_Location.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Create_New_Location-272x300.jpg" alt="Create a new repository location" title="Create a New Repository Location" width="272" height="300" class="alignnone size-medium wp-image-959" /></a></p>
<p>The next window will ask you the location of the repository, enter in the <strong>URL</strong> for the folder if you are doing this for the first time enter <span class="inline-pre">svn://source.pentaho.org/svnroot/bi-platform-v2/tags/3.5.0-GA</span> as the URL and click the <strong>Next &gt;</strong> button:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/SVN_Location.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/SVN_Location-272x300.jpg" alt="The URL of the SVN location to be checked out" title="SVN Location" width="272" height="300" class="alignnone size-medium wp-image-969" /></a></p>
<p>The next window will ask you which folder you would like to check out, as you need all folders under each listed URL &#8211; select the root folder which in this example can be seen listed as <span class="inline-pre">svn://source.pentaho.org/svnroot/bi-platform-v2/tags/3.5.0-GA</span> and click the <strong>Next &gt;</strong> button:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Select_A_Folder_Repo.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Select_A_Folder_Repo-272x300.jpg" alt="" title="Select_A_Folder_Repo" width="272" height="300" class="alignleft size-medium wp-image-962" /></a></p>
<p>The next window will ask you how you want to check out the folder. Click on the <strong>Check out as a project in the workspace</strong> option and leave the <strong>Project name</strong> to the populated name, leave the rest of the options to the defaults and click the <strong>Next &gt;</strong> button:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/check_out_as_svn.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/check_out_as_svn-272x300.jpg" alt="Check out the SVN folder with the default name" title="Check Out As SVN Folder" width="272" height="300" class="alignnone size-medium wp-image-967" /></a></p>
<p>The last window will ask you where you would like to check out the folder to, uncheck the <strong>Use the default workspace location</strong> option and make sure the <strong>Location</strong> points to the <span class="inline-pre">pentaho</span> project&#8217;s folder under your workspace i.e. <span class="inline-pre">C:\Users\prashant\workspace\pentaho\3.5.2.stable\mantle\dist</span> then click the <strong>Finish</strong> button:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/SVN_URL.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/SVN_URL-272x300.jpg" alt="The location under your workspace to place the checked out project" title="Place Check Out Files" width="272" height="300" class="alignnone size-medium wp-image-960" /></a></p>
<p>After the checking out is complete (it may take a while depending on your internet connection) you will see the project listed under the <span class="inline-pre">pentaho/</span>project on the <strong>Package explorer</strong> tab:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/pentaho_project_listed.jpg" alt="The 3.5.0-GA folder checked out" title="Pentaho Projects Listed" width="252" height="254" class="alignnone size-full wp-image-970" /></p>
<p>Repeat the above <a href="#5b1"></a>steps for the next 3 URLs, after you have completed this you should now see the following projects under your <span class="inline-pre">pentaho</span> project on the <strong>Package explorer</strong> tab:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/All_Folders_Checked_Out.jpg" alt="All folders checked out under the pentaho project" title="All Folders Checked Out" width="252" height="299" class="alignnone size-full wp-image-971" /></p>
<p>While you are checking out folders IvyDE will automatically retrieve any dependencies which the source code needs &#8211; this may take a while as it downloads packages etc. so just keep an eye on the bottom right hand corner to make sure that all the dependencies have downloaded for all the folders you have checked out:</p>
<p><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Resolve_Dependencies.jpg" alt="Resolve Dependencies" title="Resolve Dependencies" width="284" height="44" class="alignnone size-full wp-image-972" /></p>
<p>Now you are ready to start modifying the source code.</p>
<h3><a name="5c"></a>Examples</h3>
<p>As you can almost do anything when modifying the source code I decided to keep the examples to minor changes to the PUC user interface &#8211; hopefully these examples can give you a head start with any modifications you need to do.</p>
<h4><strong><a name="5c1"></a>Show/Hide menu-bar Items</strong></h4>
<p>To change the items which are appear on the menu-bar you will need to edit the <span class="inline-pre">MantleApplication.java</span> file within Eclipse, this file is located under the <span class="inline-pre">pentaho/3.5.0-GA/mantle/org/pentaho/mantle/client/</span> directory (<strong>pentaho</strong> is the name of the project).</p>
<p>To understand how menu items are added to the menu bar below is a high level breakdown of the code.</p>
<p>The following piece of code:</p>
<ol>
<li>Creates the <strong>Save</strong> menu item</li>
<li>Assigns the save message defined in the <span class="inline-pre"><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-2/" target="_blank">messages_xx.properties</a> file</span></li>
<li>Assigns the <span class="inline-pre">SaveCommand</span> function to the <strong>Save</strong> menu item</li>
<li>Assigns <span class="inline-pre">save</span> as an element id</li>
</ol>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">saveMenuItem <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> PentahoMenuItem<span style="color: #009900;">&#40;</span>Messages.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;save&quot;</span><span style="color: #009900;">&#41;</span>, <span style="color: #000000; font-weight: bold;">new</span> SaveCommand<span style="color: #009900;">&#40;</span>solutionBrowserPerspective, <span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//$NON-NLS-1$</span>
saveMenuItem.<span style="color: #006633;">getElement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setId</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;save&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The following piece of code:</p>
<ol>
<li>Adds the <strong>Save</strong> menu item to the <strong>File</strong> menu item</li>
<li>Adds a separator (horizontal bar) to the <strong>File</strong> menu</li>
</ol>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">fileMenu.<span style="color: #006633;">addItem</span><span style="color: #009900;">&#40;</span>saveMenuItem<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fileMenu.<span style="color: #006633;">addSeparator</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In this example I want to hide the <strong>Help</strong> menu item, to do this you will need to comment out the following line of code:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">menuBar.<span style="color: #006633;">addItem</span><span style="color: #009900;">&#40;</span>helpMenuBar<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>After commenting the above line looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//menuBar.addItem(helpMenuBar);</span></pre></div></div>

<p class="notice">If you were going to make this change permanent I would suggest you remove all instances of the <strong>Help</strong> menu item and sub items.</p>
<p>Save the file and <a href="#5d">rebuild the pentaho project</a> and copy over the new directories and files, after this is complete the new menu-bar now looks like this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/No_Help_Menu_Item.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/No_Help_Menu_Item-300x217.jpg" alt="No Help Menu Item" title="No Help Menu Item" width="300" height="217" class="alignnone size-medium wp-image-1029" /></a></p>
<p>Another example is if I wanted to remove the following menu items (which are part of the <strong>File</strong> menu item):</p>
<ul>
<li>File
<ul>
<li>New (remove including sub items)</li>
<li>&#8212; (remove)</li>
<li>Save (remove)</li>
<li>Save As&#8230; (remove)</li>
<li>&#8212; (remove)</li>
</ul>
</li>
</ul>
<p>First locate the following lines of code within the <span class="inline-pre">MantleApplication.java</span> file:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">fileMenu.<span style="color: #006633;">addItem</span><span style="color: #009900;">&#40;</span>newMenuBar<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
...
<span style="color: #006633;">fileMenu</span>.<span style="color: #006633;">addSeparator</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fileMenu.<span style="color: #006633;">addItem</span><span style="color: #009900;">&#40;</span>saveMenuItem<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fileMenu.<span style="color: #006633;">addItem</span><span style="color: #009900;">&#40;</span>saveAsMenuItem<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fileMenu.<span style="color: #006633;">addSeparator</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>After commenting out the above lines of code they now look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//fileMenu.addItem(newMenuBar);</span>
...
<span style="color: #666666; font-style: italic;">//fileMenu.addSeparator();</span>
<span style="color: #666666; font-style: italic;">//fileMenu.addItem(saveMenuItem);</span>
<span style="color: #666666; font-style: italic;">//fileMenu.addItem(saveAsMenuItem);</span>
<span style="color: #666666; font-style: italic;">//fileMenu.addSeparator();</span></pre></div></div>

<p class="notice">If you were going to make this change permanent I would suggest you remove all instances of these menu items and sub items.</p>
<p>Save the file and <a href="#5d">rebuild the pentaho project</a>, after this is complete the new menu-bar now looks like this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Modify_Source_2nd_Ex.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Modify_Source_2nd_Ex-300x217.jpg" alt="Modify the Source Code Example 2" title="Modify the Source Code Example 2" width="300" height="217" class="alignnone size-medium wp-image-1019" /></a></p>
<h4><strong><a name="5c2"></a>Change the URL of the logo-panel</strong></h4>
<p>To change the URL which the logo-panel points to you will need to edit the <span class="inline-pre">MantleApplication.java</span> file in Eclipse which is located under the <span class="inline-pre">pentaho/3.5.0-GA/mantle/org/pentaho/mantle/client/</span> directory (<strong>pentaho</strong> is the name of the project). First locate this line of code:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">logoPanel <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> LogoPanel<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://www.pentaho.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//$NON-NLS-1$</span></pre></div></div>

<p>At the moment it is pointing to Pentaho&#8217;s homepage, in this example I would like to have the URL point to my blog&#8217;s homepage, the line of code now looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">logoPanel <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> LogoPanel<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://www.prashantraju.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//$NON-NLS-1$</span></pre></div></div>

<p>Save the file and <a href="#5d">rebuild the pentaho project</a>, after this is complete when a user clicks on the logo-panel they are directed to my blog&#8217;s homepage:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Modify_Source_3rd_Ex.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Modify_Source_3rd_Ex-300x225.jpg" alt="Modify Source Code Example 3" title="Modify Source Code Example 3" width="300" height="225" class="alignnone size-medium wp-image-1020" /></a></p>
<h4><strong><a name="5c3"></a>Add a Logout Button to the main-toolbar</strong></h4>
<p>To add a logout button to the main-toolbar you will need to first create a function which you will be able to call from the <span class="inline-pre">main_toolbar.xul</span> file. Open the <span class="inline-pre">MainToolbarController.java</span> file in Eclipse which is located under the <span class="inline-pre">pentaho/3.5.0-GA/mantle/org/pentaho/mantle/client/toolbars/</span> directory.</p>
<p>The next step is to import the <span class="inline-pre">commands/LogoutCommand.java</span> file, to do this add the following line to the header of the <span class="inline-pre">MainToolbarController.java</span> file where the other imports are located:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.mantle.client.commands.LogoutCommand</span><span style="color: #339933;">;</span></pre></div></div>

<p>The header section of the <span class="inline-pre">MainToolbarController.java</span> file now looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">org.pentaho.mantle.client.toolbars</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.ArrayList</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.List</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.mantle.client.commands.ShowBrowserCommand</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.mantle.client.commands.ToggleWorkspaceCommand</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.mantle.client.commands.LogoutCommand</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.mantle.client.perspective.solutionbrowser.SolutionBrowserPerspective</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.ui.xul.EventMethod</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.ui.xul.binding.BindingFactory</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.ui.xul.components.XulToolbarbutton</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.ui.xul.gwt.binding.GwtBindingFactory</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.ui.xul.impl.AbstractXulEventHandler</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.pentaho.ui.xul.stereotype.Bindable</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.google.gwt.core.client.JavaScriptObject</span><span style="color: #339933;">;</span>
...</pre></div></div>

<p>The second step is to add the following function, <span class="inline-pre">logoutClicked()</span> to the <span class="inline-pre">AbstractXulEventHandler()</span> function, locate the following section of code:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@Bindable
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> showBrowserClicked<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  ShowBrowserCommand showBrowserCommand <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ShowBrowserCommand<span style="color: #009900;">&#40;</span>solutionBrowser<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  showBrowserCommand.<span style="color: #006633;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  model.<span style="color: #006633;">setShowBrowserSelected</span><span style="color: #009900;">&#40;</span>solutionBrowser.<span style="color: #006633;">isExplorerViewShowing</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Underneath the above section of code copy and paste the following function:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@Bindable
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> logoutClicked<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 LogoutCommand logoutCommand <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> LogoutCommand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 logoutCommand.<span style="color: #006633;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Save the file and <a href="#5d">rebuild the pentaho project</a> and copy over the new directories and files. You will now need to make changes to the <span class="inline-pre">main_toolbar.xul</span> file which is located under the <span class="inline-pre">tomcat/webapps/pentaho/mantle/xul/</span> directory. Open up the file in a text editor and add the following line of code:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;logoutButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/home_back_32.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.logoutClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${logout}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<ul>
<li><strong>toolbarspacer</strong> : Add a space of 10 pixels between the logout button and the solution browser toggle button</li>
<li><strong>id</strong> : A unique identifier for the button (optional) i.e. logoutButton</li>
<li><strong>image</strong> : The image which will be displayed for the logout button &#8211; I used this <img src="http://www.prashantraju.com/wp-content/uploads/2010/03/home_back_32.png" alt="Logout" title="home_back_32" width="32" height="32" class="alignnone size-full wp-image-1022" /> (<a href="http://www.woothemes.com/2009/09/woofunction-178-amazing-web-design-icons/" target="_blank">WooFunction Icons released under GNU GPL</a>)</li>
<li><strong>onclick</strong> : The function to call when the logout button is clicked &#8211; this is the function we created in the previous step <span class="inline-pre">logoutClicked()</span>, this <strong>must</strong> be part of the <span class="inline-pre">mainToolbarHandler</span></li>
<li><strong>tooltiptext</strong> : The tooltip which is displayed when the user hovers over the logout button &#8211; in this case there is already a logout message defined so I have reused this</li>
</ul>
<p>The <span class="inline-pre">main_toolbar.xul</span> file now looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml-stylesheet</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;chrome://global/skin/&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;window</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;400&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;275&quot;</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">&quot;Placeholder&quot;</span></span>
<span style="color: #009900;">  <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;</span>  <span style="color: #000066;">xmlns:pen</span>=<span style="color: #ff0000;">&quot;http://www.pentaho.org/2008/xul&quot;</span> <span style="color: #000066;">onload</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.init()&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbar</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;mainToolbar&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;openButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/open_32.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.openClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${openEllipsis}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;newAdhocButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/new_report_32.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.newAdhocClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${newAdhocReport}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;newAnalysisButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/new_analysis_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/new_analysis_32_disabled.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.newAnalysisClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${newAnalysisView}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;editContentButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/editContent_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/editContent_32_disabled.png&quot;</span>  <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.editContentClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${editContent}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;toggle&quot;</span> <span style="color: #000066;">pen:visible</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;editButtonSpacer&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span> <span style="color: #000066;">pen:visible</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;saveButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/save_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/save_32_disabled.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.saveClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${save}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;saveAsButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/saveAs_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/saveAs_32_disabled.png&quot;</span>  <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.saveAsClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${saveAs}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;printButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/print_32.png&quot;</span> <span style="color: #000066;">disabledimage</span>=<span style="color: #ff0000;">&quot;mantle/images/print_32_disabled.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.printClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${print}&quot;</span> <span style="color: #000066;">disabled</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;workspaceButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/workspace_32.png&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;toggle&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.workspaceClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${workspace}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;showBrowserButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/browser_show_32.png&quot;</span> <span style="color: #000066;">downimage</span>=<span style="color: #ff0000;">&quot;mantle/images/browser_hide_32.png&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;toggle&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.showBrowserClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${toggleSolutionBrowser}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarspacer</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;toolbarbutton</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;logoutButton&quot;</span> <span style="color: #000066;">image</span>=<span style="color: #ff0000;">&quot;mantle/images/logout_32.png&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;mainToolbarHandler.logoutClicked()&quot;</span> <span style="color: #000066;">tooltiptext</span>=<span style="color: #ff0000;">&quot;${logout}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/toolbar<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Restart your Apache-Tomcat server and clear your browsers cache. The main-toolbar now looks like this:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Modify_Source_4th_Ex.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Modify_Source_4th_Ex-300x225.jpg" alt="Modify Source Code for Logout Button" title="Modify Source Code for Logout Button" width="300" height="225" class="alignnone size-medium wp-image-1025" /></a></p>
<p>When a User clicks on the Logout button they are logged out from the PUC.</p>
<h3><a name="5d"></a>Building the Source Code</h3>
<p>To build the modified source code you will need to use Ant, as I mentioned early Ant comes packaged with Eclipse which makes it a lot easier to use. To start the build process right click on the <span class="inline-pre">build.xml</span> file under the <span class="inline-pre">pentaho/3.5.0-GA/bi-platform-build/</span> directory and click the <strong>Run As</strong> &gt; <strong>1 Ant Build</strong> option:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/run_ant_build.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/run_ant_build-300x278.jpg" alt="Run as &gt; 1 Ant Build" title="Run As Ant Build" width="300" height="278" class="alignnone size-medium wp-image-974" /></a></p>
<p>After clicking the <strong>1 Ant Build</strong> option Eclipse will start the build process, you can monitor the build progress from the <strong>Output</strong> tab:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/03/Output_Tab.jpg" target="_blank" target="_blank"><img src="http://www.prashantraju.com/wp-content/uploads/2010/03/Output_Tab-300x81.jpg" alt="Output Tab" title="Output Tab" width="300" height="81" class="alignnone size-medium wp-image-984" /></a></p>
<p>The following message will be displayed in the <strong>Output</strong> tab when the build process has completed successfully:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">BUILD SUCCESSFUL
Total time: 10 minutes 4 seconds</pre></div></div>

<p class="notice">It can take over 20 minutes to build the source code for the first time and consequent builds can take between 5 to 15 minutes &#8211; this depends on your system setup, internet connection etc.</p>
<p>Once the build process has finished you will need to copy the following directories and file over to your Pentaho BI Server installation:</p>
<ul>
<li>mantle/</li>
<li>mantleLogin/</li>
<li>mantle-3.5.0.stable.jar</li>
</ul>
<p>These directories and files are found under the <span class="inline-pre">pentaho/3.5.0-GA/mantle/dist/</span> directory. Before you copy these files over make sure you stop your Apache-Tomcat server and rename the current <span class="inline-pre">mantle/</span>, <span class="inline-pre">mantleLogin/</span> and <span class="inline-pre">mantle-3.5.0.stable.jar</span> so that they don&#8217;t cause any conflicts, in this example I renamed them to <span class="inline-pre">mantle.old/</span>, <span class="inline-pre">mantleLogin.old/</span> and <span class="inline-pre">mantle-3.5.0.stable.old.jar</span>.</p>
<p>The new <span class="inline-pre">mantle/</span>, <span class="inline-pre">mantleLogin/</span> directories are inside the <span class="inline-pre">mantle-package-3.5-SNAPSHOT.zip</span> file, extract the contents of this file into the <span class="inline-pre">tomcat/webapps/pentaho/</span> directory.<br />
The new <span class="inline-pre">mantle.3.5.0.stable.jar</span> file is also under the same directory but is named <span class="inline-pre">mantle-3.5-SNAPSHOT.jar</span>, rename this file to <span class="inline-pre">mantle-3.5.0.stable.jar</span> and copy it to the <span class="inline-pre">tomcat/webapps/pentaho/WEB-INF/lib/</span> directory.</p>
<p>After you have extracted and copied the new directories and file your <span class="inline-pre">tomcat/webapps/pentaho/</span> directory structure should now look like this:</p>
<ul>
<li>tomcat/webapps/pentaho/
<ul>
<li>mantle/</li>
<li>mantle.old/</li>
<li>mantleLogin/</li>
<li>mantleLogin.old/</li>
<li>WEB-INF/
<ul>
<li>lib/
<ul>
<li>mantle-3.5.0.stable.jar</li>
<li>mantle-3.5.0.stable.old.jar</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p class="error"><strong>Do not</strong> overwrite original directories and files!</p>
<p class="notice">If you are using a more recent version of Pentaho BI Server i.e. 3.5.2 the .JAR file will have a different name i.e. <span class="inline-pre">mantle-3.5.2.stable.jar</p>
<p>Start your Apache-Tomcat server, clear your browsers cache and view the modifications you have made to source code.</p>
<h3>Final Notes</h3>
<p>I didn&#8217;t try and go into too much detail with the &#8220;<a href="#5">Modifying the Source Code</a>&#8221; section as I could of have written a whole book on it! Hopefully the examples I have provided give you a bit of a kick start with any modifications you need to make to customise the PUC user interface however the best way to learn is by trial and error. This is the approach I took and I have never touched Java before I started using Pentaho!</p>
<p>Good luck and enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/03/customising-the-pentaho-user-console-part-3/feed/</wfw:commentRss>
		<slash:comments>73</slash:comments>
		</item>
		<item>
		<title>Customising the Pentaho User Console &#8211; Part 2.</title>
		<link>http://www.prashantraju.com/2010/02/customising-the-pentaho-user-console-part-2/</link>
		<comments>http://www.prashantraju.com/2010/02/customising-the-pentaho-user-console-part-2/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 13:42:02 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Console]]></category>

		<guid isPermaLink="false">http://www.prashantraju.com/?p=873</guid>
		<description><![CDATA[This post is part 2 of the series “Customising the Pentaho User Console (PUC)” Version 3.5.x. Here is a list of what I have covered in other parts: Login page and dialog Messages (covered in this post) Main toolbar, menu bar and logo panel Launch page In this post I will show you how to [...]]]></description>
			<content:encoded><![CDATA[<p>This post is part 2 of the series “Customising the Pentaho User Console (PUC)” Version 3.5.x. Here is a list of what I have covered in other parts:</p>
<ul>
<li><a href="http://www.prashantraju.com/pentaho/customising-the-pentaho-user-console-part-1/">Login page and dialog</a></li>
<li><strong><a href="http://www.prashantraju.com/pentaho/customising-the-pentaho-user-console-part-2/">Messages</a> (covered in this post)</strong></li>
<li><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-3/">Main toolbar, menu bar and logo panel</a></li>
<li><a href="http://www.prashantraju.com/2010/03/customising-the-pentaho-user-console-part-4/" target="_blank">Launch page</a></li>
</ul>
<p><strong>In this post I will show you how to customise messages for the login dialog and PUC.</strong></p>
<p><span id="more-873"></span></p>
<h3>Customising Login Dialog Messages</h3>
<p>Messages for the login dialog are displayed as text i.e. “Login” as the title of the login dialog or “Login Error” the error message a user receives when they don’t provide the right credentials:</p>
<p><img class="size-full wp-image-1161 alignnone" title="Login and Error Preview" src="http://www.prashantraju.com/wp-content/uploads/2010/02/login_and_error_preview.jpg" alt="Login and Error Preview" width="224" height="245" /></p>
<p>To modify the messages you need to make modifications to the <span class="inline-pre">MantleLoginMessages_en.PROPERTIES</span> file, which is located under two  different directories:</p>
<ul>
<li><span class="inline-pre">\tomcat\webapps\pentaho\mantleLogin\messages\MantleLoginMessages_en.PROPERTIES</span></li>
<li><span class="inline-pre">\tomcat\webapps\pentaho\mantle\messages\MantleLoginMessages_en.PROPERTIES</span> *</li>
</ul>
<p>* I’m not sure why there is a second copy of the file located under the <span class="inline-pre">\mantle\</span> directory, it could be used when users timeout while still logged into the PUC – as the login dialog pops up – but I’m only guessing (if you do know please let me know).</p>
<p>If you look inside these directories you will see a <span class="inline-pre">MantleLoginMessages.PROPERTIES</span> file, when you first load the login page this file is loaded first then the <span class="inline-pre">MantleLoginMessages_en.PROPERTIES</span> file. This means that we only need to make changes to the <span class="inline-pre">MantleLoginMessages_en.PROPERTIES</span> file or <span class="inline-pre">MantleLoginMessages_xx.PROPERTIES</span> depending on your language setting (in this example I will be using the <span class="inline-pre">MantleLoginMessages_en.PROPERTIES</span> file).  Once you have opened the <span class="inline-pre">MantleLoginMessages_en.PROPERTIES</span> file you will see a list of messages which can be modified (you should be able to figure out what they relate to from their names):</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #000080; font-weight: bold;">authFailed</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Authentication failed</span>
<span style="color: #000080; font-weight: bold;">loginError</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Login Error</span>
<span style="color: #000080; font-weight: bold;">launchInNewWindow</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Launch in new window</span>
<span style="color: #000080; font-weight: bold;">login</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Login</span>
<span style="color: #000080; font-weight: bold;">ok</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Ok</span>
<span style="color: #000080; font-weight: bold;">cancel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Cancel</span>
<span style="color: #000080; font-weight: bold;">username</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">User Name</span>
<span style="color: #000080; font-weight: bold;">password</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Password</span>
<span style="color: #000080; font-weight: bold;">error</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Error</span>
<span style="color: #000080; font-weight: bold;">sampleUser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Sample User</span>
<span style="color: #000080; font-weight: bold;">selectUser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Select a User</span>
<span style="color: #000080; font-weight: bold;">serverError</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">A critical server error has occurred, check the logs.</span>
<span style="color: #000080; font-weight: bold;">popupWarning</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">We've detected the use of </span><span style="color: #933;">"pop-up blocking"</span> software which prevented&amp;lt;br/&amp;gt;the launch of the Pentaho User Console in a new window.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Disable popup blocking for this site or uncheck&amp;lt;br/&amp;gt; <span style="color: #933;">"Launch in new window"</span>.</pre>
</div>
</div>
<p>In this example I would like to modify the:</p>
<ul>
<li><span class="inline-pre">login</span> message from “Login” to “Login to Steel Wheels”</li>
<li><span class="inline-pre">username</span> message from “User name” to “Steel Wheels Username”</li>
<li><span class="inline-pre">sampleUser</span> message from “Sample Users” to “Steel Wheels Sample Users”</li>
</ul>
<p>After making modifications to both MantleLoginMessages_en.PROPERTIES files they now look like this (you do not have to stop your Apache-Tomcat server before making any modifications):</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #000080; font-weight: bold;">authFailed</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Authentication failed</span>
<span style="color: #000080; font-weight: bold;">loginError</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Login Error</span>
<span style="color: #000080; font-weight: bold;">launchInNewWindow</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Launch in new window</span>
<span style="color: #000080; font-weight: bold;">login</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Login to Steel Wheels</span>
<span style="color: #000080; font-weight: bold;">ok</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Ok</span>
<span style="color: #000080; font-weight: bold;">cancel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Cancel</span>
<span style="color: #000080; font-weight: bold;">username</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Steel Wheels Username</span>
<span style="color: #000080; font-weight: bold;">password</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Password</span>
<span style="color: #000080; font-weight: bold;">error</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Error</span>
<span style="color: #000080; font-weight: bold;">sampleUser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Steel Wheels Sample Users</span>
<span style="color: #000080; font-weight: bold;">selectUser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Select a User</span>
<span style="color: #000080; font-weight: bold;">serverError</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">A critical server error has occurred, check the logs.</span>
<span style="color: #000080; font-weight: bold;">popupWarning</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">We've detected the use of </span><span style="color: #933;">"pop-up blocking"</span> software which prevented&amp;lt;br/&amp;gt;the launch of the Pentaho User Console in a new window.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Disable popup blocking for this site or uncheck&amp;lt;br/&amp;gt; <span style="color: #933;">"Launch in new window"</span>.</pre>
</div>
</div>
<p>Save and close the file, <strong>clear your web browser’s cache</strong> and refresh the login page. The modified login dialog now looks like this:</p>
<p><img class="size-full wp-image-1156 alignnone" title="Customised Login Dialog" src="http://www.prashantraju.com/wp-content/uploads/2010/02/login_dialog_customise.jpg" alt="Customised Login Dialog" width="218" height="245" /></p>
<p>Another example would be to change the default login error message:</p>
<p><img class="size-full wp-image-1159 alignnone" title="Default Login Error" src="http://www.prashantraju.com/wp-content/uploads/2010/02/login_error_before.jpg" alt="Default Login Error" width="102" height="100" /></p>
<p>I would like to change the:</p>
<ul>
<li><span class="inline-pre">error</span> message from “Error” to “Authentication Error”</li>
<li><span class="inline-pre">loginError</span> message from “Login Error” to “Your username or password was incorrect. Try again.”</li>
</ul>
<p>After making modifications to both MantleLoginMessages_en.PROPERTIES files they now look like this (you do not have to stop your Apache-Tomcat server before making any modifications):</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #000080; font-weight: bold;">authFailed</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Authentication failed</span>
<span style="color: #000080; font-weight: bold;">loginError</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Your username or password was incorrect. Try again.</span>
<span style="color: #000080; font-weight: bold;">launchInNewWindow</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Launch in new window</span>
<span style="color: #000080; font-weight: bold;">login</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Login to Steel Wheels</span>
<span style="color: #000080; font-weight: bold;">ok</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Ok</span>
<span style="color: #000080; font-weight: bold;">cancel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Cancel</span>
<span style="color: #000080; font-weight: bold;">username</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Steel Wheels Username</span>
<span style="color: #000080; font-weight: bold;">password</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Password</span>
<span style="color: #000080; font-weight: bold;">error</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Authentication Error</span>
<span style="color: #000080; font-weight: bold;">sampleUser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Steel Wheels Sample Users</span>
<span style="color: #000080; font-weight: bold;">selectUser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Select a User</span>
<span style="color: #000080; font-weight: bold;">serverError</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">A critical server error has occurred, check the logs.</span>
<span style="color: #000080; font-weight: bold;">popupWarning</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">We've detected the use of </span><span style="color: #933;">"pop-up blocking"</span> software which prevented&amp;lt;br/&amp;gt;the launch of the Pentaho User Console in a new window.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Disable popup blocking for this site or uncheck&amp;lt;br/&amp;gt; <span style="color: #933;">"Launch in new window"</span>.</pre>
</div>
</div>
<p>Save and close the file, <strong>clear your web browser’s cache</strong> and refresh the login page. The modified error message now looks like this:</p>
<p><img class="size-full wp-image-1160 alignnone" title="Login Error After Customisation" src="http://www.prashantraju.com/wp-content/uploads/2010/02/login_error_after.jpg" alt="Login Error After Customisation" width="402" height="100" /></p>
<p>As I mentioned above if you need to change messages for a specific language you will need to modify both <span class="inline-pre">MantleLoginMessages_xx.PROPERTIES</span> files (where <span class="inline-pre">xx</span> is the language code). Pentaho Business Intelligence (BI) Platform Version 3.5.0 supports the following languages:</p>
<ul>
<li><span class="inline-pre">MantleLoginMessages_en.PROPERTIES</span> :  English</li>
<li><span class="inline-pre">MantleLoginMessages_de.PROPERTIES</span> :  German</li>
<li><span class="inline-pre">MantleLoginMessages_es.PROPERTIES</span> :  Spanish</li>
<li><span class="inline-pre">MantleLoginMessages_fr.PROPERTIES</span> :  French</li>
<li><span class="inline-pre">MantleLoginMessages_ja.PROPERTIES</span> :  Japanese</li>
</ul>
<h3>Customising User Console Messages</h3>
<p>User Console messages are stored in the <span class="inline-pre">messages_en.PROPERTIES</span> file which is located under the <span class="inline-pre">\tomcat\webapps\pentaho\mantle\messages\</span> directory.</p>
<p>If you look inside this directory you will see a <span class="inline-pre">messages.PROPERTIES</span> file, when you first load the user console this file is loaded first then the <span class="inline-pre">messages_en.PROPERTIES</span> file. This means that we only need to make changes to the <span class="inline-pre">messages_en.PROPERTIES</span> file or <span class="inline-pre">messages_xx.PROPERTIES</span> depending on your language setting (in this example I will be using the <span class="inline-pre">messages_en.PROPERTIES</span> file).  Once you have opened the <span class="inline-pre">messages_en.PROPERTIES</span> file you will see a list of (263) messages which can be modified (I won’t go through each message but you should  be able to figure out what they relate to from their names):</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #000080; font-weight: bold;">productName</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Pentaho User Console</span>
<span style="color: #000080; font-weight: bold;">file</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">File</span>
<span style="color: #000080; font-weight: bold;">print</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Print...</span>
<span style="color: #000080; font-weight: bold;">options</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Options</span>
<span style="color: #000080; font-weight: bold;">view</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">View</span>
<span style="color: #000080; font-weight: bold;">admin</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Admin</span>
<span style="color: #000080; font-weight: bold;">help</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Help</span>
<span style="color: #000080; font-weight: bold;">logout</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Log Out</span>
<span style="color: #000080; font-weight: bold;">welcome</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Welcome</span>
<span style="color: #000080; font-weight: bold;">refresh</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Refresh</span>
<span style="color: #000080; font-weight: bold;">toggleSolutionBrowser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Toggle Browser</span>
<span style="color: #000080; font-weight: bold;">solutionBrowser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Browser</span>
<span style="color: #000080; font-weight: bold;">solutionBrowserRefreshed</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Solution Browser refreshed</span>
<span style="color: #000080; font-weight: bold;">workspace</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Workspace</span>
<span style="color: #000080; font-weight: bold;">myDesktop</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">My Desktop</span>
<span style="color: #000080; font-weight: bold;">waqr</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Ad hoc Reporting</span>
<span style="color: #000080; font-weight: bold;">about</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">About...</span>
<span style="color: #000080; font-weight: bold;">softwareUpdates</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Updates...</span>
<span style="color: #000080; font-weight: bold;">showSolutionBrowser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Browser</span>
<span style="color: #000080; font-weight: bold;">showActualFileNames</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Show Actual File Names</span>
<span style="color: #000080; font-weight: bold;">showLocalizedFileNames</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Show Localized File Names</span>
<span style="color: #000080; font-weight: bold;">useDescriptionsForTooltips</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Use Descriptions For Tooltips</span>
<span style="color: #000080; font-weight: bold;">purgeMondrianDataCache</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Purge Mondrian Data Cache</span>
<span style="color: #000080; font-weight: bold;">purgeMondrianSchemaCache</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Mondrian Schema Cache</span>
<span style="color: #000080; font-weight: bold;">mondrianDataCacheFlushedSuccessfully</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Mondrian Data Cache Flushed Successfully</span>
<span style="color: #000080; font-weight: bold;">mondrianSchemaCacheFlushedSuccessfully</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Mondrian Schema Cache Flushed Successfully</span>
<span style="color: #000080; font-weight: bold;">executeGlobalActions</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Global Variables</span>
<span style="color: #000080; font-weight: bold;">refreshReportingMetadata</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Reporting Metadata</span>
<span style="color: #000080; font-weight: bold;">refreshReportingMetadataSuccess</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Reporting metadata refreshed successfully</span>
<span style="color: #000080; font-weight: bold;">refreshReportingMetadataFailed</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Reporting metadata refresh failed</span>
<span style="color: #000080; font-weight: bold;">refreshSystemSettings</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">System Settings</span>
<span style="color: #000080; font-weight: bold;">refreshSystemSettingsSuccess</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">System settings refreshed successfully</span>
<span style="color: #000080; font-weight: bold;">cleanContentRepository</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Clean Content Repository</span>
<span style="color: #000080; font-weight: bold;">cleanContentRepositorySuccess</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Content repository cleaned successfully.</span>
<span style="color: #000080; font-weight: bold;">resetRepository</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Reset Repository</span>
<span style="color: #000080; font-weight: bold;">refreshRepository</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Repository Cache</span>
<span style="color: #000080; font-weight: bold;">refreshRepositorySuccess</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Repository cache refreshed successfully</span>
<span style="color: #000080; font-weight: bold;">refreshRepositoryFailed</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Repository cache refresh failed</span>
<span style="color: #000080; font-weight: bold;">showClassicView</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Switch to Classic View</span>
<span style="color: #000080; font-weight: bold;">showExplorerView</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Switch to Explorer View</span>
<span style="color: #000080; font-weight: bold;">classicSolutionBrowserDescription</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Below lists collections of logically grouped Pentaho folders and documents called Solutions. By default, the </span><span style="color: #933;">"Sample"</span> Solution is installed and contains working examples demonstrating the functionality of the platform. Once a Solution is chosen, use the file browser to locate and launch a document. To learn more about how to modify the examples or build a Solution, read the &amp;lt;A target<span style="color: #000000;">=</span><span style="color: #933;">"_blank"</span> <span style="color: #000080; font-weight: bold;">HREF</span><span style="color: #000000;">=</span><span style="color: #933;">"http://wiki.pentaho.org/display/PentahoDoc/Creating+Pentaho+Solutions"</span>&amp;gt;'Creating Pentaho Solutions'&amp;lt;/A&amp;gt; document available at wiki.pentaho.org.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;The 'Classic View' is provided for nostalgic purposes only and is not supported by Pentaho.
<span style="color: #000080; font-weight: bold;">showHiddenFiles</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Show Hidden Files</span>
<span style="color: #000080; font-weight: bold;">hideHiddenFiles</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Hide Hidden Files</span>
<span style="color: #000080; font-weight: bold;">enableSubscription</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Use Public Schedules</span>
<span style="color: #000080; font-weight: bold;">schedule</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Schedule</span>
<span style="color: #000080; font-weight: bold;">scheduleEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Schedule...</span>
<span style="color: #000080; font-weight: bold;">newSchedule</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">New Schedule</span>
<span style="color: #000080; font-weight: bold;">available</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Available:</span>
<span style="color: #000080; font-weight: bold;">current</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Current:</span>
<span style="color: #000080; font-weight: bold;">add</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Add</span>
<span style="color: #000080; font-weight: bold;">remove</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Remove</span>
<span style="color: #000080; font-weight: bold;">addAll</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Add All</span>
<span style="color: #000080; font-weight: bold;">removeAll</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Remove All</span>
<span style="color: #000080; font-weight: bold;">close</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Close</span>
<span style="color: #000080; font-weight: bold;">name</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Name</span>
<span style="color: #000080; font-weight: bold;">scheduleDate</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Schedule/Date</span>
<span style="color: #000080; font-weight: bold;">type</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Type</span>
<span style="color: #000080; font-weight: bold;">size</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Size</span>
<span style="color: #000080; font-weight: bold;">actions</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Actions</span>
<span style="color: #000080; font-weight: bold;">run</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Run Now</span>
<span style="color: #000080; font-weight: bold;">runInBackground</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Run In Background</span>
<span style="color: #000080; font-weight: bold;">archive</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Run and Archive</span>
<span style="color: #000080; font-weight: bold;">edit</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Edit</span>
<span style="color: #000080; font-weight: bold;">editAction</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Edit Action</span>
<span style="color: #000080; font-weight: bold;">delete</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Delete</span>
<span style="color: #000080; font-weight: bold;">deleteConfirm</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Confirm Delete</span>
<span style="color: #000080; font-weight: bold;">deleteQuestion</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Do you want to delete <span>{</span><span>0</span><span>}</span>?</span>
<span style="color: #000080; font-weight: bold;">deleteContentItem</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Do you want to delete this content item?</span>
<span style="color: #000080; font-weight: bold;">deletePublicSchedule</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">The selected report and all history will be removed from schedule.</span>
<span style="color: #000080; font-weight: bold;">yes</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Yes</span>
<span style="color: #000080; font-weight: bold;">no</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">No</span>
<span style="color: #000080; font-weight: bold;">share</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Share</span>
<span style="color: #000080; font-weight: bold;">properties</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Properties</span>
<span style="color: #000080; font-weight: bold;">propertiesEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Properties...</span>
<span style="color: #000080; font-weight: bold;">files</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Files</span>
<span style="color: #000080; font-weight: bold;">browse</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Browse</span>
<span style="color: #000080; font-weight: bold;">documentation</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Documentation</span>
<span style="color: #000080; font-weight: bold;">documentationEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Documentation...</span>
<span style="color: #000080; font-weight: bold;">tools</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Tools</span>
<span style="color: #000080; font-weight: bold;">save</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Save</span>
<span style="color: #000080; font-weight: bold;">saveAsEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Save As...</span>
<span style="color: #000080; font-weight: bold;">saveAs</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Save As</span>
<span style="color: #000080; font-weight: bold;">_new</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">New</span>
<span style="color: #000080; font-weight: bold;">newAnalysisView</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">New Analysis View</span>
<span style="color: #000080; font-weight: bold;">newAnalysisViewEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Analysis View...</span>
<span style="color: #000080; font-weight: bold;">newAdhocReport</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">New Report</span>
<span style="color: #000080; font-weight: bold;">newAdhocReportEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">New Report...</span>
<span style="color: #000080; font-weight: bold;">publicSchedules</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Public Schedules</span>
<span style="color: #000080; font-weight: bold;">allSchedulesAdminOnly</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">All Schedules <span>(</span>Admin Only<span>)</span></span>
<span style="color: #000080; font-weight: bold;">mySchedules</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">My Schedules</span>
<span style="color: #000080; font-weight: bold;">waiting</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Waiting</span>
<span style="color: #000080; font-weight: bold;">complete</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Complete</span>
<span style="color: #000080; font-weight: bold;">manage</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Manage</span>
<span style="color: #000080; font-weight: bold;">manageContent</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Manage Content</span>
<span style="color: #000080; font-weight: bold;">manageContentSelectFunction</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Select the Manage function to perform</span>
<span style="color: #000080; font-weight: bold;">open</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Open</span>
<span style="color: #000080; font-weight: bold;">openEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Open...</span>
<span style="color: #000080; font-weight: bold;">openURLEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Open URL...</span>
<span style="color: #000080; font-weight: bold;">openInNewWindow</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Open In New Window</span>
<span style="color: #000080; font-weight: bold;">noUpdatesAvailable</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">No updates are available.</span>
<span style="color: #000080; font-weight: bold;">link</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Link</span>
<span style="color: #000080; font-weight: bold;">os</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Os</span>
<span style="color: #000080; font-weight: bold;">version</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Version</span>
<span style="color: #000080; font-weight: bold;">softwareUpdateAvailable</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Software Update Available</span>
<span style="color: #000080; font-weight: bold;">download</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Download</span>
<span style="color: #000080; font-weight: bold;">globalActionsExecutedSuccessfully</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Global actions executed successfully.</span>
<span style="color: #000080; font-weight: bold;">enterURL</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Enter URL:</span>
<span style="color: #000080; font-weight: bold;">ok</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">OK</span>
<span style="color: #000080; font-weight: bold;">cancel</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Cancel</span>
<span style="color: #000080; font-weight: bold;">info</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Info</span>
<span style="color: #000080; font-weight: bold;">error</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Error</span>
<span style="color: #000080; font-weight: bold;">question</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Quesion</span>
<span style="color: #000080; font-weight: bold;">urlNotSpecified</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">URL not specified</span>
<span style="color: #000080; font-weight: bold;">fileExistsOverwrite</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">File exists, overwrite?</span>
<span style="color: #000080; font-weight: bold;">untitled</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Untitled</span>
<span style="color: #000080; font-weight: bold;">schema</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Schema</span>
<span style="color: #000080; font-weight: bold;">cube</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Cube</span>
<span style="color: #000080; font-weight: bold;">noMondrianSchemas</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not retrieve mondrian schema and cube info</span>
<span style="color: #000080; font-weight: bold;">selectSchema</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">You must select a schema</span>
<span style="color: #000080; font-weight: bold;">selectCube</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">You must select a cube</span>
<span style="color: #000080; font-weight: bold;">preferencesSetSuccess</span><span style="color: #000000;">=</span><span style="color: #000000;"><span style="color: #008000; font-weight: bold;">Preferences set successfully.&amp;lt;BR&amp;gt;You must restart the application for the settings to take effect.</span></span>
<span style="color: #000080; font-weight: bold;">preferencesSetFailed</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Preferences were not set successfully</span>
<span style="color: #000080; font-weight: bold;">chooseColor</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Choose color...</span>
<span style="color: #000080; font-weight: bold;">apply</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Apply</span>
<span style="color: #000080; font-weight: bold;">revert</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Revert</span>
<span style="color: #000080; font-weight: bold;">revertToDefault</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Revert to Default Setting</span>
<span style="color: #000080; font-weight: bold;">revertToGlobal</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Revert to Global Setting</span>
<span style="color: #000080; font-weight: bold;">effectiveValue</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Effective Value</span>
<span style="color: #000080; font-weight: bold;">defaultValue</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Default Value</span>
<span style="color: #000080; font-weight: bold;">globalValue</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Global Value</span>
<span style="color: #000080; font-weight: bold;">userPreferences</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">User Preferences</span>
<span style="color: #000080; font-weight: bold;">userPreferencesEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">User Preferences...</span>
<span style="color: #000080; font-weight: bold;">styles</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Styles</span>
<span style="color: #000080; font-weight: bold;">repository</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Repository</span>
<span style="color: #000080; font-weight: bold;">favorites</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Favorites</span>
<span style="color: #000080; font-weight: bold;">windowCloseWarning</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Navigating away from this page may terminate your session.</span>
<span style="color: #000080; font-weight: bold;">pentahoHomePageName</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Pentaho.com</span>
<span style="color: #000080; font-weight: bold;">actionSequenceScheduledSuccess</span><span style="color: #000000;">=</span><span style="color: #000000;"><span style="color: #008000; font-weight: bold;">Report scheduled. Note: Only last scheduled report run will be displayed from the Workspace.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt; To see subsequent scheduled report runs, please use public schedules.</span></span>
<span style="color: #000080; font-weight: bold;">general</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">General</span>
<span style="color: #000080; font-weight: bold;">advanced</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Advanced</span>
<span style="color: #000080; font-weight: bold;">couldNotGetFileProperties</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not get file properties</span>
<span style="color: #000080; font-weight: bold;">couldNotGetUserSettings</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not get user settings</span>
<span style="color: #000080; font-weight: bold;">analysisViewIsOpen</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">An analysis view, <span>{</span><span>0</span><span>}</span>, is already open.&amp;lt;BR&amp;gt;Select OK to close this view and continue?</span>
<span style="color: #000080; font-weight: bold;">loadingEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Loading...</span>
<span style="color: #000080; font-weight: bold;">fileDoesNotExist</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Error: The file <span>{</span><span>0</span><span>}</span> does not exist. Check the spelling and try again or browse to the file and select it directly.</span>
<span style="color: #000080; font-weight: bold;">couldNotLoadBookmarks</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not load bookmarks</span>
<span style="color: #000080; font-weight: bold;">couldNotGetRepositoryDocument</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not get repository document</span>
<span style="color: #000080; font-weight: bold;">couldNotCreateSchedule</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not create schedule</span>
<span style="color: #000080; font-weight: bold;">manageGroups</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Manage Groups</span>
<span style="color: #000080; font-weight: bold;">favoriteGroups</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Favorite Groups</span>
<span style="color: #000080; font-weight: bold;">preview</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Preview</span>
<span style="color: #000080; font-weight: bold;">errorPerformingWAQRPreview</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Error occurred while previewing the report</span>
<span style="color: #000080; font-weight: bold;">closeTab</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Close Tab</span>
<span style="color: #000080; font-weight: bold;">closeOtherTabs</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Close Other Tabs</span>
<span style="color: #000080; font-weight: bold;">closeAllTabs</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Close All Tabs</span>
<span style="color: #000080; font-weight: bold;">groupName</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Group Name</span>
<span style="color: #000080; font-weight: bold;">bookmarkTab</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Bookmark Tab</span>
<span style="color: #000080; font-weight: bold;">reloadTab</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Reload Tab</span>
<span style="color: #000080; font-weight: bold;">reloadAllTabs</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Reload All Tabs</span>
<span style="color: #000080; font-weight: bold;">openTabInNewWindow</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Open Tab in New Window</span>
<span style="color: #000080; font-weight: bold;">deepLink</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Deep Link</span>
<span style="color: #000080; font-weight: bold;">createDeepLink</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Create Deep Link</span>
<span style="color: #000080; font-weight: bold;">couldNotDelete</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not delete <span>{</span><span>0</span><span>}</span>, check permissions.</span>
<span style="color: #000080; font-weight: bold;">createNewFolderEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">New Folder...</span>
<span style="color: #000080; font-weight: bold;">newFolderName</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Name:</span>
<span style="color: #000080; font-weight: bold;">newFolderDesc</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">New Folder Description</span>
<span style="color: #000080; font-weight: bold;">newFolder</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">New Folder</span>
<span style="color: #000080; font-weight: bold;">couldNotCreateFolder</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not create folder <span>{</span><span>0</span><span>}</span>, check permissions.</span>
<span style="color: #000080; font-weight: bold;">noSchedulePermission</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">You do not have permission to schedule to this action sequence.</span>
<span style="color: #000080; font-weight: bold;">allPermissions</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">All Permissions</span>
<span style="color: #000080; font-weight: bold;">create</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Create</span>
<span style="color: #000080; font-weight: bold;">update</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Update</span>
<span style="color: #000080; font-weight: bold;">execute</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Execute</span>
<span style="color: #000080; font-weight: bold;">grantPermissions</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Grant Permissions</span>
<span style="color: #000080; font-weight: bold;">permissionsColon</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Permissions:</span>
<span style="color: #000080; font-weight: bold;">addPeriods</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Add...</span>
<span style="color: #000080; font-weight: bold;">usersAndRoles</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Users and Roles:</span>
<span style="color: #000080; font-weight: bold;">permissionsFor</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Permissions for <span>{</span><span>0</span><span>}</span>:</span>
<span style="color: #000080; font-weight: bold;">user</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;"><span>{</span><span>0</span><span>}</span> <span>(</span>User<span>)</span></span>
<span style="color: #000080; font-weight: bold;">role</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;"><span>{</span><span>0</span><span>}</span> <span>(</span>Role<span>)</span></span>
<span style="color: #000080; font-weight: bold;">lastModified</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Last Modified</span>
<span style="color: #000080; font-weight: bold;">source</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Source</span>
<span style="color: #000080; font-weight: bold;">location</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Location</span>
<span style="color: #000080; font-weight: bold;">report</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Report</span>
<span style="color: #000080; font-weight: bold;">xaction</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">XAction</span>
<span style="color: #000080; font-weight: bold;">analysisView</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Analysis View</span>
<span style="color: #000080; font-weight: bold;">folder</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Folder</span>
<span style="color: #000080; font-weight: bold;">waitMessage</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Operation in progress...</span>
<span style="color: #000080; font-weight: bold;">pleaseWait</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Please wait.</span>
<span style="color: #000080; font-weight: bold;">back</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Back</span>
<span style="color: #000080; font-weight: bold;">featureDisabled</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">This feature is disabled</span>
<span style="color: #000080; font-weight: bold;">description</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Description</span>
<span style="color: #000080; font-weight: bold;">jobName</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Job Name</span>
<span style="color: #000080; font-weight: bold;">jobGroup</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Job Group</span>
<span style="color: #000080; font-weight: bold;">date</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Date</span>
<span style="color: #000080; font-weight: bold;">state</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">State</span>
<span style="color: #000080; font-weight: bold;">lastRunNextRun</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Last Run / Next Run</span>
<span style="color: #000080; font-weight: bold;">workspaceMessage</span><span style="color: #000000;">=</span><span style="color: #000000;"><span style="color: #008000; font-weight: bold;">&amp;lt;BR&amp;gt;&amp;lt;H3&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;My Workspace&amp;lt;/H3&amp;gt;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;This page shows reports that you have submitted to run in background on the server.&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;You can cancel ones that have not run yet, and you can view or delete ones that have.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;</span></span>
<span style="color: #000080; font-weight: bold;">viewContent</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">View Content</span>
<span style="color: #000080; font-weight: bold;">deleteContent</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Delete Content</span>
<span style="color: #000080; font-weight: bold;">cancelExecution</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Cancel Execution</span>
<span style="color: #000080; font-weight: bold;">suspend</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Suspend</span>
<span style="color: #000080; font-weight: bold;">couldNotGetLogicalReportPage</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not get logical report page</span>
<span style="color: #000080; font-weight: bold;">suspendThisJob</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Suspend This Job</span>
<span style="color: #000080; font-weight: bold;">resume</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Resume</span>
<span style="color: #000080; font-weight: bold;">resumeThisJob</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Resume This Job</span>
<span style="color: #000080; font-weight: bold;">runThisJob</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Run This Job</span>
<span style="color: #000080; font-weight: bold;">deleteThisJob</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Delete This Job</span>
<span style="color: #000080; font-weight: bold;">never</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Never</span>
<span style="color: #000080; font-weight: bold;">normal</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Normal</span>
<span style="color: #000080; font-weight: bold;">paused</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Paused</span>
<span style="color: #000080; font-weight: bold;">running</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Running</span>
<span style="color: #000080; font-weight: bold;">unknown</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Unknown</span>
<span style="color: #000080; font-weight: bold;">editingColon</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Editing:</span>
<span style="color: #000080; font-weight: bold;">backgroundExecutionWarning</span><span style="color: #000000;">=</span><span style="color: #000000;"><span style="color: #008000; font-weight: bold;">Reports that prompt for parameters are not supported with this feature and may result in errors.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;  Please check Workspace to view the status of the report.</span></span>
<span style="color: #000080; font-weight: bold;">adhocPreview</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Ad Hoc Report Preview</span>
<span style="color: #000080; font-weight: bold;">solutions</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Solutions</span>
<span style="color: #000080; font-weight: bold;">customCRONSchedule</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Custom CRON Schedule</span>
<span style="color: #000080; font-weight: bold;">appliedSchedulesWillBeLost</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">All applied schedules will be lost.  Continue?</span>
<span style="color: #000080; font-weight: bold;">choiceColon</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Choice:</span>
<span style="color: #000080; font-weight: bold;">selectionColon</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Selection:</span>
<span style="color: #000080; font-weight: bold;">pentahoSolutionBrowser</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Pentaho Solution Browser</span>
<span style="color: #000080; font-weight: bold;">selectUserOrRole</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Select User or Role</span>
<span style="color: #000080; font-weight: bold;">users</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Users</span>
<span style="color: #000080; font-weight: bold;">roles</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Roles</span>
<span style="color: #000080; font-weight: bold;">couldNotGetRoles</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not get list of roles</span>
<span style="color: #000080; font-weight: bold;">couldNotGetUsers</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not get list of users</span>
<span style="color: #000080; font-weight: bold;">pageMustBeBetweenOneAnd</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Page must be between <span>1</span> and</span>
<span style="color: #000080; font-weight: bold;">invalidPageNumberColon</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Invalid page number:</span>
<span style="color: #000080; font-weight: bold;">page</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Page</span>
<span style="color: #000080; font-weight: bold;">of</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Of</span>
<span style="color: #000080; font-weight: bold;">reportParameters</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Report Parameters</span>
<span style="color: #000080; font-weight: bold;">automaticallySubmitParameters</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Automatically Submit Parameters on Selection</span>
<span style="color: #000080; font-weight: bold;">submit</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Submit</span>
<span style="color: #000080; font-weight: bold;">couldNotBackgroundExecute</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Background execution failed</span>
<span style="color: #000080; font-weight: bold;">reportIsScheduledForBE</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Report is scheduled for background execution</span>
<span style="color: #000080; font-weight: bold;">couldNotSchedule</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Report could not be scheduled for background execution.</span>
<span style="color: #000080; font-weight: bold;">couldNotDeleteContentItem</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not delete content</span>
<span style="color: #000080; font-weight: bold;">couldNotFetchWaitingBackgroundItems</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not fetch waiting background items</span>
<span style="color: #000080; font-weight: bold;">couldNotFetchCompletedBackgroundItems</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not fetch completed background items</span>
<span style="color: #000080; font-weight: bold;">couldNotCancelBackgroundJob</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not cancel background job</span>
<span style="color: #000080; font-weight: bold;">couldNotDeleteContentItem</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not delete content item</span>
<span style="color: #000080; font-weight: bold;">couldNotSuspendJob</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not suspend job</span>
<span style="color: #000080; font-weight: bold;">couldNotResumeJob</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not resume job</span>
<span style="color: #000080; font-weight: bold;">couldNotDeleteJob</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not delete job</span>
<span style="color: #000080; font-weight: bold;">couldNotFetchSubscriptions</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not fetch subscriptions</span>
<span style="color: #000080; font-weight: bold;">couldNotFetchMySchedules</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not fetch schedules</span>
<span style="color: #000080; font-weight: bold;">couldNotFetchAllSchedules</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Could not fetch all schedules</span>
<span style="color: #000080; font-weight: bold;">editEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Edit...</span>
<span style="color: #000080; font-weight: bold;">shareEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Share...</span>
<span style="color: #000080; font-weight: bold;">scheduleEllipsis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Schedule...</span>
<span style="color: #000080; font-weight: bold;">cannotEditFileType</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Document cannot be edited.</span>
<span style="color: #000080; font-weight: bold;">scheduleInvalidFileType</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Unable to schedule <span>{</span><span>0</span><span>}</span>, invalid file type.</span>
<span style="color: #000080; font-weight: bold;">cannotEditFileType</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Document cannot be edited.</span>
<span style="color: #000080; font-weight: bold;">backgroundJobScheduled</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Job is scheduled for background execution.</span>
<span style="color: #000080; font-weight: bold;">confirm</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Confirm</span>
<span style="color: #000080; font-weight: bold;">userParamBackgroundWarning</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Reports that prompt for parameters are not supported with this feature. Run in Background may report errors. Click OK to continue.</span>
<span style="color: #000080; font-weight: bold;">couldNotDeletePublicScheduleAndContents</span><span style="color: #000000;">=</span><span style="color: #000000;"><span style="color: #008000; font-weight: bold;">Could not delete public schedule &amp;amp; contents.</span></span>
<span style="color: #000080; font-weight: bold;">editContent</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Edit Content</span>
<span style="color: #000080; font-weight: bold;">invalidLogin</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Invalid Login</span>
<span style="color: #000080; font-weight: bold;">languages</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Languages</span>
<span style="color: #000080; font-weight: bold;">loadingConsole</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Pentaho User Console is Loading...</span>
<span style="color: #000080; font-weight: bold;">pleaseWait</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Please Wait</span></pre>
</div>
</div>
<p>In this example I would like to modify the:</p>
<ul>
<li><span class="inline-pre">productName</span> (the page title) message from “Pentaho User Console” to “Steel Wheels Reporting Console”</li>
<li><span class="inline-pre">loadingConsole</span> (the loading box) message from “Pentaho User Console is Loading…” to “Steel Wheels Reporting Console is Loading…”</li>
<li><span class="inline-pre">manage</span> (the menu item under the File menu) message from “Manage” to “Manage Steel Wheels Reports”</li>
<li><span class="inline-pre">openEllipsis</span> (the tooltip when you hover over the open reports icon) message from “Open…” to “Open your reports”</li>
<li><span class="inline-pre">workspaceMessage</span> (the text displayed on the workspace page) message from the current output to nothing</li>
</ul>
<p>After making modifications to the <span class="inline-pre">messages_en.PROPERTIES file</span> the new messages now like look like this (you do not have to stop your Apache-Tomcat server before making any modifications):</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #000080; font-weight: bold;">productName</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Steel Wheels Reporting Console</span>
<span style="color: #000080; font-weight: bold;">loadingConsole</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Steel Wheels Reporting Console is Loading...</span>
<span style="color: #000080; font-weight: bold;">manage</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Manage my reports</span>
<span style="color: #000080; font-weight: bold;">openEllisis</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Open your reports</span>
<span style="color: #000080; font-weight: bold;">workspaceMessage</span><span style="color: #000000;">=</span></pre>
</div>
</div>
<p>Save and close the file, <strong>clear your web browser’s cache</strong> and refresh the PUC. Below are before and after screenshots of the message changes:</p>
<h4><strong>productName</strong></h4>
<p>Before the <span class="inline-pre">productName</span> message was “Pentaho User Console”:</p>
<p><strong><img class="size-full wp-image-1171 alignnone" title="productName Before Customisation" src="http://www.prashantraju.com/wp-content/uploads/2010/02/productName.jpg" alt="productName Before Customisation" width="401" height="81" /></strong></p>
<p>After the <span class="inline-pre">productName</span> message is “Steel Wheels Reporting Console”:</p>
<p><strong><img class="size-full wp-image-1181 alignnone" title="productName Customised" src="http://www.prashantraju.com/wp-content/uploads/2010/02/productName_after.jpg" alt="productName Customised" width="401" height="81" /> </strong></p>
<h4><strong>loadingConsole</strong></h4>
<p>Before the <span class="inline-pre">loadingConsole</span> message was “Pentaho User Console is Loading…”:</p>
<p><img class="size-full wp-image-1170 alignnone" title="loadingConsole Before Customisation" src="http://www.prashantraju.com/wp-content/uploads/2010/02/loadingConsole.jpg" alt="loadingConsole Before Customisation" width="287" height="55" /></p>
<p>After the <span class="inline-pre">loadingConsole</span> message is “Steel Wheels Reporting Console is Loading…”:</p>
<p><img class="size-full wp-image-1182 alignnone" title="loadingConsole Customised" src="http://www.prashantraju.com/wp-content/uploads/2010/02/loadingConsole_after.jpg" alt="loadingConsole Customised" width="352" height="55" /></p>
<h4><strong>manage</strong></h4>
<p>Before the <span class="inline-pre">manage</span> message was “Manage”:</p>
<p><strong><img class="size-full wp-image-1172 alignnone" title="manage Before Customisation" src="http://www.prashantraju.com/wp-content/uploads/2010/02/manage.jpg" alt="manage Before Customisation" width="120" height="244" /></strong></p>
<p>After the <span class="inline-pre">manage</span> message is “Manage my reports”:</p>
<p><strong><img class="size-full wp-image-1184 alignnone" title="manage Customised" src="http://www.prashantraju.com/wp-content/uploads/2010/02/manage_after1.jpg" alt="manage Customised" width="170" height="244" /> </strong></p>
<h4><strong>openEllisis</strong></h4>
<p>Before the <span class="inline-pre">openEllisis</span> message was “Open…”:</p>
<p><strong><img class="size-full wp-image-1173 alignnone" title="openEllipsis Before Customisation" src="http://www.prashantraju.com/wp-content/uploads/2010/02/openEllipsis.jpg" alt="openEllipsis Before Customisation" width="95" height="68" /></strong></p>
<p>After the <span class="inline-pre">openEllisis</span> message is “Open your reports…”:</p>
<p><strong><img class="size-full wp-image-1185 alignnone" title="openEllipsis Customised" src="http://www.prashantraju.com/wp-content/uploads/2010/02/openEllipsis_after.jpg" alt="openEllipsis Customised" width="150" height="68" /> </strong></p>
<h4><strong> workspaceMessage</strong></h4>
<p>Before the <span class="inline-pre">workspaceMessage</span> message can be seen below:</p>
<p><strong><img class="size-full wp-image-1174 alignnone" title="workspaceMessage Before Customisation" src="http://www.prashantraju.com/wp-content/uploads/2010/02/workspaceMessage.jpg" alt="workspaceMessage Before Customisation" width="510" height="263" /></strong></p>
<p>After the <span class="inline-pre">workspaceMessage</span> message is removed:</p>
<p><strong><img class="size-full wp-image-1187 alignnone" title="workspaceMessage Customised" src="http://www.prashantraju.com/wp-content/uploads/2010/02/workspaceMessage_after.jpg" alt="workspaceMessage Customised" width="510" height="176" /> </strong></p>
<p>As I mentioned above if you need to change messages for a specific  language you will need to modify both <span class="inline-pre">messages_xx.PROPERTIES</span> files (where <span class="inline-pre">xx</span> is the language code).  Pentaho Business Intelligence (BI) Platform Version 3.5.0 supports the  following languages:</p>
<ul>
<li><span class="inline-pre">MantleLoginMessages_en.PROPERTIES</span> :  English</li>
<li><span class="inline-pre">MantleLoginMessages_de.PROPERTIES</span> :  German</li>
<li><span class="inline-pre">MantleLoginMessages_es.PROPERTIES</span> :  Spanish</li>
<li><span class="inline-pre">MantleLoginMessages_fr.PROPERTIES</span> :  French</li>
<li><span class="inline-pre">MantleLoginMessages_ja.PROPERTIES</span> :  Japanese</li>
</ul>
<p>Stay tuned for the next part in this series which outlines how to change menu bars (includes both menu bars) and the logo panel in the PUC.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/02/customising-the-pentaho-user-console-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Customising the Pentaho User Console &#8211; Part 1.</title>
		<link>http://www.prashantraju.com/2010/02/customising-the-pentaho-user-console-part-1/</link>
		<comments>http://www.prashantraju.com/2010/02/customising-the-pentaho-user-console-part-1/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 13:31:29 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Console]]></category>

		<guid isPermaLink="false">http://www.prashantraju.com/?p=864</guid>
		<description><![CDATA[For the past couple of weeks I have been playing around with customising the Pentaho User Console (PUC) Version 3.5.x and to follow it up I thought I would put together a multi-part post on the topic. Each post will cover one aspect of customising the PUC, these include: Login page and dialog (covered in [...]]]></description>
			<content:encoded><![CDATA[<p>For the past couple of weeks I have been playing around with customising the Pentaho User Console (PUC) Version 3.5.x and to follow it up I thought I would put together a multi-part post on the topic. Each post will cover one aspect of customising the PUC, these include:</p>
<ul>
<li><strong><a href="http://www.prashantraju.com/pentaho/customising-the-pentaho-user-console-part-1/">Login page and dialog</a> (covered in this post)</strong></li>
<li><a href="http://www.prashantraju.com/pentaho/customising-the-pentaho-user-console-part-2/">Messages</a></li>
<li><a href="http://www.prashantraju.com/tutorials/customising-the-pentaho-user-console-part-3/">Main toolbar, menu bar and logo panel</a></li>
<li><a href="http://www.prashantraju.com/2010/03/customising-the-pentaho-user-console-part-4/" target="_blank">Launch page</a></li>
</ul>
<p><strong>In this post I will show you how to customise the default login dialog and how to create a new login page.</strong></p>
<p><span id="more-864"></span></p>
<h3>Customising the Login Dialog</h3>
<p>The login dialog is the form which pops up when you click on the Login button. This is part of the default PUC login page.</p>
<p><img class="size-full wp-image-993 alignnone" title="Pentaho Login Form" src="http://www.prashantraju.com/wp-content/uploads/2010/02/login_form1.jpg" alt="Pentaho User Console Login Form" width="204" height="245" /></p>
<p>With modifications to the <span class="inline-pre">loginsettings.properties</span> file it is possible to:</p>
<ul>
<li>Modify the users of the Sample User select box</li>
<li>Remove the Sample User select box</li>
</ul>
<h4><strong>Modify Sample Users Select Box</strong></h4>
<p>To modify the users which appear in the Sample Users select box first locate the <span class="inline-pre">loginsettings.properties</span> file which is found under the <span class="inline-pre">\tomcat\webapps\pentaho\mantleLogin\</span> directory and open up the file in a text editor:</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #808080; font-style: italic;"># this file contains settings to configure the login dialog</span>
<span style="color: #808080; font-style: italic;"># flag to turn on/off show users list (overrides pentaho.xml)</span>
<span style="color: #808080; font-style: italic;">#showUsersList=true</span>
<span style="color: #808080; font-style: italic;"># launch PUC in new window (default setting)</span>
<span style="color: #000080; font-weight: bold;">openInNewWindow</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">false</span>
<span style="color: #808080; font-style: italic;"># sample users (be sure that each group has the same # of items as the rest)</span>
<span style="color: #000080; font-weight: bold;">userIds</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">joe, suzy, pat, tiffany</span>
<span style="color: #000080; font-weight: bold;">userDisplayNames</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Joe <span>(</span>admin<span>)</span>, Suzy, Pat, Tiffany</span>
<span style="color: #000080; font-weight: bold;">userPasswords</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">password, password, password, password</span></pre>
</div>
</div>
<p><em>At the time of testing this the</em> <span class="inline-pre">openInNewWindow</span> <em>option did not work.</em></p>
<p>To modify the users which appear in the select box you will need to make changes to three lines (you do not need to stop the Apache-Tomcat server before making any modifications):</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #000080; font-weight: bold;">userIds</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">joe, suzy, pat, tiffany</span>
<span style="color: #000080; font-weight: bold;">userDisplayNames</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Joe <span>(</span>admin<span>)</span>, Suzy,  Pat, Tiffany</span>
<span style="color: #000080; font-weight: bold;">userPasswords</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">password, password, password, password</span></pre>
</div>
</div>
<p>For example I would like to:</p>
<ul>
<li>Remove all users except for joe (Joe (admin))</li>
<li>Add a new user with the
<ul>
<li><span class="inline-pre">userId</span> of prashant (the userId which is stored in the Hibernate database)</li>
<li><span class="inline-pre">userDisplayName of Prashant Raju (the value displayed in the select box)</span></li>
<li><span class="inline-pre">userPassword</span> of analysethis (the password which is stored in the Hibernate database against the userId prashant)</li>
</ul>
</li>
</ul>
<p>After making modifications the <span class="inline-pre">loginsettings.properties</span> file now looks like this:</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #808080; font-style: italic;"># this file contains settings to configure the login dialog</span>
<span style="color: #808080; font-style: italic;"># flag  to turn on/off show users list (overrides pentaho.xml)</span>
<span style="color: #808080; font-style: italic;">#showUsersList=true</span>
<span style="color: #808080; font-style: italic;"># launch PUC in new window (default setting)</span>
<span style="color: #000080; font-weight: bold;">openInNewWindow</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">false</span>
<span style="color: #808080; font-style: italic;"># sample users (be sure that each group has  the same # of items as the rest)</span>
<span style="color: #000080; font-weight: bold;">userIds</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">joe, prashant</span>
<span style="color: #000080; font-weight: bold;">userDisplayNames</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Joe <span>(</span>admin<span>)</span>, Prashant Raju</span>
<span style="color: #000080; font-weight: bold;">userPasswords</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">password, analysethis</span></pre>
</div>
</div>
<p>Save and close the file, <strong>clear  your web browser’s cache</strong> and refresh the login page. The login dialog now looks like this:</p>
<p><img class="size-full wp-image-995 alignnone" title="Login form with modified select box" src="http://www.prashantraju.com/wp-content/uploads/2010/02/login_form_with_select.jpg" alt="Login form with modified select box" width="204" height="245" /></p>
<h4><strong>Remove Sample Users Select Box</strong></h4>
<p>To remove the Sample Users select box you will need to make modifications to the <span class="inline-pre">loginsettings.properties</span> file (you do not have to stop the Apache-Tomcat server). To remove the Sample Users select box you will need to make changes this line:</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #808080; font-style: italic;">#showUsersList=true</span></pre>
</div>
</div>
<p>After making modifications the <span class="inline-pre">loginsettings.properties</span> file now looks like this:</p>
<div class="wp_syntax">
<div class="code">
<pre class="properties" style="font-family: monospace;"><span style="color: #808080; font-style: italic;"># this file contains settings to configure the login dialog</span>
<span style="color: #808080; font-style: italic;"># flag to  turn on/off show users list (overrides pentaho.xml)</span>
<span style="color: #000080; font-weight: bold;">showUsersList</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">false</span>
<span style="color: #808080; font-style: italic;"># launch PUC in new window (default setting)</span>
<span style="color: #000080; font-weight: bold;">openInNewWindow</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">false</span>
<span style="color: #808080; font-style: italic;">#  sample users (be sure that each group has the same # of items as the  rest)</span>
<span style="color: #000080; font-weight: bold;">userIds</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">joe, suzy, pat, tiffany</span>
<span style="color: #000080; font-weight: bold;">userDisplayNames</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">Joe  <span>(</span>admin<span>)</span>, Suzy, Pat, Tiffany</span>
<span style="color: #000080; font-weight: bold;">userPasswords</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight: bold;">password, password,  password, password</span></pre>
</div>
</div>
<p>Save and close the file, <strong>clear your web browser’s cache</strong> and refresh the login page. The login dialog now looks like this:</p>
<p><img class="size-full wp-image-994 alignnone" title="Login Form Without Sample Users Select Box" src="http://www.prashantraju.com/wp-content/uploads/2010/02/login_form_without_select.jpg" alt="Login form without sample users select box" width="204" height="198" /></p>
<h3>Customising the Login Page</h3>
<p>If you would like to modify the look of the login page to look similar to a specific style you will need to modify the <span class="inline-pre">PUC_Login.JSP</span> file which is found under the <span class="inline-pre">/tomcat/webapps/pentaho/jsp</span> directory.</p>
<p>Before we move onto the code here is a screenshot of the new login page which we will be creating:</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/02/new_login_page.jpg" target="_blank"><img class="size-medium wp-image-1050 alignnone" title="New Login Page" src="http://www.prashantraju.com/wp-content/uploads/2010/02/new_login_page-300x221.jpg" alt="New Login Page" width="300" height="221" /></a></p>
<p>You can click <a href="http://www.prashantraju.com/wp-content/uploads/2010/02/PUC_Login.html" target="_blank">here</a> for a HTML/CSS version (JSP code is commented out) of the above screenshot or below is a JSP/HTML/CSS version which you are able to copy and paste – make sure you read through the comments:</p>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: #009900;">&lt;%@ page <span style="color: #000066;">language</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"java"</span> import<span style="color: #66cc66;">=</span><span style="color: #ff0000;">"org.springframework.security.ui.AbstractProcessingFilter,org.springframework.security.ui.webapp.AuthenticationProcessingFilter,org.springframework.security.ui.savedrequest.SavedRequest,org.springframework.security.AuthenticationException,org.pentaho.platform.uifoundation.component.HtmlComponent,org.pentaho.platform.engine.core.system.PentahoSystem,org.pentaho.platform.util.messages.LocaleHelper,org.pentaho.platform.api.engine.IPentahoSession,org.pentaho.platform.web.http.WebTemplateHelper,org.pentaho.platform.api.engine.IUITemplater,org.pentaho.platform.web.jsp.messages.Messages,java.util.List,java.util.ArrayList,java.util.StringTokenizer,org.apache.commons.lang.StringEscapeUtils,org.pentaho.platform.web.http.PentahoHttpSessionHelper"</span> %&gt;</span>
<span style="color: #009900;">&lt;%</span>
<span style="color: #009900;">            <span style="color: #66cc66;">//</span> If the User is already logged in redirect to PUC Home</span>
<span style="color: #009900;">            String remoteUser <span style="color: #66cc66;">=</span> request.getRemoteUser<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;</span>
<span style="color: #009900;">            if <span style="color: #66cc66;">(</span>remoteUser !<span style="color: #66cc66;">=</span> null &amp;&amp; remoteUser !<span style="color: #66cc66;">=</span> <span style="color: #ff0000;">""</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span></span>
<span style="color: #009900;">                response.sendRedirect<span style="color: #66cc66;">(</span><span style="color: #ff0000;">"/pentaho/Home"</span><span style="color: #66cc66;">)</span>;</span>
<span style="color: #009900;">            <span style="color: #66cc66;">}</span></span>
<span style="color: #009900;">%&gt;</span>
<span style="color: #00bbdd;">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"</span>
<span style="color: #00bbdd;">    "http://www.w3.org/TR/html4/loose.dtd"&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"en"</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>Login to Steel Wheels - Pentaho User Console<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"Content-Type"</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"text/html; charset=UTF-8"</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"gwt:property"</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"locale=&lt;%=request.getLocale()%&gt;</span></span>"&gt;
        <span style="color: #808080; font-style: italic;">&lt;!-- Uncomment to put your own favicon</span>
<span style="color: #808080; font-style: italic;">        &lt;link rel="shortcut icon" href="/pentaho-style/favicon.ico" /&gt; --&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">style</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"text/css"</span> <span style="color: #000066;">media</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"screen, projection"</span>&gt;</span>
            *{margin:0;padding:0;}
            html{font-size:100%;}
            body{background:#fff;color:#222;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;text-align:center;font-size:75%;}
            h2{font-size:2em;margin-bottom:0.75em;}
            .error{background:#FBE3E4;border:2px solid #FBC2C4;color:#8a1f11;margin-bottom:1em;text-align:center;width:332px;padding:6px;}
            #login-logo{padding:40px 0;}
            #login-form{background:#fff;border:1px solid #ccc;text-align:left;width:350px;-moz-border-radius:5px;-webkit-border-radius:5px;-moz-box-shadow:0 1px 3px #ddd;-webkit-box-shadow:0 1px 3px #ddd;margin:0 auto;padding:15px 15px 25px;}
            #login-form h2{text-align:center;padding:5px 0;}
            #login-form .field{width:335px;margin:15px 0;}
            #login-form .field label{color:#777;display:block;font-size:1em;font-weight:700;margin-bottom:5px;text-align:left;}
            #login-form .field input{border:1px solid #ccc;font-size:1.2em;width:100%;padding:5px;}
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">style</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"text/javascript"</span>&gt;</span>
            // If the Username and Password values are blank then alert();
            // This can be replaced with an AJAX solution
            function checkForm(form) {
                if(form.j_username.value == "" <span style="color: #ddbb00;">&amp;&amp; form.j_password.value == "") {</span>
<span style="color: #ddbb00;">                    alert('You can not have a blank Username and Password!')</span>
<span style="color: #ddbb00;">                    return false;</span>
                }
            }
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
        <span style="color: #808080; font-style: italic;">&lt;!-- Login Logo --&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"login-logo"</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"/sw-style/active/sw_logo.jpg"</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"Steel Wheels Logo"</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
        <span style="color: #808080; font-style: italic;">&lt;!-- Login Form --&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"login-form"</span>&gt;</span>
            <span style="color: #808080; font-style: italic;">&lt;!-- Header --&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Login to Steel Wheels<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
            <span style="color: #808080; font-style: italic;">&lt;!-- If the login_error URL parameter is set then show error box --&gt;</span>
            <span style="color: #009900;">&lt;% if <span style="color: #66cc66;">(</span>request.getParameter<span style="color: #66cc66;">(</span><span style="color: #ff0000;">"login_error"</span><span style="color: #66cc66;">)</span> !<span style="color: #66cc66;">=</span> null<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>%&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"error"</span>&gt;</span>Authentication failed! Please try again!<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
            <span style="color: #009900;">&lt;% <span style="color: #66cc66;">}</span>%&gt;</span>
            <span style="color: #808080; font-style: italic;">&lt;!-- Form --&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"sw-login"</span> <span style="color: #000066;">method</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"POST"</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"/pentaho/j_spring_security_check"</span>&gt;</span>
                <span style="color: #808080; font-style: italic;">&lt;!-- Username --&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"field"</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"username"</span>&gt;</span>Username<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"username"</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"j_username"</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"text"</span>&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
                <span style="color: #808080; font-style: italic;">&lt;!-- Password --&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"field"</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"password"</span>&gt;</span>Password<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"password"</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"j_password"</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"password"</span>&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
                <span style="color: #808080; font-style: italic;">&lt;!-- On click on the submit button run the checkFrom function --&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"submit"</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"Login"</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"return checkForm(form);"</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre>
</div>
</div>
<p>Below I have separated the code (seen above) into important parts, this will help you get a better understanding on the purpose of each section of code.</p>
<p>This section of code uses the <span class="inline-pre">getRemoteUser()</span> function to check if the user loading the login page isn’t already logged in – if they are logged in they are redirected to the PUC home URL.</p>
<div class="wp_syntax">
<div class="code">
<pre class="java" style="font-family: monospace;"><span style="color: #339933;">&lt;%</span>
<span style="color: #666666; font-style: italic;">// If the User is already logged in redirect to PUC Home</span>
<span style="color: #003399;">String</span> remoteUser <span style="color: #339933;">=</span> request.<span style="color: #006633;">getRemoteUser</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">(</span>remoteUser <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> remoteUser <span style="color: #339933;">!=</span> <span style="color: #0000ff;">""</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
    response.<span style="color: #006633;">sendRedirect</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"/pentaho/Home"</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>

<span style="color: #009900;">}</span>
<span style="color: #339933;">%&gt;</span></pre>
</div>
</div>
<p>The following piece of code is a JavaScript function which checks if the Username and Password of the login form are empty and if they are create an alert box to let the user know. This function was used because if a user submits an empty form a 500 error is thrown back by Spring Security – this isn’t as intuitive as an AJAX solution so if you would like to see an AJAX example let me know.</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: #003366; font-weight: bold;">function</span> checkForm<span style="color: #009900;">(</span>form<span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
    <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">(</span>form.<span style="color: #660066;">j_username</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">==</span> <span style="color: #3366cc;">""</span> <span style="color: #339933;">&amp;&amp;</span> form.<span style="color: #660066;">j_password</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">==</span> <span style="color: #3366cc;">""</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
        <span style="color: #000066;">alert</span><span style="color: #009900;">(</span><span style="color: #3366cc;">'You can not have a blank Username and Password!'</span><span style="color: #009900;">)</span>
        <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">}</span>
<span style="color: #009900;">}</span></pre>
</div>
</div>
<p>To call the above function (<span class="inline-pre">checkForm()</span>) it is attached to the onclick event of the submit button:</p>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"submit"</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"Login"</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"return checkForm(form);"</span>&gt;</span></pre>
</div>
</div>
<p>This section of code checks to see if an error has occurred when trying to login i.e. wrong password. When an error occurs it is sent back as a URL parameter <span class="inline-pre">login_error</span>, the value of this parameter is a number (in this example I gave a generic error response to any number). If the <span class="inline-pre">login_error</span> URL parameter value is <strong>not</strong> null it then shows the error message (div).</p>
<div class="wp_syntax">
<div class="code">
<pre class="java" style="font-family: monospace;"><span style="color: #339933;">&lt;%</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">(</span>request.<span style="color: #006633;">getParameter</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"login_error"</span><span style="color: #009900;">)</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span><span style="color: #339933;">%&gt;</span>
<span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">"error"</span><span style="color: #339933;">&gt;</span>Authentication failed<span style="color: #339933;">!</span> Please <span style="color: #000000; font-weight: bold;">try</span> again<span style="color: #339933;">!&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;%</span> <span style="color: #009900;">}</span><span style="color: #339933;">%&gt;</span></pre>
</div>
</div>
<p>The last and most important section of code is the login form. It should be noted that the form <span class="inline-pre">action</span> points to the <span class="inline-pre">/pentaho/j_spring_security_check</span> URL and the username and password names are <span class="inline-pre">j_username</span> and <span class="inline-pre">j_password</span> – these are essential as they are needed by Spring Security to authenticate user credentials correctly.</p>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"sw-login"</span> <span style="color: #000066;">method</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"POST"</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"/pentaho/j_spring_security_check"</span>&gt;</span>
    <span style="color: #808080; font-style: italic;">&lt;!-- Username --&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"field"</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"username"</span>&gt;</span>Username<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"username"</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"j_username"</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"text"</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #808080; font-style: italic;">&lt;!-- Password --&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"field"</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"password"</span>&gt;</span>Password<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"password"</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"j_password"</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"password"</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #808080; font-style: italic;">&lt;!-- When the submit button is clicked run the checkForm function --&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"submit"</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"Login"</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"return checkForm(form);"</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span></pre>
</div>
</div>
<p>Well that’s it for now. Stay tuned for the next part which outlines how to change the default messages which appear throughout the PUC (including the login dialog, loading bar, titles etc.).</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/02/customising-the-pentaho-user-console-part-1/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Pentaho and the R Project.</title>
		<link>http://www.prashantraju.com/2010/01/pentaho-and-the-r-project/</link>
		<comments>http://www.prashantraju.com/2010/01/pentaho-and-the-r-project/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 02:44:32 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[R]]></category>

		<guid isPermaLink="false">http://www.prashantraju.com/?p=633</guid>
		<description><![CDATA[I&#8217;m not sure if everyone is aware of this as the recording was released last year but the team at OpenBI have been able to integrate R and Pentaho Business Intelligence Server. The screen cast, which you can view here, was demoed with version 2.0 of the server but I don&#8217;t see why it wouldn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not sure if everyone is aware of this <small>as the recording was released last year</small> but the team at <a title="OpenBI" href="http://www.openbi.com/" target="_blank">OpenBI</a> have been able to integrate <a title="R Project" href="http://www.r-project.org/" target="_blank">R</a> and <a title="Pentaho Business Intelligence Server" href="http://www.pentaho.com/" target="_blank">Pentaho Business Intelligence Server</a>. The screen cast, which you can view <a title="R-Project with Pentaho" href="http://www.pentaho.com/products/demos/showNtell.php?tab=demos&amp;article=r-project-with-pentaho" target="_blank">here</a>, was demoed with version 2.0 of the server but I don&#8217;t see why it wouldn&#8217;t work with version 3.5 <small>(correct me if I&#8217;m wrong)</small>. The screen cast goes into detail on how the connection between Pentaho and R-Project works and what packages/libraries you will need to get it setup and running.</p>
<p>For those of you who don&#8217;t know:</p>
<blockquote><p>R is a free software environment for statistical       computing and graphics. It compiles and runs on a wide variety       of UNIX platforms, Windows and MacOS</p></blockquote>
<p>Along with <a title="Weka" href="http://www.cs.waikato.ac.nz/ml/weka/" target="_blank">Weka</a>, R is definitely a tool that I believe all analysts should have handy when performing statistical related tasks.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/01/pentaho-and-the-r-project/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Publishing Content with Pentaho 3.5.</title>
		<link>http://www.prashantraju.com/2010/01/publishing-content-with-pentaho-3-5/</link>
		<comments>http://www.prashantraju.com/2010/01/publishing-content-with-pentaho-3-5/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 01:00:35 +0000</pubDate>
		<dc:creator>Prashant Raju</dc:creator>
				<category><![CDATA[BI Server]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pentaho]]></category>
		<category><![CDATA[Report Designer]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.prashantraju.com/?p=480</guid>
		<description><![CDATA[For those starting out with Pentaho it can be confusing on how to publish content (reports, ETL jobs etc.) to Pentaho Business Intelligence (BI) server. I have put together a guide which outlines the steps you will need to enable publishing and also an example of how you can use Pentaho Report Designer (PRD) to [...]]]></description>
			<content:encoded><![CDATA[<p>For those starting out with Pentaho it can be confusing on how to publish content (reports, ETL jobs etc.) to <a title="Pentaho Business Intelligence Server" href="http://www.pentaho.com/" target="_blank">Pentaho Business Intelligence (BI) server</a>. I have put together a guide which outlines the steps you will need to enable publishing and also an example of how you can use <a title="Pentaho Report Designer" href="http://www.pentaho.com/" target="_blank">Pentaho Report Designer</a> (PRD) to publish reports.</p>
<p><span id="more-480"></span></p>
<h3>Modify publisher_config.xml</h3>
<p>To get started you will need to edit the <span class="inline-pre">publisher_config.xml</span> file located under the <span class="inline-pre">/opt/biserver-ce/pentaho-solutions/</span> directory, once open locate the following piece of code:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;publisher-config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;publisher-password<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/publisher-password<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/publisher-config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Enter a password between the <span class="inline-pre">publisher-password</span> tags (this password will be the same for all users) so that the piece of code looks similar to the example below &#8211; in this example the publisher password is <strong><span class="inline-pre">publishthis</span></strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;publisher-config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;publisher-password<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;strong<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>publishthis<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/publisher-password<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/publisher-config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Save and close this file.</p>
<p>From now on when any users try and publish content to Pentaho BI server they will need to specify this password.</p>
<h3>Login to Pentaho BI server</h3>
<p>In this example I&#8217;m going to publish a report which I created in my <a title="Survey Scale Chart Tutorial Post" href="http://www.prashantraju.com/pentaho/survey-scales-with-pentaho-report-designer-3-5/" target="_blank">survey scale chart tutorial</a> to Pentaho BI server. Within PRD click on <span class="inline-pre">File &gt; Publish</span> (or use the <span class="inline-pre">CTRL+SHIFT+P</span> shortcut) which will display a <span class="inline-pre">Login</span> window:</p>
<p><img class="alignnone size-full wp-image-497" title="Pentaho Report Designer Login Dialog Box" src="http://www.prashantraju.com/wp-content/uploads/2010/01/login_dialog_publishing.jpg" alt="Pentaho Report Desinger Login Dialog Box for Publishing" width="367" height="375" /></p>
<p>You will need to specify user credentials in this window to authenticate with Pentaho BI server, the available fields and options are:</p>
<ul>
<li><strong>URL</strong> : URL of Pentaho BI server (in this example it is hosted locally)</li>
<li><strong>Timeout</strong> : Amount of seconds the connection will last with the server until it times out</li>
<li><strong>Username</strong> : Username of the user publishing to the server (this is the username you use to login to Pentaho User Console (PUC))</li>
<li><strong>Password</strong> : Password of the user publishing to the server (this is the password you use to login to PUC)</li>
</ul>
<p class="notice">The user specified above which is logging into Pentaho BI Server will inherit all access and permissions. Therefore the user will only be able to publish to folders (solutions) which the user has access to.</p>
<p>After filling out the required fields and clicking on <span class="inline-pre">OK</span> a <span class="inline-pre">Login to server</span> progress bar will appear while PRD connects to Pentaho BI Server:</p>
<p><img class="alignnone size-full wp-image-501" title="Login in Server" src="http://www.prashantraju.com/wp-content/uploads/2010/01/login_to_server.jpg" alt="Login into Pentaho BI Server" width="186" height="94" /></p>
<h3>Publish to Pentaho BI server</h3>
<p>After a successful connection a <span class="inline-pre">Publish To Server</span> window will appear:</p>
<p><img class="alignnone size-full wp-image-502" title="Publish to Server" src="http://www.prashantraju.com/wp-content/uploads/2010/01/publish_to_server.jpg" alt="Publish to Server" width="428" height="527" /></p>
<p>Below is an explanation of all available fields and options from the <span class="inline-pre">Publish To Server</span> window:</p>
<ul>
<li><strong>Report Name</strong> : Name of the report being published</li>
<li><strong>Report Description</strong> : Description of the report being published</li>
<li><strong>Location</strong> : The folder (solution) on the server you would like to publish the report to</li>
<li><a href="http://www.prashantraju.com/wp-content/uploads/2010/01/browse_icon.jpg"><img class="alignnone size-full wp-image-538" title="Browse Icon" src="http://www.prashantraju.com/wp-content/uploads/2010/01/browse_icon.jpg" alt="Browse Icon" width="16" height="16" /></a> : Open the parent folder</li>
<li><a href="http://www.prashantraju.com/wp-content/uploads/2010/01/parent_folder_icon.jpg"><img class="alignnone size-full wp-image-539" title="Parent Folder Icon" src="http://www.prashantraju.com/wp-content/uploads/2010/01/parent_folder_icon.jpg" alt="Parent Folder Icon" width="16" height="16" /></a> : Opens up a browse window to browse through or create new folders (solutions)</li>
<li><strong>Output Type</strong> : Default output type of the report which users will see in PUC</li>
<li><strong>Lock</strong> : Lock the report format within PUC to the Output Type</li>
<li><strong>Publish Password</strong> : Publisher password (in this example it is <span class="inline-pre">publishthis</span>)</li>
</ul>
<p>For this example I would like to publish my report into a new folder (solution) named <span class="inline-pre">blog</span>. To do this first click on the <a href="http://www.prashantraju.com/wp-content/uploads/2010/01/browse_icon.jpg"><img class="alignnone size-full wp-image-538" title="Browse Icon" src="http://www.prashantraju.com/wp-content/uploads/2010/01/browse_icon.jpg" alt="Browse Icon" width="16" height="16" /></a> (browse) icon which will open up a <span class="inline-pre">Browse</span> window.</p>
<p><img class="alignnone size-full wp-image-547" title="Browse Window" src="http://www.prashantraju.com/wp-content/uploads/2010/01/Browse.jpg" alt="Browse Window" width="379" height="482" /></p>
<p>Click on the <a href="http://www.prashantraju.com/wp-content/uploads/2010/01/New_Folder_Icon.jpg"><img class="alignnone size-full wp-image-554" title="New Folder Icon" src="http://www.prashantraju.com/wp-content/uploads/2010/01/New_Folder_Icon.jpg" alt="New Folder Icon" width="22" height="22" /></a> (new folder) icon which will prompt you to create a new folder:</p>
<p><img class="alignnone size-full wp-image-548" title="Create a New Folder (Solution)" src="http://www.prashantraju.com/wp-content/uploads/2010/01/Create_New_Folder.jpg" alt="Create a New Folder (Solution)" width="482" height="182" /></p>
<p>After entering a <span class="inline-pre">Name</span> and <span class="inline-pre">Description</span> click on <span class="inline-pre">OK</span>. Now the new folder (solution) will appear in the <span class="inline-pre">Browse</span> window along side other folders (solutions):</p>
<p><img class="alignnone size-full wp-image-549" title="Select a folder (solution)" src="http://www.prashantraju.com/wp-content/uploads/2010/01/Select_Report_Location.jpg" alt="Select a folder (solution)" width="379" height="482" /></p>
<p>Click on the folder (solution) (which you would like to publish the report into) to make it active and click <span class="inline-pre">OK</span>. To finish publishing this report complete all necessary fields and options in the <span class="inline-pre">Publish To Server</span> window. In this example we will only need to complete 5 fields:</p>
<p><img class="alignnone size-full wp-image-550" title="Publish to Server" src="http://www.prashantraju.com/wp-content/uploads/2010/01/Publish_To_Server.jpg" alt="Publish to Server" width="428" height="527" /></p>
<ol>
<li><strong>Name</strong> : Name of the report</li>
<li><strong>Description</strong> : Description of the report</li>
<li><strong>Location</strong> : The folder (solution) we are publishing the report to is <span class="inline-pre">/blog</span></li>
<li><strong>Output Type</strong> : I have decided that my report can only be viewed as a PDF</li>
<li><strong>Lock</strong> : I have checked this option to make sure that the report can only be viewed as a PDF and in no other formats</li>
</ol>
<p>Click <span class="inline-pre">OK</span> once your are ready to publish your report. If the report was successfully published you will be shown the following prompt:</p>
<p><img class="alignnone size-full wp-image-560" title="Publish Successful" src="http://www.prashantraju.com/wp-content/uploads/2010/01/Publish_Successful.jpg" alt="Publish Successful" width="469" height="122" /></p>
<p>Click on <span class="inline-pre">YES</span> to run your report straight away.</p>
<h3>Run your report</h3>
<p>After clicking <span class="inline-pre">YES</span> the PUC login screen will be launch in a new window or tab with your default browser. After logging in the report is automatically displayed as a PDF (remember I chose the output type to be a PDF and to be locked):</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/01/Launch_Report_from_PRD.jpg"><img class="alignnone size-medium wp-image-565" title="Launch Report directly from PRD" src="http://www.prashantraju.com/wp-content/uploads/2010/01/Launch_Report_from_PRD-270x300.jpg" alt="Launch Report directly from PRD" width="270" height="300" /></a></p>
<p>To launch the report within PUC first click on the folder (solution) name in the <span class="inline-pre">Solution Browser</span> which contains the report which was just published &#8211; in this example it is <span class="inline-pre">blog</span>:</p>
<p><img class="alignnone size-full wp-image-566" title="Solution Browser Folder" src="http://www.prashantraju.com/wp-content/uploads/2010/01/Solution_Browser_Folder.jpg" alt="Solution Browser Folder" width="232" height="227" /></p>
<p>After clicking on a folder (solution) all available reports within this folder (solution) will be displayed in the frame below it &#8211; in this example there is only one report <span class="inline-pre">Survey_Scale_Chart_Example</span>, double click on the name of the report which was just published.</p>
<p><img class="alignnone size-full wp-image-568" title="Solution Browser Report Name" src="http://www.prashantraju.com/wp-content/uploads/2010/01/Solution_Browse_Report.jpg" alt="Solution Browser Report Name" width="234" height="107" /></p>
<p>As you can see my report automatically ran as a PDF (remember I chose the output type to be a PDF and to be locked):</p>
<p><a href="http://www.prashantraju.com/wp-content/uploads/2010/01/Launch_Report_from_PUC.jpg"><img class="alignnone size-medium wp-image-570" title="Launch Report from PUC" src="http://www.prashantraju.com/wp-content/uploads/2010/01/Launch_Report_from_PUC-287x300.jpg" alt="Launch Report from PUC" width="287" height="300" /></a></p>
<p>Hopefully these steps can help you in publishing content to Pentaho BI server.</p>
<p class="quiet">This post <em>will</em> be added as a chapter to current Pentaho <a title="Projects - Pentaho" href="http://www.prashantraju.com/projects/pentaho/" target="_blank">documentation</a>.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prashantraju.com/2010/01/publishing-content-with-pentaho-3-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

