BIRT 2.3 Project Plan

Draft BIRT Project 2.3 Plan

Last revised September 21, 2007

Introduction

This document lays out the feature and API set for the next feature release of the Eclipse BIRT project after 2.2, designated release 2.3.

Plans do not materialize out of nowhere, nor are they entirely static. To ensure the planning process is transparent and open to the entire Eclipse community, plans are posted in an embryonic form and then revised from time to time throughout the release cycle.

The first part of the plan deals with the important matters of release deliverables, release milestones, target operating environments, and release-to-release compatibility. These are all things that need to be clear for any release, even if no features were to change.

The remainder of the plan consists of plan items for the projects under the Eclipse BIRT project. Each plan item covers a feature or API that is to be added, or some aspect that is to be improved. Each plan item has its own entry in the Eclipse bugzilla database, with a title and a concise summary (usually a single paragraph) that explains the work item at a suitably high enough level so that everyone can readily understand what the work item is without having to understand the nitty-gritty detail.

Please send comments about this draft plan to the BIRT Developer mailing list.

Release deliverables

This release of BIRT will focus on providing the same downloads as BIRT 2.2.

Release milestones

  • The BIRT 2.3 Release will follow the Ganymede simultaneous release milestones

Our target is to complete and release BIRT 2.3 with the Ganymede Coordinated  release.

For information about new features assigned to each milestone please refer to the bugzilla database. The bugzilla database will be updated on an ongoing basis as the plan progresses.

Target Operating Environments

In order to remain current, each release of an Eclipse project targets reasonably current versions of underlying operating environments and other Eclipse projects on which it depends. 

Most of Eclipse, and all of BIRT, is “pure” Java™ code and has no direct dependence on the underlying operating system. For BIRT, the chief dependence is on the Eclipse Platform, Graphical Editor Framework (GEF), Modeling Framework (EMF), and on the Java 2 Platform that runs it.

The Eclipse BIRT 2.3 release depends on the following compatibility stacks:

BIRT 2.3 Reference Stack for JDK 1.5

  • Java 2 platform Java Development Kit (JDK) 1.5
  • Eclipse Platform Runtime Binary 3.4
  • Graphical Editor Framework (GEF) Runtime 3.2
  • Eclipse Modeling Framework (EMF) 2.3
  • Data Tools Platform Project 1.6 (DTP)
  • Web Tools Project (WTP) 3.4

BIRT 2.3 Reference Stack for JDK 1.6 (This is only a proposal and depends on whether various projects provide support for JDK 1.6)

  • Java 2 platform Java Development Kit (JDK) 1.6
  • Eclipse Platform Runtime Binary <TBD>
  • Graphical Editor Framework (GEF) Runtime <TBD>
  • Eclipse Modeling Framework (EMF) <TBD>
  • Data Tools Platform Project (DTP) <TBD>
  • Web Tools Project (WTP) <TBD>

The Eclipse Platform and BIRT run in a variety of operating environments. Testing is focused on a handful of popular combinations of operating system and Java 2 Platform; these are our reference platforms. Eclipse BIRT undoubtedly runs fine in many operating environments beyond the reference platforms we test. However, since we do not systematically test them we cannot vouch for them. Problems encountered when running Eclipse BIRT on non-reference platforms that cannot be recreated on any reference platform will be given lower priority than problems with running Eclipse BIRT on a reference platform.

For BIRT 2.3, the project team plans to tests and validate the following reference platforms:


Eclipse BIRT Report Framework 2.3 and Eclipse BIRT RCP Report Designer 2.3 Reference Platforms
Operating system Processor architecture Window system Java 2 Platform
Microsoft Windows XP Intel x86 Win32 Sun Java 2 Standard Edition, version 5.0
Microsoft Windows Server 2003 Intel x86 Win32 Sun Java 2 Standard Edition, version 5.0
Microsoft Windows Vista Intel x86 Win32 Sun Java 2 Standard Edition, version 5.0

Red Hat Enterprise Linux WS 4.0

Intel x86 GTK Sun Java 2 Standard Edition, version 5.0

