Mifos Business Intelligence Deployment

As a Mifos systems administrator I want an easy way to deploy Mifos Business Intelligence code so I can effectively manage my Mifos reporting solution.

As a Mifos BI developer I want a fast and reliable way to develop Mifos Business Intelligence code so I can quickly deliver new BI features and bugfixes.

The Mifos BI software doesn't currently have a "build" per-se (no code needs to be compiled), the reports and ETL jobs simply need to be installed on a pentaho server. But we need some amount of automation (scripts, installer, whatever) to make sure that the Mifos BI software can be reliably deployed and updated.

Terminology

Mifos BI code

includes:

Goals

Non-Goals

Development

Install/Deploy steps for a development machine

Upgrade steps for a development machine

Production

Install/Deploy steps for a production server

Upgrade steps for a production server

Validate Environment

Questions

Testing

How shall we test the installation? Would an idea be to install a vanilla pentaho environment, run the installation/deployment and then confirm everything runs?
It seems obvious but I think there are already a few 'add-ons' to be taken into account... e.g. (1) Tally export... Udai did a java class to use freemarker and (2) Graymatter did some config for report parameters. Would these add-ons be part of installation or follow on from a customised Pentaho installation.

Recent discussion on testing

ETL tests on our ci server

Priority

We need to prioritize having this procedure for our hosted customers (cloud) and then the procedure for those in our community who wish to deploy these reports themselves.  Is this possible?  Is the cloud process basically a subset of larger deployer that we can knock out and break down stories/cards for first?

Configuration

In Mifos, we have a custom properties file where you say how many decimals you want to be displayed for example.

How will this be handled in Pentaho when we deploy? Does each customer choose certain configurations, or do we have a standard file we apply to everyone?

Or will there be some things we set as default, while others such as decimals can be configured by the MFI.

Eventually, we want to allow consistency across Pentaho and Mifos.

Ideas

Designed for the Mifos cloud reporting environment

When porting the installer to other platforms, the install code would (ideally) be mostly reusable.

Potential execution targets

May make use of environment or configuration variables

Ideas from Graymatter

Issues