Pentaho CE 4.8 – BI Server Update

[This is the third edit -15th January 2013-on this post I think this is the final version so everything works]

On November 29, Pentaho (dmoran specifically) published on sourceforge the new versión of the Pentaho BI Server 4.8. That is just a few days behind the Enterprise Edition announcement, that is great news for us.

Also was made available the Data Integration, Pentaho Metadata, Report Designer applications that you should be able to update following the Tools Update post.

The most notorious inprovement in the PUC is a toolbar button to install, upgrade or delete the Saiku or C*Tools plug-ins, its called ‘The Pentaho Marketplace’. If you click on it you will see this dialog:

marketplace

If you’re server is connected to the internet you just need to click on the buttons to upgrade or install plugins!, This is the success dialog:

Dialog

The following instructions should work from upgrading the 3.5-3.10 server if you installed acording to this series, that’s the installation and MySql-DB post. If you made further modifications or want to do the things the ‘best practice way’ then you should do a ‘diff’ for the configuration files, at least the ones mentioned.

If you need details about the instructions refer to each post where it is explained in detail.

Part I: BI Server Demo Install

Just like in the first post:

  1. Download biserver-ce-4.8.0-stable.tar.gz [445.6.5 MB]
  2. Stop your server.
  3. Make a bakup of your /Pentaho/biserver-ce folder, a zip or gzip file should do it.
  4. Rename the folder to /Pentaho/biserver-ce-old.
  5. Move the dowloaded file into \Pentaho
    untar/gzip the two folders:  tar -zxvf biserver-ce-4.8.0-stable.tar.gz
  6. Change the .sh to exetutables [I didn’t have to do this but in case you need it]
    Antonio suggested (on first post comments) to use:
    find Pentaho/ -type f -name ‘*.sh’ -exec chmod +x {} \;
  7. Add the java variable to the start and stop .sh files, including the ones in the administration console folders:
    export JAVA_HOME=”/usr/lib/jvm/java-6-openjdk”
    [or java-7-openjdk]
  8. Start the Server and login with joe/password to check the demo at:
    http://localhost:8080/pentaho
    Be patient it may take a few minutes

Part II: Update Plugins

[Edit: JP -in the comments- posted that this step avoids an error on dropdown parameters that happens on some systems. As it works, I suggest you follow his advice.]

If your server is without internet access, follow the C*Tools and Saiku manual install instrucctions.

  1. Click on the marketplace icon on the toolbar.
    Locate the Comunity Dashboard Framework line and click on the view details button. Click on uninstall. Close the dialog.
  2. Restart you server.
  3. Reload the settings on the browser using the menu ->Tools -> Refresh and execute all the options. Clear your browser’s cache.
  4. Click again on view details button from the CDF option, but this time Install the ‘stable’ version not the TRUNK).
  5. Go ahead click on upgrade Saiku Analytics, CDA, CDE.
  6. You need to install the Saiku Reporting add-in manually (as described on Post 3): download it and unpack it into Pentaho/biserver-ce/pentaho-solutions/system.
  7. Reboot the server.
    I hope that in the next version of the marketplace they use use checkboxes and let the thing reiterate so you don’t have to click and waif for each one.
  8. You can check that after the procedure, the plugin-samples->CDF->CDF-> Samples->Charts samples->Chart Samples: works!

Part III: Upgrade your DB and Connections

