[img_assist|nid=3261|title=|desc=|link=none|align=right|width=120|height=120]BIRT is a top level project through Eclipse and one of the most popular tools for designing and developing reports for business. Web Builder Zone Leader, Schalk Neethling, recently had an interview with BIRT evangelist Virgil Dodson with regards to the latest 2.3 release as well as the new Ganymede IDE for Java and Report Developers package.

Schalk Neethling: Hi Virgil, I was very happy to see that the new version of BIRT has indeed been released on time with the rest of the Ganymede releases. I was especially pleased to see the new Eclipse Ganymede package Eclipse IDE for Java and Report Developers, what can report developers who have not grabbed the package yet, look forward to?

Virgil Dodson: BIRT 2.3 was a huge release in terms of bug fixes and enhancements. Some of the coolest new features are concentrated around script debugging, crosstab improvements, a prototype of the Data Tools Project’s SQL Query Builder, multi-view items, a horizontal page break property, and lots more. All of these features will make it easier for the report developer to build the report they need.

Neethling: One of the BIG improvements with the BIRT 2.3 release is the JavaScript debugger, can you tell us a little more about this and how this is going to improve the development life cycle for report developers?

Dodson: The whole report debugging experience has been improved in BIRT 2.3 for both Java event handlers and JavaScript event handlers. Debugging now happens within the same Eclipse instance instead of launching another instance. The debugger also lets you emulate the /frameset /run and /preview mappings used in the BIRT viewer and allows you to select which engine task you would like to use deciding between the RunTask, RenderTask, RunAndRenderTask, and a 2 process options of RunTask + RenderTask. For JavaScript, you can now add breakpoints in your code allowing you to step through and debug your report scripts.

Neethling: I must say one of the new features I am really excited about is the JavaScript validation enhancement to the JavaScript editor. It is definitely going to make writing scripts in the BIRT designer a lot easier. Can you expand a little on exactly how the validator works and also highlight some of the other enhancement to the JavaScript editor?

Dodson: There have been quite a few enhancements to the JavaScript editor starting with instant syntax validation, line numbers, code folding allowing you to collapse areas of script you are not currently working on, and toggling on/off breakpoints to use while debugging. When an error does happen, the message has been improved and also now includes the line number where the problem occurred. You will also see a couple of new icons in the Expression builder, a date picker for easily selecting correctly formatted dates, and a syntax validator. You can very quickly check for problems before leaving the Expression Builder.

Neethling: A lot of improvements have been made with regards to the crosstab feature in BIRT. Please tell us more about what these improvements are and how they will improve the way reports are designed.

Dodson: The Crosstab control had quite a few changes with BIRT 2.3. One of my favorite features is the ability to have a chart within a crosstab measure or total area. You simply right-click on a measure and select "Show as Chart". A default chart is generated that has the correct cube data selected. To allow for further customization, the crosstab control now exposes several scriptable events. You can write scripts on these events to modify the individual cells within a crosstab. For example, coloring certain cells based on the data generated. Some additional improvements include filters for measure values, derived measures that can be generated based on other data around it, an option for allowing empty columns and rows to be displayed, and the ability to have something displayed in the crosstab header.

Neethling: Multi-View items is new to 2.3 I believe and from what I have read about it, it is definitely a welcome addition to BIRT's feature set. Please tell us a little more about Multi-Views.

Dodson: Multi-view items are available for the Table control and the Crosstab control and they allow you to create a chart from the same data used for the table or crosstab. You can easily create these by right clicking on a table or crosstab and selecting, "Create Chart View". This chart takes up the same physical space within the report as the table or crosstab it references. The decision to show the table data or the chart view can be set dynamically with script allowing the user to decide what they prefer to see.

Neethling: After watching the webinar on designing high performance BIRT reports, I came away with feeling that charts, although possible with BIRT, should only be used when absolutely necessary as they decease performance by up to 150%. Besides highlighting some of the additions to BIRT's chart engine please also tell us about any performance improvements that has been made with BIRT 2.3 in this regard.

