Notes on 5.x Migration

BI projects in Mexico have been slow for me so I haven’t posted much information lately. But the release of 5.1 CE in par with the EE version deserves a mention and a post.

Moreover since webdetails has made Dashboards development something doable interactively, coherent and documented but at the same time a nightmare for each time you upgarade their ctools plugins an improvement on them messes up your dashboard’s looks.

Well, I have just upgrated with the CE release from 5.01 to 5.1 and kudos for making that an easy job. Thanks for thinking on us that can only use Open Source products.


Notes on the 5.x version

For years from 2.5 up to 4.8 version the BI Server, the link between the individual Pentaho projects was guided by a Pentaho team, but somehow decided to unload the web project to a new partner for for the 5.01 release.

So some changes on its infrastructure were expected, this is what I have notice so far:

  • The repository (a fancy way to describe the pentaho-solutions folder on the CE standar edition) was migrated to a encrypted structure on the pentaho-solutions/system that you can set on folder or in a database.
    So now you have to ‘upload’ some of your files to this structure like reports, resources (images, css) so they can be found by the BI web server. Some others like the .ktr transformations can still live on normal files, it depends on how you code the paths on your programs. I like this as version control can be maintained on them.
    The users, new roles and datasources have also been moved from a database to the Jackrabit Content Repository (JCR).
    All the administration can be done from the BI web server.
  • The important configuration files retain their functionallity and location, but others are being taken to pieces or relocated so they can be consolidated on new ones.
    They are being commented so the inconvenience is minimal.
  • The console or web interface has a new paradigm, so you and your users will need a video or a presentation to get full use of it. Navigation between browsing programs, results, administration or home page is controlled by a selector on your upper left insted of the older tabbed interface.
  • Most of your development will need to be done or maintened.
    The sequencing actions (.xactions) files are deprecated and can be migrated once you know to:
    – Edit them without special characters (use unicode) speccially in the name.
    – Save them in UTF-8 or cant be uploaded.
    – Change <viewer>Pivot</viewer> to <viewer>plugin/jpivot/Pivot</viewer>
    – Change <model><![CDATA[solution:your-path/your-model.mondrian.xml]]></model>
    to <model><![CDATA[mondrian:/your-model]]></model>.
    Note: You have to upload the model to the repository. You browse to your folder on the web UI and click on upload.
    – The Design Studio is no longer maintained and a text editor can be used
  • The Report Designer has new attributes and quirks but its ok. Now you can ‘publish’ yor reports to your server.
    I used to specify which formats could the user select for output on a parameter, now is a default and you can select a default on the PRD.
  • The Metadata editor can read the models and publish them to the BI server too.
  • Once you save a .ktr file you won’t be allowed to read it in the olver PDI version.
  • What I miss is the Saiku Reporter as it has not been migrated yet.
    Those programs and the ones on Ad-hoc queries (now on WAQR plugin on the marketplace) had to be built from scratch so documentation of your site is very important on this migration.
  • The changes on CDE are many, really, many things have changed: The protovis library it uses has been deprecated, the version changed from 1.0 to 2.0 as a result interface fields have changed and a few don’t work as advertised. Check next section so you’ll be warned.

Dashboard Changes

Graphical representation is a key in information visualization, to make graph libraries present the way you desire you need documentation.

The webdetails site has good documentation on the CDE to get started but some later changes are not explained for ‘advanced topics’. you’ll need to browse the protovis site or look for tips like this one on vesion changes Main_Changes_New_Features_CCC_v2.

Some changes are minimal, as an example, you used to set an extension point as a pair: pie_innerRadius,50. Now you use: slice_innerRadiusEx,50%. You can see that you will need lots of time to make your dashboard behave like it used to.

Other point of difficulty are functions and how you pass a parameter, You used to format a tooltip:

function f(value){return ('$'+sprintf("%.1f", value)+'m')}

now you pass an object and has to specify the full path:

function f(scene){
    return ('Puesto '+scene.vars.category.value+' , con '+scene.vars.value.value+' personas');
}

The problem is that the object has a few variations and can be navigated on some others.

Tip: The code to trigger a change on a click change from:

function d(a,b,c){ updateParamFunc("PARAM_MARKET", b) }

to

function d(scene){ updateParamFunc("PARAM_MARKET", scene.vars.category.value) }

Heres an article on the pentaho forum that talks about extension points.

I noticed also than table rendering has changed from 5.01 to 5.1, now its better as has several divs to control format but you will have to use your firebug plugin to tame them with .css files (that has to be uploaded to the repository).

 

Customize The Pentaho 5.x Look

To present a Pentaho BI demo to your company or client, you should upload relevant business data, develop reports, maybe OLAP models and MDX queries, even Dashboards. To take it to the next step, you can modify files to show their logo and text above Pentaho’s marketing messages.

What follows is a list of ‘quick and dirty’ tips to make that customization. It’s not the preferred way a programmer o designer go about it, but it works, so:

Login Screen Images

