BIRT 2.3 Milestone 6 has officially been released to the public. Below is a description of some of the key features that are now available in the M6 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 2.3M6 delivers a prototype feature that adopts the DTP SQL Query Builder tool (SQB) and use of the DTP Database connectivity framework. The integrated SQB provides both a textual editor and a graphical builder for users to build a SQL query. User edits made in either the textual or graphical pane are automatically reflected in the other. It is enabled by a built-in SQL parser, with knowledge of the database catalog found in a connected JDBC data source. See Bugzilla entry 204344 for the known limitations in the M6 version. This new ODA data source is an early adoption of the SQB feature in DTP. In order to get early feedback on its usability and functionalities, this feature is introduced as a prototype, and does not claim any backward compatibility support.
SQL Query Builder Prototype
To use this feature when creating a data source, select the “create from a connection profile in the profile store” radial in the New Data Source wizard. Using the connection profile wizards create a new profile.
New Connection Profile
Once the data source is created, create a new data set and the Query Builder Prototype should be available in the Data Set Type drop-down control.
New Data Set Wizard
Cross Tab Script
Cross Tab Script Output Example
In addition to the new events for the cross tab element, chart scripting has been improved to support beforeDrawMarker and afterDrawMarker events. Using these events the individual markers for the chart and legend can be altered. For example, the following screenshot illustrates script that hides legend entry graphics and changes the size, type, and color of the chart markers based on the chart data.
Finally, Group elements have been improved to support onCreate and onRender events.
Charting has been improved to support many new features. With this release, charts can now consume data from report cubes. This is in addition to the existing support for BIRT data sets and report items.
Chart Editor Wizard
Charts created from cubes can also be filtered based on the values selected for value and category series as well as the optional Y series grouping.
Chart Filter Example
Cross tabs cells can also contain charts. In this milestone, individual charts can now be added for each measure and can be generated against the vertical or horizontal dimension. Charts can also be used for cells containing total elements.
With milestone 6 it is now possible to set the start angle of the first slice in a pie chart. This can be done by using the Pie Rotation slider in the Format Chart tab of the Chart Editor wizard.
Pie Chart Rotation
Other chart improvements include ellipsis support for long axis labels.
BIRT currently uses an application context object to store engine configuration information, such as image locations, URL configurations when generating hyperlinks, and setting image formats for chart generation. This application context object is available throughout the generation and rendering phases of the reporting pipeline. This object can be manipulated in the Report Engine API and with the use of session variables, before executing a report. This can be beneficial for storing your custom objects in the application context, which can then be retrieved using BIRT expressions or scripting. Testing reports that use this feature within the designer can be somewhat difficult, as your custom objects are usually not available at design time. To address this issue, BIRT now provides a preview extension point. This extension point allows the developer to create a plug-in that can modify the application context within the designer, before a report is executed.
This extension point provides two methods. The getName method is used to name your implementation and the getAppContext method is used to retrieve the application context object from your plug-in. In the following example we implement a preview extension point to add a test string to the application context.
Preview Extension Point
Once the plug-in is created and deployed to your designer, you can enable it in the preferences.
Preview Extension Point Preference
The test string can now be referenced in BIRT expressions and scripting within the designer by entering testStr.
Many additional features are included in this milestone. BIRT currently supports extracting of data results using a data extraction task. In the example viewer this task is used to export data to various output formats such as CSV. An extension point is now available that will allow developers to create a plug-in that controls how the extracted data is formatted and stored. Cross tab elements now support derived measures. These can be created by using the Derived Measure dialog, which is launched with the menu context item “Add Derived Measure”. The BIRT Expression builder is used to construct these derived measures and all cross tab bound items are available for use within the expression. This milestone also supports generating a report document directly from the report, while in the designer. To access this feature, select the Generate Document item located within the Run menu.