Dodson: The Chart Engine has been improved for BIRT 2.3 and includes a number of performance improvements and several new features. When using the Chart Engine within a BIRT report, it now uses the DtE for all its data grouping, sorting, etc. So now chart engine uses the exact same code to do all this that the rest of BIRT uses (read - better performance). As for features, you now have the ability to group on one field and sort on another allowing you to display the data in your desired order. In addition to Data Sets and Report Items, a chart can now get its data from a Data Cube.

Neethling: I must applaud the developers of BIRT on the new Bidirectional (Bidi) Support. This is going to aid localization of reports a lot and open up new territories, so to speak, for BIRT. Please explain exactly what Bidi support is.

Dodson: Bidi support in BIRT allows for bi-directional language support or report elements. You can set BIDI direction for the entire report ( this will reverse tables etc) or for individual items, allowing a mixture of both formats. This feature allows you to have certain report items display from right to left (rtl) instead of left to right (ltr). Currently, this setting must be made inside the XML source of the rptdesign file. Search for “bidi” on the XML source tab in BIRT 2.3 to see this. All the BIRT emitters support the BIDI feature including HTML, PDF, DOC, etc.

Neethling: Besides the enhancement to the JavaScript editor and debugger, which are the new report elements in BIRT 2.3 that now support scripting or have enhanced scripting support?

Dodson: Both the crosstab and the chart have exposed some new events for writing scripts against. The crosstab events were mentioned above and the chart now has events for controlling the chart markers.

Neethling: While we are talking about scripting, Marker Scripts are an awesome new featured that will be welcomed by a lot of report developers. Please tell us more about this feature.

Dodson: In previous versions of BIRT, you could modify the chart markers dynamically prior to generating a chart. With BIRT 2.3, there are now events that fire during chart generation allowing you to change the chart markers dynamically based on data values.

Neethling: What are the style improvements that come with BIRT 2.3?

Dodson: There were several style changes made for BIRT 2.3. First of all, in addition to reusable styles for a report, you can now copy and paste the format from one control to another. A number of controls now have some new border types of groove, ridge, inset, and outset. If you are using an external CSS file, you can now supply the runtime location of that CSS file so it no longer has to be packaged up with your application.

Neethling: The library explorer view has not only been renamed but dramatically improved. Please fill us in on the details and what improvements developers can look forward to.

Dodson: The Library Explorer is now called the Resource Explorer and allows you to navigate all your BIRT resources including libraries, images, JS files, CSS files, etc. The Resource Explorer, used in conjunction with the new project specific settings, allows for a lot more flexibility by project. It is also easier to add an element to the library by simple right-clicking a control and selecting Export to Library.

Neethling: What SQL related improvements have been added to BIRT for this version? Here I am also referring to the SQL Query Builder Prototype.

Dodson: BIRT 2.3 includes a prototype integration of the Graphical Query Builder from the Eclipse Data Tools Project (DTP). This query builder allows you to graphically add tables, create joins between tables and select fields from a table, all while the SQL code is generated for you. Currently, this feature is only available if you are using a Connection Profile Store to hold your data connection credentials. In addition to the query builder, BIRT 2.3 now supports stored procedure that return multiple result sets or that return a cursor.

Neethling: What other features has been added or improved in BIRT 2.3 that you have not already mentioned?

Dodson: There were over 250 enhancements to BIRT 2.3 so there were lots of smaller things added like the ability to reference external JavaScript(JS) files as a report resource. Once this is done, I can call a JavaScript function anywhere within the report. There is also a new concatenate function built into the aggregation wizard so instead of summing or averaging a list of values, I can concatenate them together. There were some improvements to the output algorithms for both PDF and Postscript resulting in smaller output file sizes. Another feature with BIRT 2.3 is the Project Specific Settings. You can now set properties, like the location of the resource file and element defaults by individual project allowing you to have multiple configurations within the same workspace.

Neethling: What new features or enhancements can specifically Java developers look forward to in BIRT 2.3 with regards to aspects such as event handlers, and the report engine API?

Dodson: Certainly the most important feature for someone writing event handlers is the improved debugging support. BIRT 2.3 has also improved the Event handler for the Scripted data set to allow input parameters when implementing the event in Java.

Neethling: Thank you Virgil for joining me for this interview. I must say, BIRT 2.3 is a mamonth release and I would definitely encourage report developers to grab the latest Ganymede Eclipse IDE for Java and Report Developers. Is there anything you would like to add in closing?