{"id":216,"date":"2018-02-14T10:13:35","date_gmt":"2018-02-14T04:43:35","guid":{"rendered":"http:\/\/blog.tenthplanet.in\/?p=216"},"modified":"2026-03-03T10:15:40","modified_gmt":"2026-03-03T10:15:40","slug":"pentaho-user-console-styling","status":"publish","type":"post","link":"https:\/\/tenthplanet.in\/blogs\/pentaho-user-console-styling\/","title":{"rendered":"Pentaho+ User Console Styling"},"content":{"rendered":"<h3>Pentaho+ User Console &#8211; Custom Theming<\/h3>\n<h3>Business Need<\/h3>\n<p>There are scenarios where customer might require all their applications of the organization to follow a same standard style pattern rather than the default styles of each application.<br \/>\nIn such cases, the application should be flexible enough to add new custom themes to the application to bring a monotonous feel.<\/p>\n<p>So is possible to customize the Pentaho+ User Console to be in compliant with the customer&#8217;s official theme rather that default Pentaho+ theme?<\/p>\n<p>How to apply custom themes and styles to Pentaho+ User Console?<\/p>\n<h3>Solution<\/h3>\n<p>The Pentaho+ User Console is the standard web application for the Pentaho+ BA Server, and includes interactive elements of Reporting, Analysis and Dashboards.<\/p>\n<p>We can alter the look and feel of the User Console by editing its configuration files, graphics, and CSS style sheets manually.<\/p>\n<p>There are two different kinds of themes: system and local.<\/p>\n<p>System themes provide common styles and scripts that apply across the entire Pentaho+ BA Server. For instance, buttons are defined in the default system theme, Crystal. A change to the Crystal system theme will change the way buttons look in all applications.<\/p>\n<p>Local themes are defined for a particular area or &#8220;context&#8221; of the Pentaho+ BA Server. Contexts include Pentaho+ BA Server plug-ins as well as the names of the top-level directories in the Pentaho+. Resources for local themes take effect only in their particular area of the BA Server.<\/p>\n<h4>StepsOptimize ETL Jobs by Clustering and Partitioning in PDI<\/h4>\n<h4>Theming &#8211; Pentaho+ User Console<\/h4>\n<p style=\"padding-left: 30px\">1. Open &#8220;\/..\/pentaho-solutions\/system\/common-ui\/resources\/themes&#8221; directory.<\/p>\n<p style=\"padding-left: 30px\">2. Create a copy of &#8220;crystal&#8221; directory.<\/p>\n<p style=\"padding-left: 30px\">3. Rename the above folder to new theme name. Let us consider the new theme name as <b>&#8220;yourtheme&#8221;.<\/b><\/p>\n<p style=\"padding-left: 30px\">4. Open the file \/..\/pentaho-solutions\/system\/common-ui\/themes.xml<\/p>\n<p style=\"padding-left: 30px\">5. Add below lines for displaying new theme to user.<\/p>\n<pre style=\"padding-left: 30px\">&lt; <b>yourtheme<\/b> display-name=\" <b>yourtheme<\/b> \" system=\"true\"&gt;\nglobalCrystal.css\nbootstrap\/css\/bootstrap-namespaced.css\n&lt;\/ <b>yourtheme<\/b> &gt;<\/pre>\n<p style=\"padding-left: 30px\">6. Open the file<\/p>\n<pre style=\"padding-left: 30px\">(\/..\/Pentaho\/server\/biserver-ee\/tomcat\/webapps\/pentaho\/mantle\/themes\/crystal\/mantleCrystal.css)<\/pre>\n<p style=\"padding-left: 30px\">7. Copy all contents<\/p>\n<p style=\"padding-left: 30px\">8. Append the content in your theme css say,<\/p>\n<pre style=\"padding-left: 30px\">\/..\/Pentaho\/server\/biserver-ee\/pentaho-solutions\/system\/common-ui\/resources\/themes\/\/globalCrystal.css<\/pre>\n<p style=\"padding-left: 30px\">9. Load the below URL<\/p>\n<p style=\"padding-left: 30px\"><strong>http:\/\/localhost:8080\/pentaho\/content\/common-ui\/resources\/web\/test\/style-samples.html?theme=<\/strong><\/p>\n<p style=\"padding-left: 30px\">yourtheme<\/p>\n<p style=\"padding-left: 30px\">10. Above URL will show you all the components present in Pentaho. Modify the css for the components.<\/p>\n<p style=\"padding-left: 30px\">11. Update the modified css in appropriate css file. (Use inspect element in the browser and update the color and css)<\/p>\n<p style=\"padding-left: 30px\">12. Restart the server.<\/p>\n<p style=\"padding-left: 30px\">13. Login as Admin. Choose the new theme &#8221; <b>yourtheme<\/b> &#8221; from Menu &#8220;View&#8221; -&gt; &#8220;Themes&#8221;<\/p>\n<h4><strong>Note:<\/strong><\/h4>\n<p>If this url fails in your server<b>(http:\/\/localhost:8080\/pentaho\/content\/common-i\/resources\/web\/test\/style- samples.html?theme=crystal).<\/b><\/p>\n<p>Then revert to the original settings.<\/p>\n<h4>Tips:<\/h4>\n<p>Login screen will be using the Crystal theme by default. To customize the Login screen widget theme, above changes needs to be updated in crystal theme folder.<\/p>\n<h4>Customizing the Login screen background<\/h4>\n<p style=\"padding-left: 30px\">1. Navigate to <b>location \/..\/Pentaho\/server\/biserver-ee\/pentaho-solutions\/system\/common-ui\/resources\/themes\/crystal\/images<\/b><\/p>\n<p style=\"padding-left: 30px\">2. Replace your background image file with the name login-crystal-bg.jpeg<\/p>\n<p style=\"padding-left: 30px\">3. Restart the server and clear the browser cache to view the changes.<\/p>\n<h4>Customizing the Logo<\/h4>\n<p style=\"padding-left: 30px\">1. Navigate to <b>location \/..\/Pentaho\/server\/biserver-ee\/pentaho-solutions\/system\/common-ui\/resources\/themes\/images<\/b><\/p>\n<p style=\"padding-left: 30px\">2. Replace your logo image file with the name puc-login-logo.png<\/p>\n<p style=\"padding-left: 30px\">3. Restart the server and clear the browser cache to view the changes.<\/p>\n<h3>Common Problems<\/h3>\n<p>While creating a new theme, it is always advisable to copy an existing theme folder, and use that to create your new theme.<\/p>\n<p>The default system theme is defined in the \/pentaho-solutions\/system\/pentaho.xml configuration file through the default-theme node.<\/p>\n<p>The BA Server uses Crystal as the default theme; changing the value to another theme name will set the default active theme for all User Console users<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are scenarios where customer might require all their applications of the organization to follow a same standard style<\/p>\n","protected":false},"author":23,"featured_media":1135,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[424],"tags":[441,442,431],"class_list":["post-216","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pentaho","tag-console","tag-pentaho-customization","tag-pentaho-user-console"],"acf":[],"_links":{"self":[{"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/posts\/216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/comments?post=216"}],"version-history":[{"count":0,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/posts\/216\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/media\/1135"}],"wp:attachment":[{"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/media?parent=216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/categories?post=216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/tags?post=216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}