Category Archives: Release

Xpand IT marries Confluence with Pentaho Reporting

A few days ago, Xpand IT published the sources of a very cool Confluence plugin at the Confluence Plugin Repository

Confluence is a Enterprise Wiki from the creators of the excellent JIRA bugtracker. The plugin allows to embed HTML content generated by the Pentaho Reporting Engine into any Wiki page. Now this makes it ridiculous easy to create data-driven web-sites.

Once you installed the plugin, using it is very simple. Just insert the macro


into the Wiki page and you will see the report’s content.

Thank you, Xpand IT!

Pentaho Reporting 3.7-RC1: Now with Drill-Linking

Finally, after a long long time, we are once more close to release a new version of the Pentaho Reporting tools.

There are a couple of new things in this release, so lets start with the obvious one:


The Drill-Linking extensions give you a user-friendly way to define URLs that point to other reports or XActions and to parametrize those URLs properly. Earlier versions were not really fun to use in that respect. You had to memorize the long and ugly and complex URL of the XAction or Report and then you had to conjure up some formula magic to fill in your parameters. And for that, you need to remember all the quazillion various parameters that target report declared. And everything was fine as long as you did not attempt to pass multi-selection parameters, which open up a totally new hell of URL computation. And remember to URL-encode your parameters or you are in trouble as well. Arghh!

These days, this task is a lot easier. Open up the hyperlink editor by selecting your element and hitting “Format->Hyperlink..”. Select what kind of link you want to produce. Enter the target file name or target base URL. Add the parameters by hitting the green plus. Fill in all the parameter names and values. Done.

For XActions and PRPTs, hit the large blue “network” icon to refresh the parameter view and you will see all your declared parameters coming in. (Note: For GA, this will change to auto-populate, as manual work is soooo 1980!)

RC1-Caveat: Make sure you enter a correct formula in the parameter values. Just entering “hello” will result in a error, static strings must be quoted. For GA (and in the CI-builds) this is fixed already and the ordinary Excel semantic of editing cells and formulas applies: = starts a formula, ‘ starts a text and everything else will be automatically checked for its type.

Charts and images can finally have a image map to provide tooltips and links on hot areas of the generated image.

Tame your parameter and your BI-Server’s report viewer

The BI-Server viewer has become a lot smarter these days and you can now exercise tight control over the auto-submit checkbox (is it there, and what is its value), the available export types and much more.

In the next blog posting I will demonstrate how to limit the output types that are shown to the user to just a few ones.

For date parameter you are now able to specify the time-zone it should use. This removes a lot of ambiguity on what date or time you are actually specifying when selecting a date.

The post-processing and available values for your parameter are now also cleanly defined and thus make sure that every parameter uses the selected values of the preceding parameters for its work.

All power to the Charts

The new post-processing expression on the charts finally unlocks the full power of JFreeChart for the reporting engine. With that expression you gain raw access to the JFreeChart object. Sure, this is raw access, and thus not for everyone. Granny wont be willing to go down there, but all the consultants who need to “get a job done(tm)” will appreciate its power.

A chart without a series name will finally auto-generate one. This simple change removes one of the major stumbling blocks for new users and makes sure you get to your results faster.

Index and Table-Of-Contents

The index and table-of-contents feature that I prototyped some time ago got a good and hard trashing and hardening by Gunter Rombauts and thus finally carries the seal of “approved for daily use”. (Note: Some of the fixes are only in the CI version.)

New formula functions

  • MULTIVALUEQUERY: Queries a array of values from a datasource
  • SINGLEVALUEQUERY: Queries a single of value from a datasource
  • MPARAMETERTEXT: produces a HTTP/HTML multi-selection parameter prompt
  • PARAMETERTEXT: produces a HTTP/HTML single-selection parameter prompt
  • QUOTETEXT: encodes any text as XML, JavaScript, HTML or formula string
  • DATETIMEVALUE: casts/converts a value into a timestamp
  • ARRAYLEFT, ARRAYRIGHT, ARRAYCONCATENATE, ARRAYMERGE: Simplifies the use of arrays and multiselection parameters
  • WEEKDAY, YESTERDAY: convenience functions to make working with dates easier
  • DRILLDOWN: Create a drill-down URL. Yes, thats the same stuff you could define in the UI.

