New Report Design - 2009

From Catglobe Wiki
Revision as of 07:27, 30 July 2009 by Catglobe (talk | contribs) (Why a new system?)
Jump to: navigation, search

Introduction

ReportEngine.jpg

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

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