Reports Project March 2007

Current Priorities

This is the list of what Thoughtworks is working on, in priority order:

  • a whole working loan status report integrated in the current system developed with the current way (SQL way) – Completed
  • Put findings to date on a wiki page (this should happen throughout the rest of the contract)
  • a simple report integrated in the current system developed with custom datasource way (with the purpose of demonstrating how the custom datasource work) CustomDatasource
  • prototype of the two ideas below and the proof of concept of each
  • a whole working loan status report integrated in the current system developed with custom datasource way-- both in iReport and BIRT (BIRT cant be fully integrated-- only going to do a spike or POC)
  • a flash video on how to use ireport to generate the report
  • a flash video on how to use BIRT to generate the report

All items should be documented on the wiki - and eventually should have enough detail to fulfill the deliverable

Proposed Prototype Ideas

What we thought the final solution would be is a custom-library enabled tool for the report design tool(and the web). it would allow administrators define custom libraries e.g. user-defiend searches, some statistics datas. and the report designer could simply drag-and-drop data fields from the library and the only thing they need to worry about is to make the report formatted. in BIRT, it has a library panel, but not availible in ireport. so the library could be also a manual book.

The library we thought is similar with what Jim said: CustomerPersistence.retrieveSavingsAccountForCustomer... e.g, for LoanStatus Report, there should be a named search: "search loans for customer" listed in the library, and also all its properites are listed in their business names below. User could select/input the properites name to the column values and set the parameters as "customer" in a report setting page on mifos.

This kind of library need time to develop, the potential solutions are:

  1. use BIRT _ report system architect needs to be changed to support BIRT format, _ add library support in mifos, find a way to adapt existing jasper reports * need to extend the BIRT(eclipse plugin), develop a library panel in BIRT which could synchronize libraries from mifos
  2. use ireport _ system architect needs to change _ a library tool/page needs to be added to mifos, just like jim said * need to find a way to let user design report in ireport without library

Open Issues

  • What about unit tests? Were any junit tests written for the jasper report of 15 March? – The report of 15 March is implemented with SQL way and reuse the current reporting framework, not java codes added. So we do not write unit tests for it.
  • What is the plan here? – For SQL way, we would suggest sqlunit for sql testing and selenium for functional testing. For custom datasource way, we could use junit to test the datasource logic and selenium for functional testing.