Bugs, squashed, fried and on a delicious dish

I personally fried a large amount of bugs in this release. Those buggers got on my nerves and that is not healthy at all. Several layouter bugs have hit the grave so that subreports in conjunction with the keep-together feature behave sane now.

So what are you waiting for?

Go and grab your fresh copy of Pentaho Reporting from Sourceforge or a smokin’ fresh build from our Hudson-CI system.

Launching the Pentaho Reporting status portal and version 3.6.1 available

Earlier this day, Doug uploaded the latest bug-fix release of Pentaho Reporting named Pentaho Reporting 3.6.1.

This is a bug-fix release and therefore focuses on bug-fixes and stability improvements. As this release is included in the Pentaho BI-server 3.6.0 release, Kettle/Pentaho Data Integration and Mondrian/Pentaho Analysis have been updated to the latest releases, so be careful when patching older releases of the BI-server.

Pentaho Reporting 3.6.1 resolves many performance and memory consumption issues. All report processing activities should be considerable faster now. We added several performance monitoring and memory tuning settings to log the progress of the report generation and to better tune the reporting engine for large to huge reports within a limited amount of memory. I will cover these settings in a later posting.

Transforming this blog into a Pentaho Reporting Status Portal

I also changed the layout of this web-site slightly to now serve as central hub for Pentaho Reporting status updates. In new status box on the left hand side I now always show the latest releases available along with convenient links to both the Changelog and the SourceForge download pages.

ChangeLog for the Reporting Engine

        * [BUG] PRD-2709: Subreports that are hidden via "subreport-active"
          must not generate any content in the page and must not trigger
          the creation of a new page. Layouting must be deferred until at
          least some content is produced.

        * [BUG] PRD-2713: Specifying a invalid column in a database driven
          parameter must return  for that column to behave exactly
          like the reporting engine behaves elsewhere.

        * [BUG] PRD-2712: Parsing symbolic color names failed due to a
          case-sensitivity problem.

        * [BUG] PRD-2705: SubReportActive expression was evaluated in the
          context of the parent state instead of using the current state
          and thus the data-context of the subreport.

        * [BUG] PRD-2704: Table-based pageable output never ran through the
          page header when computing cell styles and thus never formated
          cells properly.

        * [BUG] PRD-2698: PreviewParameterDialog and ParameterReportController
          did not report all errors to the user. The PreviewParameterDialog
          only provided constructors for JFrames, and thus blocking any use
          from Dialogs or AWT frames.

        * [BUG] PRD-2697: Limit and Query-Timeout values defined on a report
          had no effect, as the values were removed during the derive() call.

        * [BUG] PRD-2695: Trying to save a report with null-values in a
          array on a expression property failed due to an invalid parser.
        * [BUG] PRD-2696: ElementStyleSheet was not serializable anymore.

        * [BUG] PRD-2433: NPE on import of excel files with irregular cell

        * [BUG] PRD-2054: ItemHideFunction and other page-event dependent
          functions behaved badly as the page-event processing was invalid
          when processing a report in a pageable report processor.

        * [BUG] PRD-2658: The property is dysfunctional since
          we moved to report-bundles. It must not be shown to the users of

        * [BUG] BISERVER-4180: OLAP4J changed the filter axis to no longer
          provide default members. This changes the layout of the column
          names generated by the OLAP4J denormalized-datafactory. As OLAP4J
          no longer provides the relevant information, we cannot maintain
          backward compatibility.

        * [BUG] PRD-2676: Curly brace parametrization was broken for OLAP4J
          datasources. OLAP4J datasources were not able to read the queries
          that were defined on them when the report was parsed.

        * [BUG] PRD-2680, PRD-2671: OutputFormat attribute on MasterReport
          is now a predefined list of known output formats based on the
          list of available report-process-task implementations.

        * The subreport's name is now shown in the design-view.

