Experimental Action Editor in GWT

I wanted to share with everyone a new open source project that I just released out to Google Code.  When using Pentaho’s BI Server, users create Action Sequences to pull their data from a warehouse and display it in a Report, etc.  Pentaho’s Action Sequences make it easy for business analysts to define their own process. Pentaho offers Action Components ranging from Analysis OLAP Views to XML Queries that can be combined to create an Action Sequence. Today, you can use one of our many wizards to generate an Action Sequence, or generate one with our Design Studio, a thick client application built on Eclipse.

To educate myself in Google’s Web Toolkit (GWT), I decided to attempt a port of our Design Studio over to thin client. I’ve made a lot of progress, including getting Dom4J running in GWT along with Pentaho’s Action Sequence DOM, an important library that parses and builds a document object model of an Action Sequence file. This week I’ve uploaded the first set of code, which implements input, resource and output parameter management, as well as the start of a couple Action Components, including SQL Lookup Rule and the JFreeReport Component. The project includes instructions to integrate into our latest BI Server, so you can right click, select “Edit Action”, and start editing your Action Sequence right in the browser!

If there are folks out there interested in contributing to this project, please feel free to check out the code, help out with requirements, graphics, you name it! I’ll be working on the project in my spare time.

This is a light DOM4J Implementation, designed to run within GWT’s client environment

Penaho Action Sequence DOM 4 GWT
This project modifies Pentaho Action Sequence DOM so that it may run within GWT’s client environment

Pentaho Action Editor
This is the main project, that allows you to edit Pentaho’s Action Sequences in the browser. It includes instructions for deploying into Pentaho’s 2.0 BI Platform

Pentaho BI Server Community Edition, 2.0 RC1

This week, the Pentaho team released our first release candidate of our 2.0 Business Intelligence Server.  The entire Orlando team worked many months on the brand new features incorporated into this release.  I’m going to highlight some of the most exciting features that we’re all proud of at Pentaho:

A New User Console
In this release, we built from the ground up an entirely new user interface designed to greatly enhance the user experience of our Business Intelligence Server.  Taking advantage of Google’s Web Toolkit’s amazing technology, we were able to deliver a complete Web 2.0 dynamic experience to our business users.  We’ve modernized the look and feel of our analysis views and adhoc reporting tool, along with greatly simplifying permissions management.

Data Source and User Management
For the first time, our Community Edition Business Intelligence Server also comes shipped with an Administration console, for management of Users and Relational Data Sources.  In addition to our default support for direct JDBC and JNDI connections, we also have the ability to define a Pentaho Managed Data Source.  This makes it easy for business users to add their own data sources, without having to know the ins and outs of the Java Enterprise Container hosting Pentaho’s BI Server.

Metadata Row Level Security
Another important enhancement to our product offering is the ability to manage row level security from within our Metadata Layer.  In our first release of Pentaho Metadata, we implemented Model, View and Column Level Security.  In this release we extend our Security functionality to also include Row Level Constraints.  Check out the documentation!

There are countless other features that went into our Community Edition release.  At the same time, we’re also releasing our Enterprise Edition software, which includes features such as enhanced ETL Administration, along with many additional BI Server Administration and Configuration capabilities.  These are exciting times!


Our build team has been busy over the past couple of months converting our 2.0 line of open source projects, including our BI Platform and Metadata, over to Ivy and a common Ant build.

In converting to Ivy, we’ve learned a lot about our actual dependencies.  Before, a developer would simply check in a Jar file into one of our projects.  Months later, we wouldn’t know exactly which version or from where the Jar originated.  Ivy forces us to be more explicit with project dependencies, and allows us to develop reports on exactly which projects are using what jars.

Our developers mostly use Eclipse for development, so we’ve been using IvyDE to manage our Ivy dependencies.  IvyDE works well, but we ran into a limitation when we parameterized some of our internal dependency revisions in our Ivy files.  Luckily IvyDE is open source and was very easy to add functionality to.  We’ve since submitted our code back to IvyDE for others to use when parameterizing ivy files.

Row Level Security in Pentaho Metadata

Last Thursday, our Scrum Team kicked off a new Sprint around Pentaho Metadata’s Row Level Security.  In April, Jake Cornelius, one of our Product Managers here at Pentaho, started a Pentaho Metadata Row Level Security discussion in Pentaho’s forum calling for community feedback.  We received lots of great input, and we’re now entering the implementation stage of development.  If you are interested, keep a close eye on Pentaho Metadata’s SVN trunk, where we’ll be implementing this new feature.

