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
- MySQL Database query to check if there has been pallets produced for a certain date '2021-01-14'
- Validates if pallets > 0 and continues otherwise does nothing
- Uses a data grid to feed email and contact details to the next step
- Uses a javascript step to create some variables and gather some output paths
- Feeds data into a Pentaho Reporting step to create a PDF
- Takes the PDF and sends an Email
- 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 Field | Variable |
Hostname | ${DB_HOSTNAME} |
Database Name | ${DB_NAME} |
Username | ${DB_USER} |
Password | ${DB_PW} (Yes this does work) |

0 Comments