As promised, here is an ordered (I think) list of all the necessary panels for the IzPack installer. I have included notes on each panel’s content (or purpose) as an aid for the upcoming posts on this installer.
Notice how the few first and the few lasts panels would apply to any installer we wanted to create. It wouldn’t be too difficult to create a ‘base’ installer out of this one for future projects 🙂
Greeting – Welcome to this Pentaho installer.
Disclaimer – This installer is not affiliated with Pentaho. Where applicable, permissions has been granted to the use of any assets not created in project.
Pre-requisites – For this install to be successful, the following items are needed:
Zip(s) of Pentaho software
Available database server if not choosing Derby
About the author – Mario Talavera is a software developer in the Central Florida. Perpetually worried about technology leaving him behind, he constantly fiddles with the parts he understands in the hopes of staying hire-able.
Typical of IT, he keeps an occasional blog at https://mtalavera.wordpress.com
This installer ‘configures’ Pentaho for you. It needs you to supply the compressed sources from the Pentaho website.
Pentaho – Before continuing, ensure that you have the distributable for both Pentaho’s Business Intelligence Server (biserver-ce-3.0.8-stable.zip) as of writing this and Pentaho Data Integration – Kettle (pdi-ce-4.1.0-stable.gz).
You can grab both from http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/3.8.0-stable/
Database – Out of the box, Pentaho is configured to run against an included Derby database. Alternatively, this installer will configure Pentaho to run against a MySQL database. Other databases are supported and will get added as time allows.
You can grab MySQL at http://www.mysql.com/downloads/mysql/
Product Zip Panel
Indicate the location of both product distributable(s)
- Location (directory) of product zips
- Expand zip to temp location
- Check expanded for validity/version, etc.
Zip Check Version Panel
This screen will provide results of compressed files check done on previous screen. It will attempt to assert the expected files were provided. These checks may need to be revised as new versions of the products come out.
If zip(s) are not valid
- Provide URL reminder and indication that installer may have not been tested with zip provided. Instruct user to get a supported version. Encourage user to email developer with issue so that this version can be validated.
- Allow installer to proceed with cautionary notice stating that it may not work as intended. Please email developer again.
Installation Location Panel
- Location where Pentaho should be installed
- Create desired directory structure
- Copy from temporary to newly created directory structure
- Apply appropriate permissions
Database Selection Panel
- Radio button of db to use. (MySQL, MS SQL, Oracle, Derby)
Derby is default selection and all but MySQL will be inactive initially. More databases could be supported as time allows for me to refine.
MySQL Credentials Panel (if MySQL was selected)
- Hostname/ IPAddress
- Port number
- Check connect?!
Explanation of Installer Duties Panel
The following things may/will need to be explained here:
- Actions that will take place
- c3p0 connection pooling
- JDBC security
Installation Duties (not a panel)
The good stuff happens here
- Create databases from scripts for Hibernate
- Create databases from scripts for Quartz
- Revise configuration files so Pentaho knows about these databases just created
- Revise configuration files to remove settings for Derby
- Revise configuration files to configure Spring Security for JDBC
- Load a sample data warehouse database?!
- Update Hibernate DB to point to DW database just created.
- Revise Start and stop Scrips to remove Derby
- Setup Publisher’s Password
Load (or provide url link to) Pentaho Admin
Provide startup info, completion Message
End of Panels
That’s all I can think of. Depending on the purpose of our installer, some of these panels could be omitted but for that sake of completeness, I am keeping them for now.
For the next post, I may go over setting up the IzPack Project in Eclipse. After our project is properly setup, we can circle back to going over all the panels in this post in as much detail as needed. Its gonna be a hoot!