New and Notable Features within BIRT 2.3 Milestone 5

Introduction

BIRT 2.3 Milestone 5 has officially been released to the public. Below is a description of some of the key features that are now available in the M5 build. Keep in mind, as with all milestone releases, the product continues to evolve.

To review the projects slated for the 2.3 release, see the project plan, which is available here.

BIRT JavaScript Debugger

BIRT provides an extensive event model that allows handlers, written in Java or JavaScript, to be called during the generation and presentation of BIRT reports. These event handlers can be used to modify report content based external code or on data currently being processed by the report engine. BIRT event handlers, written in Java, can be debugged using the Eclipse Debug perspective. BIRT provides a Report debug launch configuration to setup the debug session. This debug method works well, for Java event handlers, but does not provide debugging capabilities for JavaScript event handlers. This method also launches a new copy of Eclipse to debug the selected report. With the 2.2 M5 release, BIRT now provides a native JavaScript debugger. This debugger works with the Report debug launch configuration, which has been improved to support many new features.


Report Debug Launch Configuration

This debug configuration allows the debugger to run within the current instance of Eclipse and supports Java and Java Script events. The currently loaded BIRT engine can be used to process the report, or a separate instance can be specified using the Engine home setting. In addition, the specific engine task can be specified to match the deployed environment. This task type setting supports the RunAndRender, Run, and Render tasks provided by the BIRT engine. The task type can also be set to perform a Run task followed by a Render task. By using the Classpath tab, specific Java event handler projects can be added to the classpath to support debugging Java event handlers.

The debug configuration can be launched through the Debug perspective, or by selecting the run menu item within the Report Design perspective.


Report Debug

When the debug configuration is launched the report will be processed as described in the launch configuration, and will break on any breakpoints encountered in either the JavaScript or Java event handlers.


Debugging a Report

The JavaScript debugger supports many of the same types of features provided by the Java debugger. These include adding expressions, monitoring variables, and stepping into and over code.

Improved JavaScript Editor

Writing event handlers in JavaScript can be accomplished in BIRT by left clicking on a report item and selecting the Script tab. This will display the JavaScript editor. A combo box at the top of the editor will list all available events for the selected report item. The developer can select the desired event and enter the JavaScript that is to be processed when the event occurs. BIRT 2.3 M5 offers many enhancements to the JavaScript editor including code folding, breakpoints, and script validation.


Improved JavaScript Editor

These features will hasten the development of JavaScript event handlers, allowing some code errors to be discovered prior to the execution of the report.


JavaScript Validation

In addition to automatic JavaScript validation within the JavaScript editor, BIRT now provides a validate button within the Expression Builder. Expressions are small JavaScript snippets that are used throughout the design process to create such items as highlight rules, data filters, default parameter values, and sorting rules. Clicking the validate button will verify the JavaScript syntax used within a BIRT expression.


Expression Validation

In addition to validation of scripts, the error descriptions within BIRT have been improved to better diagnose problems.


Better Error Support

Copy and Paste Formatting

BIRT supports linking and importing style sheets that can be applied to report elements. This allows a set of reports to share common formatting. Milestone 5 adds the ability to copy the formatting specified for a report element to another report element.


Copy and Paste Formatting

Crosstab Improvements

Displaying data in a cross tabulated format offers many advantages for data interpretation and analysis, and is often a requirement for information delivery applications. BIRT offers dynamic cross table and data cube elements to achieve this requirement. The data cube element appears in the Data Explorer view and allows the developer to build cubes based on existing data sets. These cubes are constructed using dimensions and measures. The dynamic cross table element can be placed on the report canvas and bound to a cube. The dynamic cross table permits specification of dimensions for the columns and rows while measures are defined at the intersection point. Milestone 5 provides many enhanced features for the cross table element. For example, report elements can now be placed in the cross table header.


Crosstab with Header

Filters, which cull the data displayed in the cross table, can now be applied to measures. In prior releases of BIRT filters could only be applied to the dimensions.


Crosstab Measure Filtering

In this example, the amount measure is filtered to only show values over 50,000, which results in the following cross table output.


Crosstab Measure Filtering Output

Cross tables can now be set to display empty rows and columns. In addition, the text to display in an empty cell can also be configured.


Crosstab Empty Rows/Columns configuration

Measures represent the intersection point for the column and row values and are by default displayed as a text value. New for BIRT 2.3 M5 is the ability to display these values graphically.


Crosstab Chart View

When showing the data graphically, the chart used to represent the measure can be configured using the BIRT chart wizard. For example, the following shows the amount measure presented as a tube chart.


Crosstab Chart View Output

Multi-View Items

BIRT currently binds data to report items such as charts, tables, and cross tables. Data can be retrieved from BIRT datasets or another report item. This feature has been further refined with this milestone to allow report items to have multiple views, wherein all views share the same data, filtering, and grouping. The view of the data determines how it is to be displayed and is essentially just another report item sharing the same graphical space and bound data. Currently only tables and cross tables support this feature and the secondary view must be a chart.

The chart view can be created by right clicking on the table or cross table report element and selecting the “Create Chart View” menu item.


Table Create Chart View

This will launch the Chart Wizard. After the chart is created, the view displayed of the data can be selected using the view tab at the bottom of the report element.


Table Create Chart View Output

BIRT Chart Improvements

The Charting package continues to be a highlight for BIRT and with this milestone many improvements have been made. Some of the improvements are explained in the sections above, which describe multi-view report item support for tables and cross tables. In addition, grouping and sorting for charts has been improved. In previous releases of BIRT, categories and optional Y series grouping were available, but sorting these groups could not be done with a separate data value. With this release of BIRT, a sort on field has been added to both the category and optional Y series grouping dialogs. Many new grouping unit types are also available, including quarters for date time fields. The interval for numeric data types can now be set to a decimal value.


Chart Wizard Data Grouping and Sorting

Additional chart examples have also been added the Chart Examples view.

Project Specific Settings

BIRT uses properties defined in the preferences pages to configure how reports are generated and displayed. For example, a resource folder setting is used to locate report libraries. In previous versions of BIRT these settings where treated as global settings for the entire workspace. Many of these settings can now be configured specifically for a given project. This will allow multiple projects in the same workspace to configure separate specific settings. These settings include chart data preview rows, crosstab settings, element names, resource and template folder locations. Presented below is an example of setting the resource location for a specific BIRT report project.


Project Specific Settings

Connection Profile Wizard

When creating a data source in BIRT, the developer has the option to use a connection profile to retrieve data source properties. This connection profile can be created with the Data Tools Platform project’s (DTP) Data Source Explorer view and contains the needed information, such as username and password, to connect to the data source. In order to use this feature, in earlier versions of BIRT, the connection profile needed to be created prior to designing the report. In this release of BIRT, a new wizard is available that allows these connection profiles to be created within BIRT. The connection profile can be created from within the BIRT data source wizard.


Connection Profile Wizard

Miscellaneous

Milestone 5 contains many other features, including support for parameter retrieval while using a Java scripted data set, support for the includeScripts property in libraries, data engine changes to support cached result sets, and support for computed measures. In addition many API changes have been made in the Report Engine, Design Engine, and the Chart Engine to support the new features described above.