Pentaho 5.0 Reporting by Example: Beginner’s Guide

It’s been four years since I published Pentaho Reporting 3.5 for Java Developers.  A lot has changed in Pentaho Reporting since then, so it’s great to see a new book now available from Packt, Pentaho 5.0 Reporting by Example: Beginner’s Guide, co-authored by Mariano Mattio and Dario Bernabeu.  This book has a different purpose than the Java Developer book, it’s focus is a deeper dive into examples to quickly bring folks up to speed on the various capabilities of Pentaho Reporting.

For those who already are familiar with the basics of Pentaho Reporting, I would still recommend this book for a couple of reasons.  First, Chapter 12 covers both content linking and sparklines, very useful features for your every day reports.  Second, one of the newest features in Pentaho Reporting 5.0 is stylesheets.  In Chapter 13, this book does a great job at an initial introduction to get you started on this powerful capability.

Thanks Mariano and Dario for this great contribution!

Pentaho’s move to GitHub

Last week,  Nick Baker lead the effort to transition the Pentaho Platform and many of our open source commons and plugin projects over to GitHub.  Check out his forum post about the transition here:

http://forums.pentaho.com/showthread.php?135048-BA-Server-source-code-migration-to-GitHub

While SVN was a great tool to work with, GitHub offers a number of capabilities that we consider important to us as an open source engineering organization.

Over the next few months, we’ll be transitioning the remaining open source projects Pentaho hosts over to GitHub, next up is Pentaho Reporting!

So go ahead and fork, have fun!

Pentaho Marketplace is Here!

I’m proud to announce that included in our release of Pentaho BA Server 4.8 and Pentaho Data Integration 4.4 to SourceForge today, we’ve bundled as a plugin our first version of the Pentaho Marketplace!  With the Marketplace, it is now easy to download and install cool plugins developed by the community.

To get started with the BA Server Marketplace, log in as an administrator, and click the Marketplace toolbar icon or select Tools -> Marketplace.  In Spoon, click the Help -> Marketplace.  Find the plugin you want to install or upgrade, and click!

I would like to say thank you to all the hard work done by the many folks who participated in making this project reach 1.0!  The Pedros @ WebDetails have worked around the clock to deliver the BA Server Marketplace, their team has done a great job with the UI experience as well as a telemetry capability so the community can see what plugins are popular and how the marketplace is used (More on that in a future blog!).   Also, Wes Brown, Pentaho’s head of pixel management, provided a lot of great feedback and ideas for the UI, helping make the user experience fantastic!  On the PDI side, Matt Casters did a great job putting together a first version of the Marketplace within Spoon, followed by assistance from Sean Flatley and Matt Burgess, two of our core Kettle developers at Pentaho.  I hear Matt B. is also brewing up a number of new plugins, go check out more about them on his blog :-).

It’s great to see so many helping hands on a project like this, all done out of passion for the product, and the goal of opening up the product to even more capabilities and contributions!!

If you do find any issues with the Marketplace, please let us know.  We already have many plans for future versions, so keep an eye out … in the Marketplace … for Marketplace updates :-).

Finally, are you a plugin developer and would like to see your plugin appear in the Marketplace?  Go check out https://github.com/pentaho/marketplace-metadata for more details.  We want to get as many plugins listed as possible!

Announcing Pentaho Developer IRC Office Hours

I’m pleased to announce that Pentaho’s Engineering Team will be hosting IRC Office Hours each week.  IRC is a great place to go and chat with Pentaho’s developers, but sometimes we’re too busy traveling the world or hacking away at the next release to catch up with folks in the irc.freenode.net ##pentaho channel.  We’re hoping that hosting office hours will allow for more collaboration, so as a community we can continue to expand and build on the #1 open source business analytics and data integration platform.

Check out the wiki for full details:
http://wiki.pentaho.com/display/COM/IRC+Office+Hours

Pentaho Data Integration 4 Cookbook: Get your swiss army knife out

This weekend I had the pleasure of reading Maria Roldan and Adrian Pulvirenti’s Pentaho Data Integration 4 Cookbook, published by Packt Publishing.  I was one of the reviewers for Maria’s first Packt book, Pentaho 3.2 Data Integration: Beginner’s Guide, as well as a Packt author myself, so when I was asked if I’d be willing to write about the most recent addition to the Pentaho collection of books, I happily obliged.

I highly recommend this book to all those out there looking to learn more about PDI.  The book has many great recipes for specific situations, but also throughout the book you learn many important swiss-army-knife-type skills that will aid you in your daily use of Pentaho Data Integration.  The book includes everything from dealing with unstructured text files to working with fuzzy logic.  As a Java developer, I especially appreciate the many uses of the User Defined Java step for the more advanced scenarios.  The book also introduces the many uses of Pentaho Data Integration within Pentaho’s BI Suite, allowing power BI Developers to create a flow of information from a transformation to a report or dashboard.

Chapter 6, Understanding Data Flows, may be the most important chapter in this book.  Managing the merging and splitting of data within a transformation requires key insights that this book covers in detail.  Having this information will allow you to take your transformation building skills to the next level.

Thanks Maria and Adrian on the wonderful piece of work!  The copy I received will reside in the bullpen at Pentaho’s Headquarters here in Orlando, I’m sure many of the Engineers here will use and learn from it!  Now don’t waste any more time, get your own copy today!

