Google’s Caffeinated Cloud

Google just announced Java support for their App Engine, the first 10,000 developers can register now for the alpha release.  App Engine has been live for a year, and already has 150,000+ registered developers working in Python.  I wonder how many more developers will flock over to write caffeinated cloud code.  Once I get in, I hope to see what will be necessary to get the suite of Pentaho software running.  Stay tuned…

Pentaho Reporting for Java Developers

Over the past few months, I’ve been working in my spare time on Pentaho Reporting for Java Developers.  Working on the book has been a lot of fun, I’ve learned a  great deal about Pentaho Reporting in the process, and I’ve enjoyed working with Thomas and the Report Designer sprint team here in Orlando.  Right now I’m wrapping up the final chapter, and will be doing a lot of work updating earlier chapters based on the great work that the team has done with the Report Designer.

Over on Packt’s website, there is a much more detailed description of the book.  Check it out, and order your copy today!

OpenFlashChartComponent

I’ve just checked in Nick Goodman’s OpenFlashChartComponent into the bi-platform code base.  I’ve worked with Nick and Tom over the past week, adding support for many of the standard pentaho chart types.  Here is a list of supported charts:

LineChart
BarChart - Horiztonal, Sketch, 3D, Glass, Stacked
BarLineChart
PieChart
DotChart
BubbleChart
AreaChart

You can grab the source, or wait until our next release is out, which should be real soon.  Here’s our standard bar chart example rendered in flash:

We used OFC4J, and DZ’s patched Open Flash Chart 2. We’re now working on adding documentation and examples. Enjoy!

SQLstream 2.0 is out…

As Julian and Nick have already pointed out, SQLstream 2.0 was released earlier this week.  Kudos go out to the team at SQLstream.  It’s exciting to see the progress companies can make using open source as a foundation for their development!  SQLstream’s approach to extending something we all know very well, SQL, should make real time business intelligence a real possibility.

Community Dashboard Framework Components

I had fun over the holidays working with Pedro Alves on the Community Dashboard Framework. I wrote some code in the Dashboards.js javascript file to allow new widgets to be plugged in to the framework. If you’d like to implement your own widget, all you need to do is extend the BaseComponent javascript class, and add a simple update() method which sets the html for the component as such:
var MyComponent = BaseComponent.extend({
update : function() {
$('#'+this.htmlObject).html("This is my component!");
}
});
See the CoreComponents.js file for many examples of existing components. Right now the code is available under the 3.0-RC1-Lisbon branch over at CDF’s google code project and works with the 2.0 BI Server. Thanks go to Pedro for making sure I didn’t break anything with this new functionality!

Aggregate Table Naming in Aggregation Designer

This week, Nick Goodman and I worked together on Aggregation Designer’s approach to naming aggregate tables and their columns.    The team’s initial approach to table naming was to use Mondrian’s AggName convention, where you must explicitly define aggregate tables in Mondrian’s schema.  Our decision was made to guarantee that the tables would be recognized.

After working with Agg Designer in the wild, Nick created PAD-22, a feature request asking for a change in naming aggregate tables to match Mondrian’s default recognition rules.

When developing Agg Designer originally, we used Spring, which makes this type of change very easy to implement and configure.  To implement this change, we first started off by implementing an AggregateNamingService thatnames the tables to match Mondrian’s default pattern, agg_.+_${fact_table_name}.  We then implemented an OutputFactory which generates the appropriate names for the Aggregate Table columns.  These classes are now checked in to the core and ui projects, named RuleBasedAggregateTableOutputFactory and RuleBasedAggregateNamingServiceImpl.  To configure Agg Designer to use these classes, simply modify the Spring applicationContext.xml and the plugin.xml files.

I’ve provided compiled versions of these classes and instructions in the feature request, until we release a new version of Pentaho Aggregation Designer.  Thanks Nick for the help, hopefully this will make it easier to use the Aggregation Designer to increase Mondrian performance!

Sarasota Java User Group Presentation

This week, I’ll be giving a talk on Business Intelligence using Pentaho at Sarasota’s Java User Group.  I’m excited to show off some of our new open source projects, including the new Pentaho User Console and the Aggregation Designer.  I’ll also be giving demos of all of Pentaho’s pillars and how they work together to form Pentaho’s BI Suite.  If you are in Sarasota Wednesday night, stop by!  For directions and more details, visit the following link:

http://www.sunjug.org/?q=node/34

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.

DOM4J4GWT
This is a light DOM4J Implementation, designed to run within GWT’s client environment
http://code.google.com/p/dom4j4gwt

Penaho Action Sequence DOM 4 GWT
This project modifies Pentaho Action Sequence DOM so that it may run within GWT’s client environment
http://code.google.com/p/pentaho-actionsequence-dom-4gwt

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
http://code.google.com/p/pentaho-actioneditor

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!

Ivyfication

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.

« Previous PageNext Page »