A Reminder of things you can do with Pentaho

by | Apr 20, 2025 | IT Tips | 0 comments

This is an unfinished old post I had in Drafts but just posting as a reminder. I haven't used Pentaho for ages but even with the community edition you can achieve quite a lot.

So a number of years ago I created a report in Pentaho which does the following

  1. MySQL Database query to check if there has been pallets produced for a certain date '2021-01-14'
  2. Validates if pallets > 0 and continues otherwise does nothing
  3. Uses a data grid to feed email and contact details to the next step
  4. Uses a javascript step to create some variables and gather some output paths
  5. Feeds data into a Pentaho Reporting step to create a PDF
  6. Takes the PDF and sends an Email
  7. Finally it deletes the PDF

I did this on Pentaho 5 CE (community edition) and managed to upgrade to 7 at one stage but couldn't get v8 working with my ancient version of (I think) Sun java.

Recently when I was asked to change the report I tried to run the Pentaho v7 report-designer and data-integration components on a box I had upgraded to Ubuntu 20.04 and it wasn't happy.

So I had downloaded a latest version of Pentaho 9.1

I found a support page that mentioned that openjdk-8 is supported from version 8.3. So I removed the ancient version of Java and installed openjdk-8 and Pentaho 9.1 and was pleasantly suprised to find it all worked.

Some things I learnt which may help me in future.

Store environment specific settings in kettle.properties

The ~/.kettle/kettle.properties file can be used to store environment specific configurations.

Say you are developing on a development machine and then you transfer to a production configuration on another machine

You can define different kettle.properties files on each machine

1
2
3
4
DB_HOSTNAME=localhost
DB_USER=root
DB_PW=mySuperSecretPassword*
DB_NAME=palletsTest

And on a production machine ~/.kettle/kettle.properties might contain

1
2
3
4
DB_HOSTNAME=10.192.3.10
DB_USER=produser
DB_PW=mySuperSecretPassword2
DB_NAME=palletsProd

Make use of kettle.properties variables in Database connections

Then you can configure your Database connection with variables for the bits that change between the environment

Pentaho Database Connection FieldVariable
Hostname${DB_HOSTNAME}
Database Name${DB_NAME}
Username${DB_USER}
Password${DB_PW} (Yes this does work)

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.