New and Notable Features within BIRT 2.6

Introduction

In conjunction with the Helios release, the BIRT team is pleased to announce the availability of BIRT 2.6. This release encompasses over five hundred bugzilla entries, refines many of the existing features within BIRT, and adds new capabilities. This document describes the significant new features that are available within the 2.6 release.

Many of the new features where also back ported to BIRT 2.5.2. These features are noted with an asterisk in the feature header.

To review the projects included in the 2.6 release, see the project plan, which is available here.

Charting Improvements

BIRT provides a very extensible Chart Engine with support for thirteen main chart types and many subtypes. These charts can be displayed in many image formats and SVG. The engine also supports interactivity allowing such things as drill through to details, multiple hyper linking and browser side scripting. With the release of BIRT 2.6 the charting package has been further refined and enhanced.

Some of the more significant chart changes are listed below. Other chart improvements not documented below include proper chart rendering on AIX, horizontal scroll bar support within the chart builder, better jpg quality and proper data inheritance when nesting charts in existing containers.

Charting Improvements: Polar/Radar Chart

Extensibility is a key advantage when using any Eclipse based product, and the BIRT Chart Engine contains many extension points that allow the package to be enhanced and customized. These include adding new chart types, output formats, and data processors. The framework has been extended in this release of BIRT to better support using these extension points. Building on some of the extension points is a new Radar/Polar style chart type.


Radar/Polar Chart Type

This chart type supports standard radar style, bulls-eye, and spider charts. Series points can be plotted as disconnected lines, filled and unfilled polygons, or as single points when using optional grouping.


Radar/Polar Examples

To better support the community the source for this chart type is also available in the org.eclipse.birt.chart.examples plugin as an illustrative example on how to add your own chart types to BIRT.

Charting Improvements: Palette Hashing

The Chart Palette has also been improved. Currently the palette supports adding custom colors, gradients, images, and positive/negative combination entries. With this release, pattern support has been added to the palette.


Chart Palette

Using the new pattern editor you can select foreground and background colors. You can also choose a predefined pattern or create your own.


Palette Pattern Editor

Pattern Examples

Charting Improvements: Pie Chart Rotation

Currently a report designer can set the start angle of a pie chart, which will dictate where the first slice of the chart will be rendered. These charts have been further enhanced to allow the direction in which the slices are rendered to be set to clockwise or counter clockwise.


Pie Chart Rotation Direction

Charting Improvements: Chart Background Images

Chart Background images can now be set to not repeat using standard BIRT styles.


Chart Background Images

Charting Improvements: Sort Locale and Strength

When configuring chart data in the chart builder, the designer can specify sort order and sort column on the category and optional grouping data points. This allows a chart to be grouped by one field and sorted by another. While this feature works well, in previous releases of BIRT it was not possible to sort based on a different locale or sort strength. With this release both options have been added to chart sorting.


Sort Locale and Strength

*Charting Improvements: Outside Axis Range

When manually setting a scale for a bar/tube/pyramid/cone chart users can now select the Show values outside Axis range and a visual indicator will be rendered when series values fall outside of the axis range.


Outside Range Indication

*Charting Improvements: Better Cube Filter Support

When using a data cube as a data source for a chart, filters can be applied to all dimensions and measures defined in the cube. In prior versions of BIRT filtering was only available to dimensions and measures used in the chart.


Chart Cube Filtering

*Charting Improvements: Native PDF Drawing from SVG

If using the report engine API, rendering of PDF files now supports native PDF drawing commands when emitting a report that contains an SVG chart. This will result in a larger PDF, but charts will be presented in much more detail. To enable this feature simply add SVG to the supported image format string using the PDFRenderOption.

		PDFRenderOption options = new PDFRenderOption();
		options.setOutputFileName("output/resample/topn.pdf");
		options.setSupportedImageFormats("PNG;GIF;JPG;BMP;SWF;SVG");
		options.setOutputFormat("pdf");

Overridden Library Properties

