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:

  1. Better integration of OpenMRS BIRT Module and OpenMRS Reporting Module.
  2. Efficiently integrating the latest Eclipse BIRT Runtime Release with the OpenMRS BIRT Module.
  3. Implementing BIRT rendering via a custom tool in the reporting module.

 Secondary Goals

  1. Enhance the BIRT ODA plug-in based on the new BIRT Module and to take advantages of the RESTful webservices provided by reportingrest module.
  2. Modify and Implement additional RESTful web services needed in reportingrest module. 

 

Midterm Goals

  1. Complete redesign and development of the BIRT module.
  2. Complete integration of BIRT Runtime Release and BIRT module.
  3. The rendering tool is completed.

 
Project schedule


 

  1. Complete redesign and development of the BIRT module.
  2. Complete integration of BIRT Runtime Release and BIRT module.
  3. The rendering tool is completed.
  4. If time permit, enhanced BIRT ODA Plug-in.
  5. If time permit, have all additional RESTful web services implemented.
  6. Completed testing.
  7. 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