Eclipse BIRT Runtime 2.3 and Eclipse BIRT Charts 2.3 Reference Platforms
Operating system Processor architecture Window system Java 2 Platform
Microsoft Windows XP Intel x86 Win32* Sun Java 2 Standard Edition, version 5.0
Microsoft Windows XP Intel x86 Win32* IBM SDK 5.0
Microsoft Windows Server 2003 Intel x86 Win32* Sun Java 2 Standard Edition, version 5.0
Microsoft Windows Server 2003 Intel x86 Win32* IBM SDK 5.0
Microsoft Windows Vista Intel x86 Win32* Sun Java 2 Standard Edition, version 5.0
Red Hat Enterprise Linux WS 3.0 Intel x86 GTK* Sun Java 2 Standard Edition, version 5.0
SUSE Linux Enterprise Server 9 Intel x86 YaST* Sun Java 2 Standard Edition, version 5.0
*Window system only required when displaying charts within SWT or SWING windows.

BIRT Application Server Reference Platform
Apache Tomcat 5.0.x, 5.5.x
JBoss AS 4.0.2

BIRT JDBC Reference Platforms
MySQL Connector/J 3.x JDBC driver
Derby V10.1.2.1 JDBC driver

BIRT Browsers and Viewers Reference Platforms
Mozilla Firefox 2.0
Microsoft Internet Explorer 6.0, 7.0
Adobe Acrobat Reader 7.0, 8.0

Internationalization

Eclipse is designed as the basis for internationalized products. The user interface elements provided by the various Eclipse projects, including dialogs and error messages, are externalized. The English strings for BIRT are provided as the default resource bundles. Translations are provided with this release for French (fr_FR), German (de_DE), Spanish (es_ES), Japanese (ja_JP), Simplified Chinese (zh_CN), and Korean (ko_KR).

Community Tested Operating Environments

Due to the finite resources available to the BIRT project, we would like to encourage the BIRT community to contribute to testing BIRT in operating environments other than those listed as target operating environments for the 2.3 release of BIRT and to share this information with the rest of the community. If you have been able to test BIRT in a non-targeted operating environment please take a few minutes to update this wiki page and report this information there. If you have encountered bugs during your testing, please report these in bugzilla.

Compatibility with Previous Releases

BIRT 2.3 will be compatible with earlier versions of BIRT to the greatest extent possible. The nature and scope of some of the key plan items for BIRT 2.3 are such that the only feasible solutions might break compatibility. In other regards, BIRT 2.3 will be compatible with 2.x and 1.x. We also aim to minimize the effort required to port an existing plug-in to the 2.3 APIs.

Compatibility of Release 2.3 with Prior Releases

BIRT 2.3 will be compatible with prior releases of BIRT unless noted otherwise. The detailed compatibility statement is listed below. In this statement, "BIRT" refers to all BIRT components: BIRT Report Framework, BIRT Runtime, and BIRT Chart SDK.

API Contract Compatibility: BIRT 2.3 will be upwards contract-compatible with BIRT prior releases to the greatest extent possible. All incompatibility exceptions will be documented. Downward contract compatibility is not supported. There is no guarantee that compliance with BIRT 2.3 APIs will ensure compliance with prior BIRT release APIs. Refer to general Eclipse document on Evolving APIs for a discussion of the kinds of API changes that maintain contract compatibility.

The BIRT Chart UI API 2.3 is compatible with the 2.x.x API's but not compatible with the v1.x APIs due to a full redesign of the Chart UI in the BIRT 2.0 release.

Binary (plug-in) Compatibility: The BIRT 2.3 plug-in framework will be upwards binary-compatible with prior BIRT release plug-ins to the greatest extent possible. Downward plug-in compatibility is not supported. Plug-ins for BIRT 2.3 will not be usable in prior BIRT releases. Extension plug-ins for prior BIRT releases will be upwards binary-compatible with BIRT 2.3.

Source Compatibility: BIRT 2.3 will be upwards source-compatible with prior BIRT releases to the greatest extent possible. This means that source files written to use prior BIRT release APIs will successfully compile and run against BIRT 2.3 APIs. Downward source compatibility is not supported. If source files use new BIRT APIs, they will not be usable with an earlier version of BIRT.

