Archive for
January, 2008

Last week, the architects of Pentaho’s products convened in Orlando to sync up and discuss plans for 2008. Matt Casters of Kettle, Julian Hyde of Mondrian, Thomas Morgner of JFreeReport, and Mark Hall of Weka attended the festivities. Some of the highlights included roadmap discussions on Pentaho Metadata, a great Weka brown bag, and lots of discussion on improving communication and process as Pentaho scales its engineering department.

One aspect of the discussion included having Mondrian, our OLAP server, work more closely with Pentaho Metadata. Over a year ago, Matt Casters wrote a prototype of a Mondrian Schema Generator based on Pentaho Metadata. This functionality currently exists as an easter egg within Pentaho Metadata Editor, by clicking “CTRL-ALT-o”. While brain storming, we’ve thought of many different ways that Metadata, Mondrian, and the Pentaho Platform can work together to make a better user experience.

Last week I checked in a substantial change to Pentaho’s Metadata MQL Query architecture, which allows for easier extensibility. Check out the new MQL Query architectural documentation over in our wiki. Pentaho’s Metadata Query Language (MQL) is an easy to use XML specification for querying a Business Model. By adding a factory class along with our default implementation of MQL, it is now much easier for a third party developer to quickly add functionality to MQL while maintaining the core capabilities we’ve already made available.

Today I created a new Pentaho commons project, the Pentaho Connection API. The code in this project was formerly part of the Pentaho BI Suite project, in the package org.pentaho.core.connection. I’ve moved these Interfaces and Classes into their own project primarily so that Pentaho Metadata’s Query class can generate it’s own ExtendedMetaData, versus relying on the BI Suite to generate the extra metadata. This will make it easier for folks to extend Pentaho’s Metadata Query Language.

Eventually, we’ll also move out the various implementations of the Connections API into a commons project, which include SQL, MDX, MQL, Javascript, and HQL. Once we’ve create that project, developers will be able to quickly write an app that works with all of those disparate APIs in a common way.

Today and tomorrow, Kenny Rubin is walking Pentaho’s Orlando Engineering team through the Scrum process, along with answering all of our questions about Scrum. As defined on Wikipedia, “Scrum is a project management method for agile development”. One point regarding agile software that resonates with me is the elimination of waste from the process. As a developer, I can’t stand it when I’ve developed a product or a feature and watch it never get used. By only delivering on prioritized stories, we can avoid unnecessary waste in the code and also unnecessary waste in analysis and design.

For additional information on Agile software, check out the Agile Manifesto. If you are interested in the intersection of Open Source and Scrum, check out Open Scrum, a paper written by James Dixon, Pentaho’s Chief Technology Officer.

To celebrate my one year anniversary with Pentaho, I figured I would finally do something with my personal website and kick off this blog. Every day I work deep within Pentaho’s open source software, adding features and fixing bugs. So far this January, my time has been balanced between doing rearchitecture work within Pentaho’s Metadata project, specifically the MQL component, Mondrian bug fixing, and finally implementing some of the Query capabilities within olap4j. I plan on using this medium to share some interesting pieces of code, and help others dive into the plethora of Pentaho open source projects actively being developed.