3.6.1-RC1: (2010-04-29)
        * [BUG] PRD-2609: We are using the metadata system to handle all the
          lookups of localized-strings now. Metadata has its own, strange
          way of defining fall-back locales.

        * [BUG] PRD-2617, PRD-2623: StyleSheet was buggy after performance fixes.

        * [BUG] PRD-2615: Compatiblity mapping was wrong for v0.7x

        * [BUG] PRD-2621: PageSetup dialog failed with missing translations.

        * [BUG] PRD-2584, PRD-2579: Performance and memory improvements

        * [BUG] PRD-2472: Printing with the JDK-1.4 code opened the
          progress dialog before the user could confirm the print settings
          dialog. This locked both modal dialogs.

          The report processors never fired report-finished or report
          started events and thus we never had a clear hook to inject
          our code.

        * [BUG] PRD-2607: Barcode element was not working, as the background
          color was computed as black, the same as the foreground color.

        * [BUG] PRD-2581: Group-Header and Footer labels were not
          initialized correctly and thus displayed something strange.
          Attribute-values can be overriden via the metadata even when styles
          are not overridden. The two flags are independent from each other.

        * [BUG] PRD-2611: Array parsing was wrong and thus broke the
          chart-expression parsing when a array contained a space in
          leading or trailing position.

        * [BUG] PRD-2598: The bundle writer should not write empty strings as
          parameter-attribute values. This confuses the parameter editor and
          the parameters.

        * PRD-2590: Mondrian datasource must provide a hook to inject
          a platform dependent rewriter of connection parameter. This
          is needed to let the platform inject their own roles.

        * PRD-2627: Made the check-auto-close query fired by the SQLDatasource
          configurable via the report-configuration.

        * Changed the ENGINEERINGNOTATION function to support fixed
          precision mode.

        * Upgraded Mondrian to 3.2; and added some compatiblity code to
          Mondrian and OLAP4J datasources, as Mondrian changed its
          UniqueIdentifier strings.

        * [BUG] PRD-2588: We need to treat the form tag as paragraph when
          parsing HTML rich-text.

        * [BUG] PRD-2516: Page-header and page-footer attributes for
          excel-export were broken

        * [BUG] PRD-2564: Near-zero-height elements caused DIV/0 exceptions.

        * [BUG] PRD-2491: A null-value in a list-parameter caused the parameter
          to be rendered incorrectly in the swing-preview.

        * [BUG] PRD-2490, 2557, 2572: PageSetupDialog did not handle landscape
          pageformats correctly.

        * [BUG] PRD-2444: Style-key href-window was not persisted correctly.

        * [BUG] extensions-sampledata referenced a invalid hypersonic database.

        * [BUG] Reading BLOBs was buggy due to a invalid index used.

        * [BUG] HorizontalLineElementFactory did not set the scale property
          for some of the static helper methods.

        * [BUG] PRD-2496: Date-CellEditor did not allow null-values as selected
          date and thus the default value for parameters could not be removed.

        * [BUG] PRD-2453: PRD needs to support relative paths in content

        * ReadCLOB can now throw exceptions and thus inform the caller that
          something went horribly wrong.

        * Upgraded Mondrian to 3.1.6, Kettle 4.0

        * Allow multi-selection parameter in Metadata datasources.

        * PRD-2562: Added support for HTML events "onmouseout" and "onmouseenter".

        * Renamed the page and total-page function so that they are known
          as running and total page now.