Report Design Compatibility:BIRT 2.3 will be upwards report design compatible with prior BIRT releases unless noted otherwise. This means that reports created with prior BIRT releases can be successfully opened by BIRT 2.3 and upgraded to a 2.3 format.

Non-compliant usage of API's: All non-API methods and classes, and certainly everything in a package with "internal" in its name, are considered implementation details which may vary between operating environment and are subject to change without notice. Client plug-ins that directly depend on anything other than what is specified in the BIRT API are inherently unsupportable and receive no guarantees about compatibility within a single release much less with an earlier releases.

Themes

Continuing on the themes for previous releases of BIRT, the BIRT project's overriding release 2.2 theme remains extending the Eclipse platform to provide infrastructure and tools that allow application developers to design, deploy, generate and view reports within their applications. In this context, the BIRT project also adopts and supports key themes within the overall Eclipse planning process.

  • Scaling up and Enterprise Ready The Ganymede Eclipse platform continues to improve on scalability and readiness for the enterprise. BIRT 2.3 leverages the support that Ganymede provides by ensuring that it is tested and it is supported.
  • Simple to Use - BIRT 2.3 includes ease of use enhancements such as improvements to the BIRT report designer.
  • Appeal to a Broader Community - BIRT 2.3 will broaden the appeal of BIRT by its integration with the Eclipse Ganymede simultaneous release.

Projects

The following is a proposed list of projects for this release. Please communicate other desired projects to the BIRT PMC.

Crosstab Enhancements

Filter on Measures This project looks at providing the ability to filter a crosstab based on measures. [Bugzilla ID: 193235]

Show Empty Rows and Columns
The property editor will be enhanced to provide properties to display empty rows and columns in a crosstab item. [Bugzilla ID: 187327]

Computed Columns This project adds the ability to create computed columns in a crosstab. [Bugzilla ID: 197206]

Scripting Support This project provides the ability to add scripting on a crosstab. [Bugzilla ID: 183874]

Support for Sorting Using Expressions This project looks at providing sorting support in a crosstab by specifying an expression. [Bugzilla ID: 192411]

Highlight Rows by Comparing Dimension Values Highlighting crosstab rows using expressions based on the values of a dimension is the focus of this project. [Bugzilla ID: 193910]

Charts to Inherit Crosstab Data Crosstabs are a powerful feature in BIRT. Charts that are based on cubes for its data would be an equally powerful addition to this new feature. This project looks at letting charts inherit data from a crosstab. [Bugzilla ID: 197304]

Improved Label Positioning in Charts The layout of various chart elements becomes complicated when there are a lot of data points. This project will focus on automatically setting font sizes based on the chart size, auto wrapping, and auto positioning of X-Axis labels. [Bugzilla ID: 178310]

Allow Specification of Alt= Tags on All Report Items for Improved Accessibility In order to improve accessibility this project provides the ability to specify 'Alt' tags for all report items. [Bugzilla ID: 201668]

Support Multi-select Parameters This project looks at providing the ability to define list or combo report parameters that allow end-users to select multiple values. [Bugzilla ID: 131089]

Initial Integration of DTP SQL Query Editor This project provides an initial level of integration with the SQL Query builder from the DTP project. The DTP SQL Query Builder will be built on top of the existing textual Query Editor, and will have a visual builder available as an option.  Editing done in either the textual or visual pane will be reflected in the other. [Bugzilla ID: 201783]

Report Designer Usability Enhancements As increasing numbers of report developers adopt BIRT, usability becomes critical to the wide adoption of BIRT. This project will study areas for improvement with the report designer and propose improvements. Some possible areas of improvement include the expression builder, the aggregation builder, and the crosstab editor. Another area of improvement is better error handling. [Bugzilla ID: 201499]

Defects

BIRT 2.3 will address defects reported by project members and the community. The list of defects targeted for resolution in BIRT 2.3 can be found in the bugzilla database on https://bugs.eclipse.org/bugs.