BIRT provides library support for commonly used report items that need to be shared across many reports. These items can include such things as logos, data sources, charts, or standard labels. When incorporating report items provided by a library, the report designer can further customize the specific component for a particular design. In previous releases of BIRT it was not obvious which items had been modified. In the 2.6 release of BIRT, the outline view has been enhanced to give a visual indication of report items that are linked to a library which have been further customized by the report designer. In addition, in the general properties of the item, the user is given an indication as well as a revert button to remove customized properties on the report item.


Overridden Library Components

*Viewtime-value-of

When using a text report item, a new tag is available to allow report developers to enter expressions that are evaluated at render time. This tag (entered like <viewtime-value-of>expression</viewtime-value-of> is similar to the existing value-of tag. The value-of tag is evaluated at generation time of the report. The viewtime-value-of tag is evaluated at render time. Suppose the expression for a text report item is entered as:

<VALUE-OF>new Date();</VALUE-OF>

The text element will be populated with the current date when the report is executed. If using the viewer or a run task in the Report Engine API, a report document will be created. If this report document is rendered at a later date the following expression will display the render date.

<VIEWTIME-VALUE-OF>new Date();</VIEWTIME-VALUE-OF>

This feature can also be used to display pageNumber and totalPage within the report body as opposed to or in conjunction with the auto text element on the master page.

*SQL Query Builder

The SQL Query Builder is now directly available without creating a connection profile. When adding a new data source, the query builder is listed as one of the data sources available.


SQB Data Source

After selecting the Query Builder data source you are prompted with a list of available databases. Once you select the type of database you can then specify the specific driver and connection properties that will be used.


SQB Data Source Driver

One of the advantages to using this driver is that the jar location of the driver is a data source property and can be changed using Property Binding or an Event Handler Script.

<property name="jarList">C:\birt\mysql\mysql-connector-java-5.0.4-bin.jar</property>

After the data source is created, you create a dataset just like you would with any other BIRT data source. The editor allows graphic query creation as shown in the following image.


SQB Data Set

*Designer Classpath Configuration

In prior releases of BIRT, the classloader while in the designer would search all projects within the workspace to locate a class that was used within the design. This would happen for classes invoked used in expressions or JavaScript event handlers. Event handlers written in Java where located in this fashion as well. BIRT now allows you to configure the classpath for the workspace or for the individual project. To set this preference select the window->preferences->Report Design->Classpath entry.


Designer Classpath

*Sorting Enhancement

BIRT provides sorting on many report items, such as tables, group sections, and crosstabs. BIRT now features the ability to set the collation strength and locale for the sorter. This same improvement is available for Charting and is described above.


Sort Strength and Locale

*Crosstab Cheat Sheet and Template

A new Report Template and Cheat Sheet are available for creating a cross tab style report.


Crosstab Template and Cheat Sheet

Multiple Resource Files

BIRT currently supports localization of many items through the use of a resource file. These settings are available in the properties editor's localization tab for most report items. The chart editor provides an externalized text editor for many of the labels used by the chart engine. Messages from the resource file can also be selected using script.


BIRT Localization

In this release of BIRT, localization support has been enhanced to support multiple resource files. This will allow a designer to share resource elements across multiple reports without having to create a resource file specific for each report. To add additional resource files, select the report and choose the Resources tab under the properties editor.


Multiple Resource Files

ODA Context Sensitive Help

BIRT uses the Data Tools Platform (DTP) project's Open Data Access (ODA) functionality to provide access to data. This provides BIRT with many out of the box data sources and supplies the capability for developers to implement their own data sources that can be packaged and shared. BIRT 2.6 enhances the use of the ODA framework to allow developers to supply their own specific context sensitive help for their data source properties in the BIRT Data Source and Data Set Editors.

See Bug 302357 for more details and a reference implementation.

Miscellaneous

The BIRT team has spent a great deal of time improving and refining existing features such as data handling and performance of large datasets, PDF image inclusion performance, accessibility improvements to the dataset editor, and proper BIDI support for BIRT emitters