ChangeLog for the Pentaho Report Designer

       * [BUG] PRD-2698: Previewing a report with parameters failed
         without a sensible error message if the parameters encountered
         an error. The plain-text preview did not even query for
         parameters and failed instantly when mandatory parameters were

       * [BUG] PRD-2714: Using the select-all menu-item or the Menu+A
         shortcut also selected the page-band and thus did not allow to
         move elements around.

       * [BUG] PRD-2680: The list of supported output formats is now a
         list provided by the reporting engine. This reduces the chances
          of having invalid properties defined in this field.

       * [BUG] PRD-2433: Importing XLS files with irregular cell
         structures failed with a NullPointerException.

       * [BUG] PRD-2694: The shift-key as drag-selection enabler behaved
         badly as it was only recognized if the band editor had the focus.

       * [BUG] PRD-2699: The parameter editor dialog did not display the
         defined values for query, column-id or the display-value column
         if the database connection could not be established or if the
         referenced query was not found in one of the connections.

       * [BUG] PRD-2661: Th PreProcessor sample in the report-designer
         must use the correct SampleData connection.

       * [BUG] PRD-2684: In the parameter editor, the default-value should
         accept its input in the same format as given in the parameter
         dataformat text-field.

         If no format is given, the canonical ISO format is used.

       * PRD-2337: The generated MacOS bundle should have a user-friendly
         name. "Pentaho Report Designer" is so much better than

       * [BUG] PRD-2660, PRD-2659: Creating Kettle objects by invoking the
         public no-arg constructor generates invalid objects that cause
         errors in Kettle later. We have to manually match our object
         with one that is provided by Kettle's many public arrays, and
         then use the Kettle object (that has been initialized by some
         arcane magic or a spell of a dragon or so).

         This bug caused weird errors in the JDBC and Mondrian datasourc
         editor, which uses Kettle as metadata backend.

       * [BUG] PRD-2587: Need to disable HTML rendering, as this does not
         work in tables. Backported the GenericCellEditor to LibSwing.