Recent Pentaho Tech Tips

Hi Folks,

I wanted to share a couple of the technical articles I’ve written in the last month:

Mondrian Cache Priming and Cache Control in the BI Server - This article covers how to take control of your Mondrian cache via action sequences, including priming the cache with MDX Queries as well as using Mondrian’s CacheControl API to flush specific segments of the cache.

Customizing your Pentaho Metadata Query in Pentaho Reporting - This article describes how to customize Pentaho’s Metadata Query Language (MQL) in a significant way before execution, allowing reports to respond to user input through prompting in ways that weren’t possible before.

Enjoy!

Will

5 Tips for Styling with Pentaho Report Designer

I’m a big fan of Google Analytics, I use it for all my personal websites to see what type of traffic I get.  One of my colleagues who is also impressed with their reports wanted to know if you could make a Pentaho Report look as good as Google’s output.  I quickly threw together the following report, to show that you can design just about anything in Pentaho Report Designer!

Check out the PDF and HTML rendering of the report.  Feel free to use the PRPT as a template for your own reports.

Here are my top 5 recommendations for folks when designing reports like this:

  1. Don’t be tempted to use the lines and rectangles.  Instead, use padding and borders of bands and elements.
  2. Inline Subreports allow you to pretty much layout anything, use them!
  3. The message-field report element is very powerful, you can specify number and date formats as part of the message: $(field, date, MMM yyyy).
  4. Make sure to test rendering in the output formats that you care about.  HTML renders as a set of tables, so you can’t have overlapping objects in your report.
  5. Take advantage of the “Paste Formatting” option, this allows you to copy colors, font sizes, etc, and will save you a lot of time.

And of course don’t forget to get a copy of Pentaho Reporting 3.5 for Java Developers :-).  The book covers many topics, you can learn a lot about formula functions, chart options, shortcut keys, and much more.

Writing Components for Pentaho Dashboard Designer 3.8.0

Beginning in Pentaho BI Suite 3.8.0, it is now possible to extend Pentaho’s Enterprise Dashboard Designer by adding custom embedded widgets to the UI.  For a while now, it has been possible to include content from the repository as dashboard widgets.  If you are writing a Pentaho BI Server plugin, modify the settings.xml to include the following xml:

    <dashboard-widgets>
      <mytype>scripts/widget/MyWidget.js</mytype>
    </dashboard-widgets>

This js file should contain your CDF Component implementation, a static method on the component called newInstance() for initial construction of the dashboard widget, along with a call to the dashboard designer to register the component:


 PentahoDashboardController.registerComponentForFileType("mytype", MyComponent);

See Analyzer’s plugin.xml and AnalyzerDashboardWidget.js for an example of the implementation.

Starting with the 3.8.0 release, it is easy to add your own embedded content into Dashboard Designer as well.   The three available embedded widget types, Chart, Data Table, and URL, have been converted over to plugins, so it’s easy to see how this can be done.

First, in a similar manner to repository content, you need to implement a CDF Component.  In addition to the basic component implementation, you also need to provide the following javascript attributes and methods to your component:

Attributes

iconImgSrc - The location of the icon image to appear in the new widget drop down list and editor panel.

localizedName - The name of the widget that will appear in the new widget drop down list and editor panel.

Methods

createWidget()  - This method is called when a user selects the widget from the new widget drop down list as seen in the image above.  This method should present the user with a UI for creating a new widget, and then create the widget, wiring it up to the dashboard after creation.

editWidget() - This method is called when a user clicks the edit icon within the widget panel.  This method does practically the same thing as the createWidget(), but also has access to the currentWidget javascript object that contains a pointer to the widget being edited.

Once you’ve defined the component you also need to register the widget type with the dashboard.  Make this call at the end of your javascript file:

PentahoDashboardController.registerWidgetType(new MyEmbeddedComponent());

Finally, register this javascript file the same way as we did above within your settings.xml file.

With just a few lines of javascript, you can create your own component for Pentaho Dashboard Designer!

Translating Pentaho

As part of our fun week this year, I began work on a tool to make it easier to contribute translations of all Pentaho projects (There are over 100!) .  Since then, I’ve been working in my spare time to get to an initial release of the project.  I now have a first cut available, and I’m looking for feedback on the tool.  I haven’t yet invested much in the UI, but now that all the plumbing is working well, we can start discussing what capabilities would be the most beneficial to folks who might want to contribute a translation.  You can download the latest here on our continuious integration server:

http://ci.pentaho.com/job/pentaho-i18n-tool/

Please check it out and let me know what you think!

Pentaho Metadata Dialect SPI

Pentaho Metadata allows business users to build reports and dashboards without the need to learn SQL.  Pentaho’s Metadata system takes business user queries and translates them into SQL based on a model described by an administrator.  Today, Pentaho Metadata supports the most popular backend SQL database dialects, generating the correct SQL for Oracle, MySQL, Microsoft SQL Server, and more.

Before, if you wanted to contribute a new SQL dialect for another database for use with Pentaho Metadata, you’d have to submit a patch to the project.  Now, all you need to do is follow the simple instructions here, which utilize Java’s Service Loader API, and plug in your own dialect.  This is a great enhancement!

Next Page »