You will need two images:

  • Logo, 360×93 pixels in size. Transparency recommended. Replace at
    pentaho-solutions\system\common-ui\resources\themes\images\puc-login-logo.png
  • Background, 1255×663 pixels in size. Edit it and add brightness to emulate original effect. Replace at
    pentaho-solutions\system\common-ui\resources\themes\crystal\images\login-crystal-bg.jpeg

I have tested it with the Crystal (default) and Emerald (available on 5.2) theme.

Login Screen Text

To modify the text in the screen you can edit a message.properties file. I chose to replace the variables by fixed words. The file is:

\biserver-ce\tomcat\webapps\pentaho\jsp\PUCLogin.jsp

To change user, password, login button text, copyright, first copy and paste each one of those lines, comment the original and type your text on the new ones, like this:

<!-- ...getString("UI.PUC.LOGIN.COPYRIGHT", ... -->

 Main Page

What I changed in the main page is the center panel text, leaving intact the navigation bar on the left and upper toolbars and menues. So I edited:

biserver-ce/tomcat/webapps/pentaho/mantle/home/content/welcome/index.html

Its a regular html file, just check the divs as they are rendered as tabs or categories in case you want to keep them.

For CSS modifications, add rules to one of these:

biserver-ce/tomcat/webapps/pentaho/mantle/home/content/welcome/css/main.css
biserver-ce/pentaho-solutions/system/common-ui/resources/themes/crystal/globalCrystal.css
biserver-ce/pentaho-solutions/system/common-ui/resources/themes/onyx/globalOnyx.css
biserver-ce/pentaho-solutions/system/pentaho-emerald-theme/resources/themes/emerald/bootstrap/css/bootstrap-namespaced.css

I installed the new (in 5.2) Emerald Theme and added at the bottom of main.css:

/* Header fonts */
h1.large  { font-size: 2.5em; color: #3BA749; }
.header-navigation-item { font-size: 1.2em; color: #3BA749; }
.content h2 { color: #3BA749; }
/* To avoid Multilist height bug, and jpivot message, I edited  globalEmerald.css */
.parameter-container SELECT { height:auto; }
#deprecatedWarning { display:none; }

For other pages, themes have preference so in bootstrap-namespaced.css I added also at the bottom:

 /* Content width */
.bootstrap .row-fluid .span9  { width:71%; }
.bootstrap .container-fluid { padding-left: 10px; padding-right: 10px; }
 /* Main left sidebar headers */
.bootstrap .well h3 { color: #3BA749; }
/* Browse Files column width */
#fileBrowserFolders { width:28%;  }
#fileBrowserFiles { width:45%; margin-left:0px; }
#fileBrowserButtons { width:22%; margin-left:0px; }
.fileBrowserColumn .header { color: #3BA749; }

To make Tomcat to reload the .css, I had to delete the content of

biserver-ce/pentaho-solutions/system/tmp
biserver-ce/tomcat/temp
biserver-ce/tomcat/work/Catalina/localhost

Then restart the server and clean the browser cache at login screen.

Translation (i18n)

If you like to change words, you need to modify some text files, modify the text to the right of the equal sign and save them with UTF-8 encoding:

  • In 5.0 and 5.1:
    Main app mesages are located at:
    \biserver-ce\tomcat\webapps\pentaho\mantle\home\properties\messages.properties
  • In 5.0
    To edit the navigation text on the upper left selector, edit:
    \biserver-ce\pentaho-solutions\system\default-plugin\resources\messages\messages.properties
  • In 5.1:
    – One file contains login, navigation content and tools header text. It’s located at
    \biserver-ce\tomcat\webapps\pentaho\mantle\messages\mantleMessages.properties
    – Navigation text and right content of options like browse files are in:
    \biserver-ce\tomcat\webapps\pentaho\mantle\browser\messages_es.properties
  • Notes:
    – Use unicode, ie, \u00E1 instead of á, or otherwise your system may fail after login.
    – Copy each message file to a new one and add your locale, i.e, for spanish copy to messages_es.properties and then edit you translation. You also need to add the line es=Español to the file messages_supported_languages.properties on the same folder.

Restart your server, clear your browser cache and test it.

Notes

Other images were modified in older versions and havent verified if they are used today but they are listed if needed:

  • Logo. 185x50px. pentaho-solutions\system\common-ui\resources\themes\images\logo.png
  • Logo. 52x60px. tomcat\webapps\pentaho\mantle\themes\onyx\images\logo.png
  • Login. 224x94px. tomcat\webapps\pentaho-style\images\login\logo.png

About other text messages files:

  • There is a similar copy of the first file mentioned above but has no effect:
    \biserver-ce\tomcat\webapps\pentaho\mantle\browser\messages.properties
  • There are older translation files that are no longer needed. But they are listed:
    \biserver-ce\tomcat\webapps\pentaho\mantle\messages\MantleLoginMessages.properties
    \biserver-ce\tomcat\webapps\pentaho\mantle\messages\filechooser_messages.properties

Thanks to:

An evaluation post of 5.0 by nextCoder that suggested the login page straight modification in http://www.nextcoder.com/?p=1172

There is a guide in your Pentaho installation, look into \biserver-ce\tomcat\webapps\pentaho\docs\customizing_pentaho_guide.pdf. I found it updated after making this notes, is consise and complete.