Please review the attached BIRT 2.1 project plan
and provide me feedback
by COB tomorrow - Wednesday. The plan is to post the plan on to
eclipse.org
thursday morning. If there are updates after that we can incorporate
these
individually.
Thanks!
Krishna
Eclipse BIRT Project - DRAFT 2.1 Plan
BIRT Project 2.1 Plan
Last revised March 24, 2006
marks interesting changes since the previous draft of January
30, 2006
Introduction
This document lays out the feature and API set for the next
feature
release of the Eclipse BIRT project after 2.0, designated release 2.1.
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
In order to improve the end user experience of downloading and
installing
BIRT, the release deliverables will be revised. Details will become
available
as progress is made on this project.
Release milestones
The Eclipse BIRT 2.1 release milestones will be synchronized with
the
Eclipse Callisto simultaneous release. The first BIRT 2.1 milestone
will be
designated M5 in order to synchronize with the Callisto simultaneus
release
numbering. All release deliverables will be available for download as
soon as
the release has been tested and validated in the target operating
configurations listed below.
Release milestones:
- Friday, March 3, 2006 BIRT 2.1 M5
- Friday, April 7, 2006 BIRT 2.1 Release Candidate 0
- Friday, April 14, 2006 BIRT 2.1 Release Candidate 1
- Friday, April 28, 2006 BIRT 2.1 Release Candidate 2
- Friday, May 12, 2006 BIRT 2.1 Release Candidate 3
- Friday, May 26, 2006 BIRT 2.1 Release Candidate 4
- Friday, June 16, 2006 BIRT 2.1 Release Candidate 5
- Wednesday, June 28, 2006 BIRT 2.1 Release Candidate 6
Our target is to complete and release BIRT 2.1 with the Callisto
simultaneous release, currently targeted for late June 2006.
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.1 release depends on the following
compatibility
stack:
BIRT 2.1 Reference Stack for Eclipse 3.2
- Java 2 platform Java Development Kit (JDK) 1.4.2
- Eclipse Platform Runtime Binary 3.2
- Graphical Editor Framework (GEF) Runtime 3.2
- Eclipse Modeling Framework (EMF) 2.2
The Eclipse Platform and BIRT run in a variety of operating
environments.
Testing is focused on a handful of popular
For BIRT 2.1, the project team plans to tests and validate the
following
reference platforms:
Eclipse BIRT Report
Framework 2.1 and Eclipse BIRT RCP Report Designer 2.1 Reference
Platforms
|
Operating system |
Processor architecture |
Window system |
Java 2 Platform |
Microsoft Windows XP |
Intel x86 |
Win32 |
Sun Java 2 Standard Edition, version 1.4.2 |
Microsoft Windows 2000 |
Intel x86 |
Win32 |
Sun Java 2 Standard Edition, version 1.4.2 |
Microsoft Windows Server 2003 |
Intel x86 |
Win32 |
Sun Java 2 Standard Edition, version 1.4.2 |
Red Hat Enterprise Linux WS 3.0
Red Hat Enterprise Linux WS 4.0
|
Intel x86 |
GTK |
Sun Java 2 Standard Edition, version 1.4.2 |
Eclipse BIRT Runtime
2.1 and Eclipse BIRT Charts 2.1 Reference Platforms
|
Operating system |
Processor architecture |
Window system |
Java 2 Platform |
Microsoft Windows XP |
Intel x86 |
Win32* |
Sun Java 2 Standard Edition, version 1.4.2,
version 5.0 |
Microsoft Windows XP |
Intel x86 |
Win32* |
IBM SDK 1.4.2, 5.0 |
Microsoft Windows Server 2003 |
Intel x86 |
Win32* |
Sun Java 2 Standard Edition, version 1.4.2,
version 5.0 |
Microsoft Windows Server 2003 |
Intel x86 |
Win32* |
IBM SDK 1.4.2, 5.0 |
Red Hat Enterprise Linux WS 3.0 |
Intel x86 |
GTK* |
Sun Java 2 Standard Edition, version 1.4.2,
version 5.0 |
Red Hat Enterprise Linux WS 3.0 |
Intel x86 |
GTK* |
BlackDown SDK 1.4.2 |
SUSE Linux Enterprise Server 9 |
Intel x86 |
YaST* |
Sun Java 2 Standard Edition, version 1.4.2,
version 5.0 |
SUSE Linux Enterprise Server 9 |
Intel x86 |
YaST* |
BlackDown SDK 1.4.2 |
*Window system only required when displaying charts within SWT or SWING
windows.
BIRT Application
Server Reference Platform
|
Apache Tomcat 4.1.x, 5.5.x |
JBoss AS 4.0.2 |
BIRT JDBC Reference
Platforms
|
MySQL Connector/J 3.x JDBC driver |
Derby V5.1 JDBC driver |
BIRT Browsers and
Viewers Reference Platforms
|
Mozilla Firefox 1.5 |
Microsoft Internet Explorer 6.0 |
Adobe Acrobat Reader 7.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).
Compatibility with
Previous Releases
BIRT 2.1 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.1 are such that the only feasible solutions might break
compatibility. In
other regards, BIRT 2.1 will be compatible with 2.0 and 1.x. We also
aim to
minimize the effort required to port an existing plug-in to the 2.1
APIs.
Compatibility of Release 2.1 with 2.0 and 1.x
BIRT 2.1 will be compatible with BIRT 2.0 and 1.x unless noted.
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.1 will be upwards
contract-compatible with BIRT 2.0 and 1.x 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.1 APIs will ensure compliance with BIRT 2.0 or 1.x 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 v2.1 is compatible with the v2.0 API 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.1 plug-in
framework will
be upwards binary-compatible with BIRT 2.0 and 1.x plug-ins to the
greatest
extent possible. Downward plug-in compatibility is not supported.
Plug-ins
for BIRT 2.1 will not be usable in BIRT 2.0 or 1.x. Extension plug-ins
for
BIRT 2.0 and 1.x will be upwards binary-compatible with BIRT 2.1.
Source Compatibility: BIRT 2.1 will be upwards
source-compatible
with BIRT 2.0 and 1.x to the greatest extent possible. This means that
source
files written to use BIRT 2.0 or 1.x APIs will successfully compile and
run
against BIRT 2.1 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.1 will be upwards report
design
compatible with BIRT 2.0 and 1.x unless noted. This means that reports
created with BIRT 2.0 or 1.x can be successfully opened by BIRT 2.1 and
upgraded to a 2.1 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.
Continuing on the themes for previous releases of BIRT, the BIRT
project's
overriding release 2.1 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 Eclipse platform 3.2
continues to improve on scalability and readiness for the enterprise.
BIRT 2.1 leverages the support that 3.2 provides by ensuring that it is
tested and it supports Eclipse 3.2.
- Simple to Use - BIRT 2.1 includes ease of use
enhancements such as improvements to the distribution and installation
of BIRT. Additionally, BIRT 2.1 continues to provide the RCP based
report designer which is targeted at the report developer.
- Appeal to a Broader Community - BIRT 2.1 will broaden
the appeal of BIRT by its integration with the Eclipse Callisto
simultaneous release. In addition, providing support forFirefox 1.5 and
JDK 5.0 for the BIRT runtime widens BIRT's appeal.
Projects identified are:
Integration with Eclipse
Callisto Simultaneous Release The goal of the Callisto Simultaneous
Release is to release ten major Eclipse projects at the same time to
support the needs of the ecosystem members who integrate Eclipse
frameworks into their own software and products. Callisto is about
developers helping developers serve the whole Eclipse community. This
project will ensure that 1) BIRT is integrated with the Callisto
Simultaneous Release 2) BIRT plug-ins will be made available in jar
files 3) BIRT will use message bundles and capabilities. [Bugzilla ID: 133665]
[Theme: Appeal to a Broader Community]
Provide support for the Eclipse 3.2 Platform The BIRT 2.1
release will be tested on the Eclipse 3.2 Platform Release. [Bugzilla
ID: 133666][Theme:
Scaling up and Enterprise Ready]
Improve distribution and installation of BIRT Users of
BIRT, especially new users, can sometimes be overwhelmed by the
complexity of the installation of BIRT and all the components that it
depends on. BIRT 2.1 aims to improve the end user experience of
downloading and installing BIRT and all of its related components.
[Bugzilla ID: 133669][Theme:
Simple to Use]
ICU4J Integration Integrating the International
Components for Unicode for Java will enable BIRT 2.1 to work with text
in any language for any place in the world. ICU4J continues to extend
Java's Unicode and internationalization support, improving performance,
staying current with the Unicode standard, and providing richer APIs,
while remaining as compatible as possible with the original Java text
and internationalization API design. [Bugzilla ID: 127012][Theme:
Appeal to a Broader Community]
Report
Viewing
Improved
Drill Through The developer of a report likely does not know
what sections of that report are interesting enough to serve as
destinations for links from other reports. Instead of requiring the
developer to guess at defining bookmarks in the report, this project
will focus on developing the capability to link to the table of
contents of a target report as well as to link to a column name and
value. This mechanism will provide more flexibility and make report
linking easier to use. Additionally, when linking a report to another
via the drill through mechanism, there is currently no way of knowing
which report parameters if any, are absolutely required. The drill
through builder will list whether a report parameter is required.
[Bugzilla ID: 124710][Theme:
Simple to Use]
Reportlet
HTML Output Web pages often use HTML tables to organize and
position their content. In order to provide more flexibility for
integrating report content into a web page, it becomes necessary to
introduce a new set of formats that return content as ‘Reportlets’, or
partial DHTML pages. These Reportlets can then be included within web
pages generated by a web application. [Bugzilla ID: 110681][Theme:
Simple to Use]
Page
Break Enhancements Page breaks are currently supported for
various report items such as tables and grid rows. Additionally, page
breaks are required in a customer order report that groups information
by customer and inserts a page break before or after each customer's
orders. However, an option is required so that the last blank page is
suppressed in the case that a page break is inserted after every group.
Similarly, in the case that a page break is inserted before each group,
an option should suppress the first blank page. When a page break is
inserted after every group, the group header should automatically be
repeated. This project also aims to improve the documentation of
pagination. [Bugzilla ID: 121275,
124585,
126120,
and 119580][Theme:
Scaling Up]
Determine
Columns Bound To A Table In order to improve application
performance, the report developer needs to be able to tell what columns
from a dataset have been bound to a table. This will allow the
developer to then optimize the SQL statement. For example, if only 2
columns from a dataset with 10 columns have been bound, then the select
list does not need to fetch all 10 columns from the database. This
reduces the data fetch thereby improving performance. [Bugzilla ID: 133678][Theme:
Scaling Up]
Total
Page Count and Pagination Hints For PDF Output When generating
PDF output from a BIRT report there is no way of determining the total
page count for the report. This project fixes this shortcoming.
[Bugzilla ID: 121159]
Pagination hints for HTML output are stored in the report document
file. These hints can not be utilized by the PDF emitter. This project
also generates PDF pagination hints which get stored in the report
document file. [Bugzilla ID: 131624][Theme:
Simple to Use]
Data
Sources
Support
Enhanced ODA Framework BIRT 2.1 will incorporate enhancements to
the Open Data Access component of the Data Tools Project such as:
Upgrades to the ODA 3.0 design framework; specialized implementation in
oda.jdbc.ui to support the DTP textual SQL Editor and exposed database
definition model; utilizing the java.sql.Connection obtained via the
DTP ODA runtime framework if the connection properties reference an
external connection profile; embedding and launching the ODA custom
designer's wizard and editor pages in the data explorer. [Bugzilla ID: 133681][Theme:
Appeal to a Broader Community] Additionally, the Design Engine ROM will
be updated to support the DTP 3.0 model changes. [Bugzilla ID: 133682][Theme:
Appeal to a Broader Community]
XML
Data Source Enhancements The following items are included in
BIRT 2.1: 1) BIRT 2.0 supports URL's (with or without parameters) and
XML files as input streams for the XML Data Source. This project
extends this capability by using Java classes as input streams for the
XML Data Source. Additionally, web services as input streams are
becoming an accepted method of interacting with XML data streams. This
will be considered as well. 2) The XML Data Set builder appears complex
to use for non Java developers who may not be familiar with Xpath
syntax. This project will explore options to improve the usability of
the builder. 3) XML files can contain large trees and therefore users
need a way to filter parts of the tree so that only the interesting
parts appear in the data set builder. 4) An XML Data Set does not
currently allow parameters. This project will allow parameters to be
passed into XML Data Sets. [Bugzilla ID: 116636]
This project will enhance the BIRT XML ODA Driver to display
non-English strings properly. [Bugzilla ID: 129424][Theme:
Appeal to a Broader Community]
Join
Two Data Sets It is a commonly requested feature that a BIRT
table or list be able to consume data from two or more data sets joined
together with a set of join conditions. This feature is very similar to
SQL table joins. In comparing BIRT’s data set join to SQL joins, a BIRT
data set is equivalent to a SQL table, while a data set column is
equivalent to a column in a table. Data set joins in BIRT are achieved
via the introduction of a new type of data set called Joint Data Set. A
Joint Data Set is a derived data set whose data comes from joining two
data sets. Users can create a data set that is the join of two data
sets and can define one and only one join key, outer/inner join, and
filtering condition. [Bugzilla ID: 131040][Theme:
Simple to Use]
Automatic
Thumbnail Image Creation TTemplates ease the task of report
creation by providing pre-built starting points. To make it easy to
select a template in the report designer, the report developer needs to
be able to visually inspect the layout of a template. This project will
automate the creation of a thumbnail image from a report design.
[Bugzilla ID: 127427]
Template
Creation From Report Design There is no obvious way to create a
report template from a report design. This project will address this
shortcoming. [Bugzilla ID: 122575]
Some key usability improvements planned in this project include: 1)
Publishing a template from the right mouse button click in the outline
view. [Bugzilla ID: 126064]
2) Indicating that the template display name is required in the
template publishing dialog. [Bugzilla ID: 126074]
3) Providing a name for a report item when converting it to a template
report item. [Bugzilla ID: 126103][Theme:
Simple to Use]
Highlighting
Top N or Bottom N rows Highlighting is a powerful way to draw
attention to report items that meet certain conditions. For instance,
in a product inventory report, if the inventory level of a product
drops below the minimum stocking level, then that row in the report
should be highlighted. This project enhances the highlighting feature
by supporting the capability to highlight the top N or bottom N rows in
a result set. [Bugzilla ID: 123726]
Highlight
Applies To Any Report Element When creating alternating bands of
highlighted rows, the backgrounds for the cells are not contiguous.
This leaves white spaces between highlighted cells in a band especially
if the data value in a cell is not available. Highlighting will now be
applicable to any report element and will not be cascading removing any
gaps in highlight bands. [Bugzilla ID: 102511][Theme:
Simple to Use]
Data
Set Editor UI Improvements In order to make the data set editor
consistent with the Eclipse look and feel the following items are
planned: 1) Double-clicking on the data field should work exactly like
drag and drop 2) Arrows in the right corner will allow the user to
navigate to the next/previous option. 3) Make Preview Results option
the last in the list; 4) Apply button will appear on each panel and
apply the changes made without closing the dialog; 5) Clicking the
Preview Results button will apply the changes made and switch to the
Preview Results pane, populating it with the data corresponding to the
current query; 6) Add progress bar (similar to the one in Report
Preview) to the Preview Results operation; 7) Aesthetic changes such as
positioning of items in the dialog and size in pixels of items.
[Bugzilla ID: 126083][Theme:
Simple to Use]
Chart
Enhancements A number of enhancements are planned for this
project. Some key ones include: 1) Support bar/stick display for Stock
series - The bar/stick display represents prices as a vertical line
from the high to the low, with a left tick representing the opening
price and a right tick representing the closing price. [Bugzilla ID: 113179]
2) Auto-wrapping/size of legend - Charts auto size and legends wrap so
that large data sets are handled. [Bugzilla ID: 116709]
3) %value for Pie Charts and expressions for data point labels -
Provide the ability to display the % value of the chart section in
addition to Orthogonal Value, Base Value and Series Value. [Bugzilla
ID: 117566]
4) Support tool tips on various chart elements – Tool tips are used to
annotate chart components with extra information. Chart components that
should have tool tips are: chart title, axes, legend items, data sets,
and data point values. [Bugzilla ID: 119136][Theme:
Simple to Use]
Accelerator
Keys In order to conform to the Accessibility guidelines for the
Eclipse UI, this project will provide accelerator keys for setting
preferences. This will enhance the adoption of BIRT in commercial
products. [Bugzilla ID: 125122][Theme:
Appeal to a Broader Community]
Ease
Report Migration To encourage the use of BIRT by the development
community, it must be easy for developers to migrate BIRT reports
across environments such as from development to testing to production.
To support this goal, BIRT 2.1 should provide capabilities in the
Eclipse environment that make it easy for the developer to deploy the
BIRT reports in their application using visual tools. This includes
packaging up reports and all their dependent components such as
libraries, scripted data source (Java class files), war files for the
BIRT runtime, images, and other related artifacts. [Bugzilla ID: 133697][Theme:
Enterprise Ready]
Include
BIRT source code with downloads Current downloads of Eclipse
BIRT do not provide an SDK like package which includes the source code
for BIRT. There is a need for such a package so that users do not have
to handle the additional complexities of downloading the source code
from CVS. [Bugzilla ID: 104310][Theme:
Simple to Use]
BIRT 2.1 will address defects reported by project members and the
community. The list
of defects targeted for resolution in BIRT 2.1 can be found in the
bugzilla database on https://bugs.eclipse.org/bugs.
_______________________________________________
birt-pmc mailing list
birt-pmc@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/birt-pmc