New and Notable Features within BIRT 4.3

Introduction

In conjunction with the Kepler release, the BIRT team is pleased to announce the availability of BIRT 4.3. This document describes some of the new features that are available within the 4.3 release.

To review the projects included in the 4.3 release, see the BIRT 4.3 Project Plan. Some features have also been back-ported to BIRT 4.2.2. These are marked with an asterisk in the feature header in this document.

As with all BIRT releases, the BIRT team appreciates your feedback and suggestions. To get involved in the project take a look at the BIRT community links.

New Microsoft Office Emitters

BIRT currently supports emitting report output in many formats. These include HTML, paginated HTML, DOC, XLS, Postscript, PPT, PDF, ODP, ODS, and ODT formats. BIRT is designed to be extensible and provides extension points for many components within the designer and runtime. The emitter framework provides an extension point to allow developers the ability to emit essentially any desired output. In this release BIRT will offer enhancements to all three of the Microsoft Office emitters.

For PowerPoint and Word, support for Office 2010 has been added with the inclusion of emitters for DOCX and PPTX formats. For Excel, the popular SpudSoft Excel Emitters were added to BIRT which includes emitters for both XLS, named XLS_SPUDSOFT as the standard XLS emitter will remain, and XLSX. The new XLS & XLSX emitters are able to output pictures, which means charts can now be seen in your Excel export. These emitters will also give a more Excel-like output rather than trying to make the Excel output look like the HTML, meaning no merging of cells. Multiple sheets are also an option with the new XLS & XLSX emitters.

All of the above export formats are available within the designer, in the viewer, or by using the Report Engine API.


Export Options


PPTX


DOCX


XLS/XLSX

New POJO Data Source

As with all information applications, the visualizations are only as good as the data that is analyzed and retrieved. BIRT is no exception and provides extensive support for retrieving data. BIRT currently supports drivers for JDBC, XML, Web Services, Flat Files, and Hive. In addition, BIRT also supplies a Scripted Data source that can be implemented in Java or JavaScript that can be used to access virtually any data source that is structured or contains an API. In the past, when you wanted to connect to a POJO (plain old Java object), the scripted data source is the one you would use. In this release BIRT has added support for POJOs to be used as a data source making using this type of source easier than ever.

With a couple classes like these:


CustomerDataset.java


Customers.java

You would create a POJO data source/set by following these steps:

Create a new data source, selecting the POJO type.
Then, hit next and add your POJO jar file so BIRT can locate your class files.



Test your connection and then select finish.

Next, we create a new data set using our POJO data source and choose our CustomerDataset.java class.



Then, select the column mapping class used to define the data set columns and hit next.



Select the columns that you want to include in your data set.



Finally, hit finish and preview your results.



*New Cassandra Scripted Data Source

BIRT 4.2.2 and later supports scripted data source connections for use with Cassandra distributions, including:

  • Apache Cassandra
  • Datastax Cassandra Community
  • Datastax Cassandra Enterprise
BIRT connects to and queries a Cassandra data source using the Hector API. You must copy the Hector client library JAR files to the appropriate folders for both BIRT Designer and the BIRT runtime deployment application. You can download the JAR files from here.

For the designer, copy the JARs into the /plugins/org.eclipse.birt.me.prettyprint.hector_version/lib/ directory. Depending on the runtime type you're using, you'll place the jars in different locations. For OSGi BIRT runtime deployment, copy the JAR files to the /plugins/org.eclipse.birt.me.prettyprint.hector_version/lib/ folder and restart the runtime deployment application. If the "Servlet ViewerServlet is not available" error message appears, copy the org.apache.commons.logging_version.jar (available in WEB-INF/platform/plugins/) to the birt/WEB-INF/lib/ folder. This is a known issue with tomcat-6. For non-OSGi BIRT runtime deployment, copy the JAR files to the /webapps/birt_runtime/scriptlib/ folder and restart the runtime deployment application.

With the Hector jars copied in, you can now create your data source by selecting the Cassandra Scripted Data Source data source type and clicking finish. Then, create your Scripted Data Set by creating a new data set using the scripted data source and then defining your fields. Now that you've created your data set, you can now write your script. To get started with this, select your data set in the Data Explorer and then the Script tab under the design layout window.



Now, you just need to connect to your data using the open script function and then map your data to your rows you defined in the fetch script. To test your data set, open the data set and choose the preview results.

New Mongo DB Data Source

The BIRT project has been designed to facilitate access to as many data sources as possible. Currently BIRT natively supports Flat File (CSV, SSV, PSV and TSV), JDBC Textual, JDBC Graphical Query Builder, XML, and Web Service data sources. This project provides the ability for BIRT developers to access data contained in MongoDB, a popular NoSQL repository.

To create a MongoDB data set, follow these steps:

First, choose to create a new data source and choose the MongoDB Data Source and hit next. Then, you'll input your connection information, test your connection, and hit finish.



Now that you have your source set up, you'll use it to create a new data set. In the data set wizard, select the mongoDB data source and hit next. Then, choose the collection you wish to use and select your fields. You can also set up command operations for MapReduce, Aggregate, or Run Database Command.



Once you've selected the fields you want and set up your desired command operations, hit finish and preview your results.



Easy Client-Side JavaScript Library Inclusion

BIRT 4.3 introduces the use of head.js to allow for easy inclusion of JavaScript libraries. To use this feature simply go to the script tab after selecting an empty spot in your report. When here, choose "clientScripts" from the drop down.



Here you'll write a head.js script to load your JavaScript libraries. The head.js call uses the format head.js(file1,file2,...,[callback]); This will look something like the following:



In a HTML text box in your report layout, you'll write your script that uses the JavaScript library you've included. Using head.js's head.ready() function to run your script after all the JavaScript libraries have been loaded will look something like this:



Once completed, you can run your report and see the easy client-side use of your external JavaScript library.