Lets update the database config files (the same ones that we modified on post 2). Open a file explorer with the biserver-ce-old and the biserver-ce, as we will be copying files from the first one to the second, here is the list.Be carefull not to overwrite the wrong ones.

  1. Shut down the server.
  2. Copy the Hibernate and Quartz DB config files:
    tomcat/webapps/pentaho/META-INF/context.xml
    tomcat/conf/Catalina/localhost/pentaho.xml
  3. Copy the Hibernate security files:
    pentaho-solutions/system/hibernate/hibernate-settings.xml
    pentaho-solutions/system/applicationContext-spring-security-hibernate.properties
    pentaho-solutions/system/applicationContext-spring-security-jdbc.xml
  4. Copy the Datasources:
    pentaho-solutions/system/simple-jndi/jdbc.properties
    pentaho-solutions/system/olap/datasources.xml
  5. Copy your drivers (files not in the new lib folder) from:
    tomcat/lib/
    In my case: mysql-connector-java-5.1.17.jar, ojdbc14.jar, orai18n.jar
  6. Disable the In Memory database from the demo, edit:
    tomcat/webapps/pentaho/WEB-INF/web.xml
    search for: BEGIN HSQLDB in two places, and remove some coment so it will look like this:
    <!– [BEGIN HSQLDB DATABASES]
    <context-param> <param-name>hsqldb-databases</param-name> <param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hibernate,quartz@../../data/hsqldb/quartz</param-value> </context-param>
    [END HSQLDB DATABASES] –>
    and :
    <!– [BEGIN HSQLDB STARTER]
    <listener> <listener-class>org.pentaho.platform.web.http.context.HsqldbStartupListener</listener-class> </listener>
    [END HSQLDB STARTER] –>.
  7. If you jave generated metadata using tools or dowloading samples you shoud check
    biserver-ce-old/pentaho-solutions/admin/resources/metadata/
    and copy your ‘agile’ file to your new folder.

The following modifications may vary and are optional, they were mentioned in Post 5 – Your Server:

  1. Copy company logo, repace these files from your biserver-ce-old folder:
    biserver-ce/tomcat/webapps/pentaho/mantle/themes/onyx/images/logo.png
    biserver-ce/tomcat/webapps/pentaho-style/images/login/logo.png
  2. Avoid tip on ‘demo users’ at login screen, edit:
    biserver-ce/pentaho-solutions/system/pentaho.xml
    Set these properties to false:
    <login-show-users-list>false</login-show-users-list>
    <login-show-sample-users-hint>false</login-show-sample-users-hint>
  3. Increase Timeout, edit two files:
    biserver-ce/tomcat/conf/web.xml
    biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml
    Search for session-timeout and change it from 30 to the seconds you prefer:
    <session-timeout>180</session-timeout>
    While you are editing you can add these at the bottom, just after:
    <!– insert additional resource-refs –>
    Add:
    <security-role>
       <description>security role</description>
       <role-name>PENTAHO_ADMIN</role-name>
    </security-role>
    Its removes a warning on logs at startup, but there a re too many now.
  4. Add your publishing password. Edit:
    biserver-ce/pentaho-solutions/system/publisher_config.xml
    Set the property to your password
    <publisher-password>[your-password]</publisher-password>
  5. Remove Jpivot and waqr warnings.
    Those tool are deprecated, you should be using the Saiku tools, but If you have reports running on those tool, its not nice for your clients, so get to:
    biserver-ce/tomcat/webapps/pentaho/adhoc/styles/
    add at the bottom of these files: jpivot.css and jpivotIE6.css :
    #deprecatedWarning { display: none; }
    And add to (in the same folder): adhoc.css :
    #waqrDeprecatedAlert { display: none; }
  6. On a production system, I hide the .CDA files, its no use to the end user to see the datasource in the treeview so edit:
    biserver-ce/pentaho-solutions/system/cda/plugin.xml
    And comment the lines between:
    <!–
    <content-types>

    </content-types>
    //–>
  7. If you need advanced guidelines on changing http server name and port, connection pools, config for database on other machine, modify the messages, email account setup, and automatic startup, pool connection, etc. Check Post 5 for config notes.

Part IV: Copy your Solution Folders

  1. Check for your work (solutions) in the old
    pentaho-solutions/
    and copy them to your new folder. I have two solutions and a samples from old bi server installations.
  2. If you have kept your .xmi and other configuration files to each solution folder you can upgrade this easily.

That’s it, start your server, you’re on 4.8 now. Now you’ll need to use your own user-password.

PD. Remember to reload the settings on the browser with the menu ->Tools -> Refresh and execute all the options, and clean your browser cache.