Archive for March, 2008

Sprinting At Pentaho - Mondrian Platform Sprint

For the past couple of months, Pentaho’s Orlando developers have been using the Scrum methodology for managing our projects.  For the past two weeks, I’ve been working part time on the Mondrian Platform Sprint.  We’re delivering some exciting new features into open source.  The first story we’re tackling is the ability to create new analysis views within Pentaho’s BI Platform.  What I’ve enjoyed most about this story is working closely with Mat Lowery and Nick Baker.  We’re all working together on the various components, and things are coming together nicely.

The second story we’re delivering on this sprint is the ability to publish Mondrian Schemas to the BI Platform from Mondrian’s Schema Workbench.  I’ve taken the publishing dialog source code from Pentaho’s Report Designer and bended it to fit within the Workbench.  It’s been a while since I’ve had the pleasure of writing Swing UI code, I’m enjoying every minute.

Both of these stories will make Mondrian more usable within Pentaho’s BI Platform.  What is great about sprinting is that we know we’re focused on high priority items that make our products easier to use.

Google’s Summer of Code

Google has selected Pentaho to be one of the many Summer of Code mentoring organizations for 2008.  We have a long list of fun projects that folks can participate in.  I’ve volunteered to be one of our project mentors, and have come up with a few projects that might interest developers who are new to the BI world and want to get their feet wet.  Here is a high level list of project ideas that I’d love to see accomplished, all within the scope of Pentaho Metadata:

Add Publishing of OLAP Models to Pentaho’s BI Platform - In Pentaho’s Metadata Editor, there is a lesser known OLAP Schema Designer, which Matt Casters wrote a while back.  Eventually, we see this as the primary place where warehouse designers will build and manage Mondrian ROLAP schemas.  Being able to easily publish to Pentaho’s BI Platform, like we already do with Metadata XMI files, will make it easier for designers to deploy their OLAP schemas to a runtime environment.

Add String Functions to Metadata’s open formula API - We currently have a limited set of open formula functions implemented across the various database dialects that are supported within Metadata.   Adding string functions will expand the capabilities of MQL.  This is an interesting problem, because the major database implementations handle string functions differently.  Expanding Metadata’s open formula API will allow more people to implement more robust cross-database metadata solutions.

Enhance MQL Query Editor - The MQL Query Editor is used in the Metadata Editor, Report Design Wizard, and Report Designer today for generating metadata based queries.  To expand the ease of embedding MQL Query Editor in various environments, one task I’ve proposed is porting the editor over to Pentaho’s new XUL Framework.  Another feature that is missing today in the MQL Query Editor is the ability to write free form constraints.  The lower level XML API supports this, but the MQL Query Editor currently does not.

There are plenty of contribution ideas that Pentaho and our community have come up with, we could easily employ the entire Summer of Code student base!  I hope some of the students participating find that our projects are technically challenging and generally fun to implement.

Pentaho Metadata Update…

This past month, Alex Silva, one of Pentaho’s Senior Engineers, has been working on upgrading Pentaho Metadata to work with Kettle 3.0 and also to remove a lot of the new JDK 1.5 warnings that appear when running in Eclipse.  The new code is now available in the trunk.  In this upgrade, Pentaho Metadata now only has a couple of dependencies on Kettle 3.0.  The first dependency is the use of Kettle’s DatabaseMeta object which helps in the generation of dialect specific SQL.  The second dependency is within the UI code inside the Metadata Editor.  The Metadata Editor uses Kettle’s PropsUI, DatabaseDialog, and other UI related classes.  I can imagine eventually that all of these components might end up in a more common form, available for developers.  I’m especially interested in seeing a combination of Kettle’s DatabaseMeta and Pentaho Metadata’s dialect package becoming more generic and useful for third party developers.