BIRT Report Module Project Proposal
Project Plan For Business Intelligence and Reporting Tools Module, version 2.0
Table of Contents
Introduction
Release Deliverables
Release Milestones
Any other info
Introduction
This plan describes the work for the BIRT 2.0 release.
Release Deliverables
Main goals are as follows:
Better integration of OpenMRS BIRT Module and OpenMRS Reporting Module.
Efficiently integrating the latest Eclipse BIRT Runtime Release with the OpenMRS BIRT Module.
Implementing BIRT rendering via a custom tool in the reporting module.
Secondary Goals
Enhance the BIRT ODA plug-in based on the new BIRT Module and to take advantages of the RESTful webservices provided by reportingrest module.
Modify and Implement additional RESTful web services needed in reportingrest module.
Midterm Goals
Complete redesign and development of the BIRT module.
Complete integration of BIRT Runtime Release and BIRT module.
The rendering tool is completed.
Project schedule
Complete redesign and development of the BIRT module.
Complete integration of BIRT Runtime Release and BIRT module.
The rendering tool is completed.
If time permit, enhanced BIRT ODA Plug-in.
If time permit, have all additional RESTful web services implemented.
Completed testing.
Updated all documentations.
Release Milestones
The BIRT 2.0 Release will follow this milestone schedule.
M1 04/12/2012
M2 04/19/2012
M3 04/26/2012
M4 05/03/2012
M5 05/10/2012
M6 05/17/2012
M7 05/24/2012
M8 05/31/2012
M9 06/07/2012
M10 06/14/2012
M11 06/21/2012
M12 06/28/2012
M13 07/05/2012
M14 07/09/2012 Midterm evaluation
M15 07/12/2012
M16 07/19/2012
M17 07/26/2012
M18 08/02/2012
M19 08/09/2012
M20 08/16/2012
M21 08/23/2012 Final evaluation
Target M1 - Getting Familiar
Read the documentation
Learn and use tools (SCM, Deploy, Testing, etc)
Checkout the codes (OpenMRS Trunk, BIRT Report Module, Reporting Module, REST Module, and Webservices.rest Module) and give a look
Investigate Eclipse BIRT
Investigate bugs, tasks and features related to modules in JIRA (BIRT, REPORT, REST, RESTWS)
Continue fixing bugs
Bond with the community
Target M2 - Architecture
BIRT 2.0 architecture
Bug fixing
Target M3 - Design
BIRT 2.0 design, features and uses cases
Bug fixing
Target M4 - Review Modules and Plugin
Review BIRT Module, REST, Reporting module, ReportingRest Module, and BIRT ODA Plug-in.
Do an analysis and reporting and provide information to my mentor.
Clarifications from mentor.
Demonstration and Progress Report
Target M5 - Detailed Design and Architecture
Detailed software architecture, design and breaking down features into use cases.
Verify architecture and design (packages, classes, use cases, class collaboration, etc) with the mentor
Demonstration and Progress Report
Target M6 - Proof of Concepts, Demos and Report
Proof of concept to validate design solutions.
Demonstrations and Progress Report
Target M7 - BIRT Report Module and Reporting Module Integration
Backend integration - not much change with the UI at the beginning
Remove deprecated API-calls.
Code refactoring. Remove codes - redundant services, tables, UI components, etc.
Integration with the Reporting Module via the Renderer interface
Define some classes in the reporting module
Delegate classes to the BIRT Module
Testing (e.g. Unit)
Demonstration and Progress Report
Target M8 - Compatibility with Previous and Later Releases
BIRT Report Module will be compatible with earlier versions of BIRT Report Module
Testing (e.g. Unit)
Demonstration and Progress Report
Target M9 - BIRT Report Module & BIRT Runtime Integration
BIRT 2.0 will be compatible with earlier and later versions of BIRT Runtime to the greatest extent possible. BIRT Runtime engine will be integrated into the BIRT Reports Module
Testing (e.g. Unit)
Demonstration and Progress Report
Target M10 - Renderers
Create the renderer class(es) that use the BIRT Report Engine to render a report into different format (pdf, Excel, etc) or output as requested by the user from the collected report design file and evaluated data set(s).
Have some class(es) and method(s) for the BIRT engine to handle evaluated simple data set options (e.g. csv file, jdbc, json, scripted, etc)
Have some class(es) and method(s) to handle evaluated complex data sets from the reporting module in a format for BIRT use.
Testing (e.g. Unit)
Demonstration and Progress Report
Target M11 - Run Report
Usability work (design and create UIs)
Classes to run BIRT reports from an existing file by uploading a birt report design file using BIRT Report Engine API
Classes to run a report created from scratch using BIRT Report Engine API
Testing (e.g. Unit)
Demonstration and Progress Report
Target M12 - Design, Render, and Preview Components
Usability work (design and create UIs)
Classes to create a design using BIRT Design Engine API
Classes to create and render charts using the BIRT Chart Engine API
preview a report before saving.
Testing (e.g. Unit)
Demonstration and Progress Report
Target M13 - Create Chart Wizard including Option to Filter
Usability work (design and create UIs)
Classes that first help define the overall data set and apply filters after computing the totals
Wizard to add a chart (e.g. a new pie graph) in step by step mode
using the partitioned data set
Testing (e.g. Unit)
Demonstration and Progress Report
Target M14 - Midterm Evaluation
Demonstration and Presentation
Target M15 - Merge Components
A UI page and controller to list all report definitions in the BIRT Module
A UI page and controller class to display details for a report definition including datasets
Improve the query for the modifyReport(...) in the BirtTemplateRenderer class and Testing (e.g. Unit)
Demonstration and Progress Report
Target M16 - Enhance or Re-create BIRT ODA Plugin
Extending current OpenMRS's BIRT ODA Plugin or write a new one using easier use cases
Testing (e.g. Unit)
Demonstration and Progress Report
Target M17 - Web Service
Usability work (design and create UIs)
Modify existing services where necessary
Implement new RESTful web services
Testing (e.g. Unit)
Demonstration and Progress Report
Target M18 - Comprehensive testing
Comprehensive testing
Demonstration and Progress Report
Target M19 - Comprehensive documentation
Comprehensive documentation and submission
Demonstration and Progress Report
Target M20 -
Target M21 -
we said that we'd talk next week
but we discussed what we'd work on the first two weeks
our goal is to get a very basic birt renderer working
similar to how the excel renderer works
you upload a birt report template as a report design
define a report definition with a data set definition and run it
the first pass probably will produce a report with no data
since that seems to be the hard part
but birt will let you add text and images
so we can get that working as a first pass