The BIRT team has been hard at work developing BIRT 2.0, which is slated for release late this year and has reached a major milestone. Milestone 2 has officially been released to the public. Below is a description of some of the key features that are now available in the M2 build. Keep in mind, as with all milestone releases, the product continues to evolve. The complete list of features for the final 2.0 release is available at http://www.eclipse.org/birt/phoenix/project/project_plan_R2_0_0.html.
Most applications, which require reporting will have a need for culling or filtering the data that is used within the report. This allows tailoring the report to a specific user without the need to highly customize the report design. This is often done with report parameters that are used within the report logic and/or the SQL query. The issue, then, becomes how to present and collect the parameter information from the consumer of the report. BIRT 2.0 addresses this issue by adding sophisticated dynamic and cascading parameter support. With the new Dynamic Parameter feature, the report designer can present the consumer a list of options for a parameter that is interactive and based on live content.
In the above example, a Dynamic Parameter is created that presents the report user with a list of Countries to choose from. This is done, by allowing the report designer the ability to create a BIRT data set, which can then be used to dynamically populate a parameter list box.
In addition to Dynamic Parameters, it is often desirable to present the user a set of interlinked parameter choices. For example, a user wishes to run a report that displays all of his/her employees that work in the Pasadena office. You would not want to display a list of all possible employee cities. Ideally a Country list would be displayed, and then possibly a State/Province, followed finally by a City list. BIRT 2.0 accomplishes this by delivering a Cascading Parameter Feature.
The Cascaded parameter list provides nested selection. In the above example, the Customer’s Country is selected and this choice restricts the Customer’s City choices. As with Dynamic Parameters, the choices are based on a BIRT Data Set. There are some known limitations with Dynamic and Cascading parameters in the M2 release. These will be corrected in future nightly and stable builds.
While Style Sheets offer a wide range of formatting and design features, with earlier versions of BIRT, styles had to be defined individually within the report design. To overcome this limitation, BIRT 2.0 delivers the capability to import Style Sheets into the report design, from an external source.
Using this feature, it is now easier to present a consistent look and feel across multiple report designs without having to create separate style instances for each. In addition, the feature makes it possible to easily coordinate report look and with web site look and feel, which can be particularly important when BIRT reports are included in extranets and web portals. This feature will continue to be refined and will be encapsulated within the Library functionality that is still in development for the BIRT 2.0 release.
Expanding on the capabilities of the Report Designer, a new XML source editor tab is now available to the report designer. The Source tab presents the entire report design in color-coded XML format, allowing direct modifications the XML design that are persisted immediately.
Often the BIRT engine is embedded in or is part of an existing Java EE application. The ODA layer, which is responsible for data access, occasionally needs access to objects in the Context of the encapsulating application. This might include things like security credentials, connection handles, or parameter objects. To accommodate this requirement, BIRT 2.0 has added a Context Object within the ODA layer, which can be passed in from the external application. This object can take many forms and can be used for all of the items mentioned above.
With the release of M2, BIRT now supports calling stored procedures. Within the Data Set Editor, the stored procedures are now displayed and can be used to build complex Data Sets.
In the above example, “OrdersByProducts” is being called to return a quantity of products sold, based on Product Name, which is passed as a parameter to the stored procedure.
The Data Set data types have been expanded to include Character Large Object (CLOB) and Binary Large Object (BLOB) items. In addition to adding support for these types within the ODA framework, these items can now be bound to certain controls within the designer. CLOB columns can be bound to Text controls and BLOB columns can be bound to Image controls.
In the example above, the logo image is stored as a BLOB type. The Image Builder has been enhanced to allow the BLOB image to be retrieved from the database and inserted into an Image control.