New Report Design - 2009
Contents
Introduction
The components/modules that are using Report engine are: Dashboard, Monitor, Tabulation Script, Report Viewer, Diagram Viewer. These modules send request of generation to report engine including:
- A data cache which contains all source data
- Stylesheets (including external and inline stylesheet) to apply
- Kind of presentation that the report should be exported as (pdf, excel, ppt, word, html, image)
- Other kinds of settings
The report engine takes the request, make calculation using the Interpreter, and then export the result into desired format.
A report consists of elements like: diagrams, images, text blocks, pages, paragraphs. The most important element is Diagram, which can be discriminated based on:
- Data
- Cross Diagram
- Standard Diagram
- Tracking Diagram
- Campaign Diagram
- Presentation type
- Table chart
- Image chart which include many kinds of chart like: pie, bar, line, funnel, area, radar etc.
Concepts
Why a new system?
Current system drawbacks
- Heavy XML processing
- Heavy code duplication
- Inconsistent generation process
Thus it makes the cost of fixing bugs and maintain the old system greater than the cost of making an new system.
New system goals
- Remove the drawbacks of current system
- Side by side working with the old system
- Fully unit testing
- Unit/Integration tests can be run automatically
- Testing API must be simple enough for testers to join writing test cases
- Report API must be keep as simplest as possible
Design details
- Report unit testing system
- Diagram generation process
- Tabulation Script
- Tabulation Script for setting inline style to Table Chart
- Diagram viewer control
- Report viewer control
- Integrating with Dashboard
- Integrating with Monitor
Current implementation status
- Report unit testing system: rather complete and testers have joined writing a lot of test cases
- CrossDiagram
- Support for one column/row axis
- Cell types
- Presentation type
- Support Nevron image chart
- Tabulation Script
- Support for createCrossDiagram
- Support for setting inline stylesheet
- Diagram viewer control
Next action
- Report viewer control
- Integrating with Dashboard
- Integrating with Monitor
Document revisions
Version No. | Date | Changed By | Description |
0.1 | 27.04.2009 | Nguyen Trung Chinh | Create the first version for working with a single case of CDG |
0.1 | 20.07.2009 | Nguyen Trung Chinh | Refine the document |