Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Adding new advanced chart types in BIRT"

(Availuable Features)
Line 87: Line 87:
 
|| Source code is hosted at google code for eclipse foundation project. Later it will be integrated in BIRT. <br />
 
|| Source code is hosted at google code for eclipse foundation project. Later it will be integrated in BIRT. <br />
 
[http://code.google.com/p/eclipse-soc/source/browse/#svn/trunk/2009-newBirtCharts Here] you can find the repository and additional information.
 
[http://code.google.com/p/eclipse-soc/source/browse/#svn/trunk/2009-newBirtCharts Here] you can find the repository and additional information.
|}
 
  
== Next steps ==
 
Making plans for creating new chart types. Which classes have to be created.
 
 
{| style="width:75%;
 
 
|- valign="top"
 
|- valign="top"
| '''creating base frame'''
+
| '''Which classes have to be created? ''' <br />
|| As you can see in the existing birt code, there are two packages for a chart type.
+
| '''M2'''
 +
|| If you have a look at source located like it is in M1 descripted, you see that now that are an interface and an implementation class. <br />
  
 
|- valign="top"
 
|- valign="top"
Line 105: Line 101:
 
|| [[Image:birt-typeimpl-package.png|Set of all associated implementation classes.]]
 
|| [[Image:birt-typeimpl-package.png|Set of all associated implementation classes.]]
  
 +
|- valign="top"
 +
| '''new chart types '''
 +
|| [[Image:newTypePackages.png| Set of the chart type classes.]]
 
|}
 
|}
  
So the next step will be creating classes and interfaces for all the three new chart types.
+
As there are almost every classes are located, there will be an information left how to create a new plugin, extending existing BIRT code without patching any line of code. For example, the PIE chart will be rendered in die generator.render-phase. This is a hard coded piece of BIRT. But the question will be how to insert new chart types.
 +
 
 +
=== Next steps ===
 +
 
 +
Next step will be to locate all required classes. Therefore you can decide how to create a new chart type.<br />
 +
List every class which has to be implemented. Clear how to combine new chart types with extension points of existing BIRT Framework.
 +
 
  
 
== Comments, suggestions, ideas ==
 
== Comments, suggestions, ideas ==

Revision as of 21:10, 10 June 2009

My project for this year's Google Sommer of Code will be to contribute new chart types for the BIRT project.

Personal Details

Name: Karsten Knese

E-mail: Karsten.Knese@web.de

Skype: kook1987

Mentor: Ahti Kitsik

Full proposal: Proposal

Abstract

As there were some request about new chart types for BIRT the goal of my project is to add three new chart types.

  • donut chart
  • venn diagram
  • radar diagram

Description

BIRT already provides several chart types for designing customs reports. I found some open bugs and help-wanted entries in bugzilla.

Donut chart

This chart will be implemented based on the existing pie chart.

Radar diagram

This chart shows data information grouped by categories.

Venn diagram

This chart shows similarities and differences of several datasets.

Project plan

Here you can find the timeline for this project including all milestones.

Milestone Date Description
M1 June 07 Getting organizational things done like SVN repository etc.
M2 June 10 Creating base frame for all three chart types.
Interface and associated implementation class
M3 June 14 Inline Clear which classes of the existing BIRT source have to be patched
M4 July 5 Implementing donut chart based on the existing pie chart
M5 July 13 Testing donut chart - 'Pencil down' for midterm evaluation
M6 July 26 Implementing radar chart
M7 August 10 Implementing venn diagram
Pencil down August 17 Integrating source into BIRT source, do final documentation


Availuable Features

SVN Repository
M1 Source code is hosted at google code for eclipse foundation project. Later it will be integrated in BIRT.

Here you can find the repository and additional information.

Which classes have to be created?
M2 If you have a look at source located like it is in M1 descripted, you see that now that are an interface and an implementation class.
interface package Set of all the different existing birt charts.
implementation package Set of all associated implementation classes.
new chart types Set of the chart type classes.

As there are almost every classes are located, there will be an information left how to create a new plugin, extending existing BIRT code without patching any line of code. For example, the PIE chart will be rendered in die generator.render-phase. This is a hard coded piece of BIRT. But the question will be how to insert new chart types.

Next steps

Next step will be to locate all required classes. Therefore you can decide how to create a new chart type.
List every class which has to be implemented. Clear how to combine new chart types with extension points of existing BIRT Framework.


Comments, suggestions, ideas

I'm proud to take part in GSoC 2009. As it is my first project I'm happy about every help.
So feel free writing every comments you have. :)

Back to the top