3.6.1-RC1: (2010-04-29)
       * [BUG] PRD-2637: A ClassCastException occured after the last
         report has been closed. This was caused by a invalid model/
         tree path given while trying to restore the now invalid
         expand-nodes state.

       * [BUG] PRD-2633: The document-metadata editor must treat empty
         textfields as null values so that we remove empty titles from
         the report.

       * [BUG] PRD-2640: The Welcome pane did not have a keyboard handler
         on the tree and thus never allowed the user to open the reports
         by hitting Enter.

       * [BUG] PRD-2629: The various "Close" operations did not handle
         user-cancel requests properly and continued to close reports
         without permission.

       * [BUG] PRD-2628, PRD-2631: Save and Save As did not properly
         update the resource keys of "definition-source" and "content-base"
         and the assigned resource-manager to the possibly new prpt
         location. Therefore all bundle-internal resource references
         were lost and saving or running a modified report with embedded
         images or embedded resources failed.

       * [BUG] PRD-2633: The wizard needs to clear the document metadata
         when materializing a report from a template.

       * [BUG] PRD-2581: Group-header and -footer labels were not
         initialized correctly and thus grossly misbehaved.

       * [BUG] PRD-2599: The default-value editor in the parameter dialog
         was not updated correctly when selecting a new parameter class
         or when switching between single-selection and multi-selection
         parameter types.

       * [BUG] PRD-2614: Due to invalid internal events fired at the worst
         times we ended up creating resource keys that could not be embedded
         into the PRPT file when the report is saved. Thus saving the report

       * [BUG] Cleaned out the Help->System Information dialog so that all
         the entries there are sorted.

       * [BUG] Removed some unnecessary libraries that were brought in via

       * [BUG] PRD-2608: The metadata dialog did misbehave when it was resized
         and did not remember the last location of the XMI files it loaded.

       * [BUG] PRD-2604: A invalid attribute name was used when writing
         wizard-specification documents. Therefore loading the report later
         did not restore the name.

       * [BUG] PRD-2603: Removing extra template groups when generating a
         report from a wizard-template was not working properly.

       * [BUG] PRD-2597: The Display-Title for tabs and window-title-bar in
         the report-designer was computed in a wrong way.

       * [BUG] PRD-2496: A Date-CellEditor did not allow  values and
         thus it was impossible to unset a previously defined default value.

       * [BUG] When the first Group did not define a name, the group-selector
         in the table-editors became impossible to use.

       * [BUG] PRD-2453: When saving a report, we have to update the content
         base property of the report, so that relative paths can be resolved
         in the UI editor.

       * [BUG] PRD-2547: Copy&Paste of banded subreports converted the
         subreports into inline-subreports.

       * [BUG] PRD-2573: Translations in the publish dialog were missing and
         thus showing the error dialog on publish problems failed with a

       * [BUG PRD-2520: Moving elements in the editor behaved badly as soon
         as a border was set. The layouter did not take borders into account
         and thus all subsequent operations produced bad results.

       * [API] PreviewParameterDialog in the engine now only accepts
         MasterReport objects, as they are the only ones that can carry
         external parameters.

       * [BUG] PRD-2561: The field selector in the style table was always
         empty, as the report designer context was never set.

       * [BUG] PRD-2540, BISERVER-4129: When publishing a report with
         non-ascii characters in the name, the report name was corrupted on
         the server. The server automatically recodes all HTTP-requests to
         the local system encoding and thus may break the encoding given by
         the report designer.

       * [BUG] PRD-2541: A invalid attribute was written when trying to
         define the group-totals-label.

       * [BUG] The Welcome-Pane showed empty directories as report files
         and subsequently tried to load them when the user double clicked
         on them.

       * [BUG] PRD-2493: Page-Align dialog did nothing after being confirmed
         by the user. This dialog is shown after the page format changed.

       * Pentaho Reporting now uses Kettle 4.0 and Mondrian 3.2 to be
         in sync with the latest BI-Server release.

       * Added a "" file in the resources directory
         to make it more obvious for users where to put report-designer
         related configuration settings.

       * [BUG] AGILEBI-213, PRD-2460: The report-design-wizard should not show
         the environment variables or parameter fields in the field selector.

       * [BUG] PRD-2467: Templates used with RDW should have data connection
         defined as JNDI Sample Data

       * [BUG] PRD-2453: Resource linking always stored absolute paths
         in the generated resource-key. We need to prefer relative paths
         so that publishing or moving a report along with its images does
         not break the report.

       * [BUG] PRD-2446: Top-N-Analysis.prpt sample report was broken.

Pentaho Reporting 3.6 released

Since yesterday, Pentaho Reporting 3.6 is available from Sourceforge. This release brings a large set of new features and a even larger set of bug-fixes.

We spend most time making the native parameter system introduced in Release 3.5 more powerful and user-friendly and while working on it closing a few functionality gaps of that release.

The new functionality includes

  • hidden and computed parameter
  • runtime security properties for SQL, Mondrian and OLAP4J datasources
  • added a more powerful page-setup dialog, as the JDK’s page-setup dialog sucks
  • exposed environment variables as automatic fields
  • a new data field palette
  • open reports via the command line
  • created a magical “offline” mode
  • Mondrian and OLAP4J datasources now can use the old ${parameter} syntax again to parametrize queries
  • Advanced-Mondrian and Advanced-OLAP4J datasource to compute MDX queries at runtime
  • new formula functions: PARAMETERTEXT, PARSEDATE, MESSAGE and ISNA

We also fixed a large number of bugs, including nasty beasts like caching and memory issues as well as many smaller ones.

With Pentaho Reporting 3.6 I’m happy to be able to say that this release was to a very large extend driven by the needs and input of our community. Gunter Rombauts provided great input on his real-world needs for supporting custom Mondrian roles. Pedro Alves contributed on the caching issues and the Mondrian parametrization, eventually leading to the re-introduction of the ${parameter} format. Tom Barber along with the IRC channel folks gave great input to make the Report Designer more usable. And not to forget the almost unbelievable amount of testing and validating of the implementation that came from everyone.

Thank you all! OpenSource rocks!

Update: A recording of Kurtis Cruzada’s Community Webcast presenting many of the new features is now available.

3.6 ante portas ..

Pentaho Reporting 3.6 and the Pentaho Platform 3.5.2 are currently in their final stage of production. Its not long until the extended parameter capabilities, the Custom datasource support for MDX and myriads of bug-fixes become a blessed version to be used by everyone.

Kurtis Cruzada, product manager at Pentaho, will give a overview about what is new and noteworthy in the new release on Wednesday, 3rd of February. If you feel you cannot afford the outrageous costs for downloading Pentaho Reporting from Sourceforge (or if you’re living in one of the designated rouge-states and thus are blocked by US Law), you may at least want to join the Pentaho Community WebEx to see what you will be missing out.

Pentaho Reporting 3.6 Milestone 1

Finally we compiled all recent changes together to ship the milestone release of the next release of the Pentaho Reporting System. The release, as usual, contains the Pentaho Reporting Engine, the Pentaho Report Designer and the Pentaho Reporting Plugin for the BI-Server.

This release centres around making the XAction-less mode more viable. The heart of the changes is made up by the new formula-parameter system. Formula parameters provide the ability to

  • compute display-values for list-parameters
  • post-process user-input
  • derive new parameters out of the existing input
  • validate the user-input against business logic rules

Parameter can now be hidden, so that they do not show up in the user-interface. Hidden parameters in combination with the post-processing formula provide the derived parameter ability.

The other major shortcoming of the 3.5 release circled around the ability to define the various security settings for SQL and Mondrian/MDX datasources. All data-sources now can define values for the username/password and Mondrian/OLAP4J role properties. These settings can be either given as static values, hardcoded by the report-author, or can be read from a field or parameter at runtime, and thus can originate from a hidden/computed parameter.

To read values from the server-side session, the ENV-formula has been extended to look for session-attributes. A formula like =ENV("session:my-attribute") will look at the session of the server and search for a attribute named “my-attribute”. If the attribute is a string, it will be returned and can be used in the report.

ENV can now also be used to retrieve Mondrian-roles from the platform. Roles can be returned as String (ENV(“roles”)) or as array (ENV(“roles-array”)).

And last bug not least, to reduce the manual work when setting up data-sources, all well-known environment properties are now automatically imported into the data-row. Environment-Properties like “roles” therefore available as a report-field called “env::roles”. Which environment properties are considered “well-known” is controlled via the global report-configuration, so it should be easy to adapt this schema to your organization’s defaults.

To see these changes in your BI-Server installation, you will have to update the reporting-plugin and the various reporting-jar files. The download for the reporting-plugin contains detailed instructions on how this is done.

We will stop with the development work on this release somewhere within the next 2 to 3 weeks. The final GA release should come shortly afterwards.

Pentaho Reporting 3.6 will be part of the 3.5.2 bug-fix release of the BI-Server.

The purpose of this milestone release is to gather as much feedback on the real-world viability of both the formula-parameters and the security setting enhancements as possible. When test-driving this release, please give us feedback on how well we hit the requirements of your organization and how easy it is to get reports up and running in your environment. Don’t hesitate to tell us all about any repetitive steps you have to take to get reports up and running, so that we can take steps to eliminate or at least minimize those.

And now grab your copy from Sourceforge at

Teasing the masses: PRD-3.6

The next release of the reporting-package is in the forge and a milestone release seems to be unavoidable now. It’s amazing how many small bugs and issues add up once you make the decision to make the release. The minute after the commit-ban is in place to let the release build, bugs start to float in. Luckily, we are no evil mega vendor, so we can be agile about it and just make sure the next release hits the market faster than the bugs hit us. So far, we already squashed 68 cases, half of them bugs, and half of them new features that make bridge gaps we identified or just were easy to implement. (Yes, laziness is one of the deciding factors in what new feature should go in first.)

The surely most needed improvement was the page-setup dialog. For some foolish reason, we made the assumption that when the JDK comes with a Page-Setup dialog, then it would be usable. But JDK 1.5 is badly broken and the fixes in JDK 1.6 just made this functionality broken in other interesting ways. So far, Sun hasn’t managed to deal with missing attributes in responses from a CUPS server that breaks printing on Linux, and likewise wasn’t able to test whether a printer-driver is installed on Windows (which gives a NullPointerException if you haven’t one installed). Well, I cant fix the JDK, and printing with Java might be a adventure I dont want to get back to any time soon.

But Pentaho-Reporting has some nice features that have been hidden in the past. One of them is our ability to print on a large virtual page (also known as poster-printing). So if you ever wanted to see your company presentation on a 10 by 10 meter paper but only have ordinary desktop printer available, we can make that dream come true.

Pentaho Reporting 3.5-GA is available on SourceForge

After a long, long time of development, and a healthy amount of hacking and slashing, Pentaho Reporting 3.5 is now ready to download from Sourceforge.

Let the world hear our battle-cries:
“No more XML editing!”
The report-designer is now able to edit every aspect of our report-definition-format. There are no blank spots in our tool any more – if the reporting engine can do it, you can define it inside the Report-Designer.

“No more redundant XActions!”
Simple, standard reports with or without parameters should not need an extra document to maintain. With Citrus, the report-definitions contain both the data-definition and the parameter-description so that XActions can be omitted. Now you only need one tool and create one artefact to get your parametrized reports on the BI-Server.

“One Fileformat to rule them all”
Gone are the days where publish produced a incomprehensible XML file that cannot be edited safely from the report-designer. Beginning with the Citrus-Release, the report-designer uses a single fileformat for both client-side editing and server-side execution. This finally enables true round-trip processing, where you can download/open report-definitions directly from the server to edit them locally to re-publish them later in one go.

This release is centred around the all-new and all-shiny report-designer. The most visible features of this release are:

  • Side-By-Side sub-reports
  • Parameters in the report-designer
  • New datasources: Scripting, PDI and a static Table-datasource
  • Expanded formula-capabilities
  • Bar-Code and Sparkline elements

This release also features a new XAction-less mode of operation for simple parametrized reports. For the more complex cases, XActions are still available and the new report-definitions can be used via a new XAction-component to solve all the mind-boggling complicated use-cases.

Go grab your copy from SourceForge today!…/3.5.0-stable/

Classic-Engine 0.8.10 and beyond

This weekend, we finally released Version 0.8.10 of the Pentaho Reporting Classic Engine. This release is yet another infrastructure release (yes, sounds boring) that prepares the ground for going to 1.0.

Aside from the already covered Unified Fileformat and the full support for all kinds of meta-data, this release also ships with a totally revamped parametrization API, support for Barcodes (great job, Mimil!) and Sparkline support.

The next development cycle will be a shorter one. In the upcoming Version 0.8.11 we will finally add crosstabbing and Pivot-tables, speak with Mondrian datasources, provide a sensible interface for the rich-text capabilities, add free-form subreports and will add a first version of the multi-column support. If everything goes right, this version will enter its Release-Candidate state at the end of the month.

One major change already happened on this version: All engine and library classes contained in org.jfree-packages now have been moved into corresponding org.pentaho-packages. This move was necessary so that we do no longer pollute the org.jfree-namespace. At the same time, it allows us to move the Classic and the Flow-Engine into separate packages, so that they can co-exist in the same Java Virtual Machine.

As usual: Users of the XML fileformats are safe from any changes, the XML report definitions continue to work unchanged. API users will have to migrate their code to the new package space. But as the change involves only moved packages, a update of the import-statements should be the majority of the conversion work.

As the APIs of the libraries seem to be stable and sane now, along with the release of 0.8.11, all libraries will be labeled 1.0 versions.

Classic Engine Version 0.8.10 ante portas!

Today I uploaded the release candidate for the upcoming Classic Engine 0.8.10.

This release started as a pure infrastructure release, that was aimed to help us to prepare the battle field for the side-by-side subreports, multi-column reports and the long awaited cross-tabbing. But as usual when humans make plans, the Gods interfered.

And therefore (Btw: Thanks for messing up my plans again, Gods! Life could be so easy!) our list of new features is huge again.

  • The reporting engine now supports a new, unified fileformat based on the ODF standard.
  • The massive number of different Report-Elements for dealing with images, shapes and drawables got reduced to the total number of two elements, which now cover everything.
  • All report elements can carry attributes and attributes can be computed at runtime now. Due to the report attributes, we are now able to support interactivity, inject code into HTML pages, add Excel-page-header and footer and insert Excel-Formulas into the Cell.
  • The data-sources transfer Meta-Data from the data-layer into the report. This enables reports to utilize the Pentaho-MetaData system.
  • Report-Definitions now manage their own parameters, inclusive the ability to auto-generate parameter-pages and to validate the parameter values (and all of that without XActions or any other expensive magic).
  • All report elements and expressions/functions ship with machine-readable meta-data, so that tools like the Report-Designer know what features the engine supports and how to use them.

The full ChangeLog

If everything goes as planned, the final GA-Version of the Classic-Engine will follow one week later.