We’re tackling this feature from two perspectives, and we have two Scrum stories describing what we hope to accomplish for a first version.  To make sure we have all the plumbing in place, we’ve defined a story focused on expert users, who’ll be able to describe a global security constraint that applies to an entire Metadata Model.  In parallel, we’ve also described a story that focuses on a simple user interface.  The second story will include a lot of up front UI design to make sure we deliver an easy to use interface that solves a large percentage of row level security needs our customers and community have.

Pentaho iPhone Coverage, Post on YouTube

Today I saw that Pentaho’s Business Intelligence iPhone Softare made it into Network World’s 20 cool third-party iPhone apps list. Check out slide 11! Very cool. Also, I posted the video over to youtube for all to share:

log4j, Mondrian MDX and SQL Logging

I’ve always struggled to get log4j working perfectly within the Pentaho BI Platform.  Before the release of JBoss 4.2.1, there was a log4j.xml conflict between JBoss’s config and regular web applications.  Now that Pentaho 1.7 PCI by default runs in JBoss 4.2.1, we finally have a hastle free way to manage logging.

We can now manage all of Pentaho’s logging within the pentaho war’s WEB-INF/classes/log4j.xml file.  Another reason why this is important to note is that Mondrian’s SQL and MDX logging, something we’re always taking a look at, moved from a Mondrian debug property to a log4j category in Mondrian 3.0.  To get MDX and SQL logging out of Mondrian:

Add two new categories to the log4j.xml file:

<category name="mondrian.sql">
<priority value="DEBUG"/>

<category name="mondrian.mdx">
<priority value="DEBUG"/>

Also, you’ll want to remove the explicit Threshold element from within the appenders.  When a Threshold is defined in an Appender, it overrides the individual category thresholds.  log4j is a powerful logging tool, but sometimes it can be difficult to configure.

Pentaho’s BI Extension for the iPhone

A little over a month ago, I had a simple idea to render Pentaho’s BI Suite within Apple’s iPhone Safari Browser.  After a couple of hours of work with the open source iUI javascript / css framework, I had a basic demo.  After showing it off to some of the folks here at Pentaho, we agreed that it would be fun to put out as a tech tip and make available to the community.

The tech tip includes specific iPhone views for the login and navigation, along with modifications to the parameter pages so they render nicely within iPhone’s Safari Browser.  A servlet filter is provided that detects the iPhone user agent, and renders the iPhone views instead of the standard browser view.  Also, Marc Batchelor made great suggestions to make my demo more production worthy.

I really enjoyed working with Pentaho’s marketing department on making this an official Pentaho announcement.  Lance, Jared C. and Wes did a fantastic job on the press release, video, and landing page.

BarCamp Pentaho

This Friday, the Orlando Pentaho Developers spent the day listening to adhoc technical talks on a variety of Java and Business Intelligence related subjects. We modeled the day after BarCamp, where we wrote the talks up on the white board in the morning, and adjusted the list through-out the day.  We started off the day with Mike D’Amour giving a great intro into Google Web Toolkit, followed by talks including the Pentaho XUL Framework, Spring for Dependency Injection, Pentaho’s Action Sequence Document Object Model, and much more. In the afternoon, James Dixon, the CTO of Pentaho, presented on a new approach for developing BI solutions. Marc Batchelor, Pentaho’s Chief Engineer, presented an architectural overview of Pentaho’s BI Platform. And last but not least, Doug Moran, VP of Community at Pentaho, updated the dev team on Pentaho’s Community Gathering in Mainz, Germany that took place a couple of weeks ago.

At the end of the day, a few of the developers got out rock band and showed off their mad skillz.  Just another fun day at Pentaho!

A Scrum Conversation in Sarasota

We had a good turnout at the Sarasota Java User Group this week, where I presented on the Scrum Agile Methodology.  Thanks go to Joe Healy from Microsoft for hosting, with free dinner and some great free books by Ken Schwaber.  I also want to thank David Moskowitz for organizing the event.  The group had a very informal discussion on Scrum.  Due to the great questions and discussion, I wasn’t able to make it all the way through Mountain Goat Software’s Reusable Scrum Presentation. There were a few folks who had plenty of Agile experience sharing their thoughts on the process.  Most of the tough questions involved how to work with product owners (aka customers) who might not be bought in to the process along with good questions around long term planning with the Scrum methodology.  Agile and Scrum are so different than traditional waterfall software development, that it’s difficult to map concepts from one methodology to the other.

Scrumming in Sarasota

I’ll be presenting on Scrum, Open Scrum, and Pentaho’s use of Scrum at this week’s Sarasota JUG (Java User Group) meeting. I lived in Sarasota for a couple of years before relocating to Orlando, and I’m always looking for reasons to visit! Check out Sarasota’s Java User Group website for more information.

« Previous PageNext Page »