Intuitive User Interfaces for Report Designer GSoC 2013 Project Plan

Abstract

The Reporting Module provides to the OpenMRS user the ability to get data from the software in a readable and friendly way, such data can be presented in different formats. These types of Report Renderers share a generic user interface instead of having one per renderer that suits the characteristics and configuration options of each one. This project aims to solve this not only by creating a user interface for each renderer, but also by allowing extensibility.

 

Implementation Plan

This project will be carried out in two main stages, having the midterm evaluation as a reference point.

Phase 1 – June 17 to July 26

The main goals of this phase are as follows:

Timeline

June 17 – June 21

Goals for the week:

  • Design mockups for the report definition editor and report design editor UIs with the DelimitedTextReportRenderer custom UI plugged in. Ask for approval

  • Start to work on the new bean for the DelimitedTextReportRender

Blog post: http://wp.me/p3A6ke-h

June 24 – June 28

Goals for the week:

  • Continue to work on the modifications to the DelimitedTextReportRenderer

  • Start to work on JSP page and controller

Blog post: http://wp.me/p3A6ke-o

July 1 – July 5

Goals for the week:

  • Continue to work on the JSP page and controller.

  • Integrate the new custom UI  with the report definition editor and report design editor UIs.

  • Test and document changes.

Blog post: http://wp.me/p3A6ke-z

July 8 – July 12

Goals for the week:

  • Start working on the migration script

  • Test and document changes.

Blog post:http://wp.me/p3A6ke-H

July 15 – July 19

Goals for the week:

  • Design mockups for the generic UI for all non-configurable report renderers. Ask for approval.

  • Work on the JSP and the controller for this type report renderer.

Blog post:http://wp.me/p3A6ke-M

July 22 – July 26

Goals for the week:

  • Integrate the new generic UI  with the report definition editor and report design editor UIs.

  • Test and document changes.

Blog post:http://wp.me/p3A6ke-R

Phase 2 – July 29 to September 13

The main goals of this phase are as follows:

  • Merge the XlsReportRenderer and the ExcelTemplateRenderer into a single ExcelRenderer and work on its custom UI.

  • Work on the custom UIs for the CohortDetailReportRenderer.

  • Work on the custom UIs for the TextTemplateRederer.

Timeline

July 29 – August 2

Goals for the week:

  • Design mockups for the custom UI for ExcelRenderer. Ask for approval.

  • Merge the XlsReportRenderer and the ExcelTemplateRenderer into a single ExcelRenderer.

Blog post:

August 5 – August 9

Goals for the week:

  • Start to work on the JSP and the controller for this type report renderer

  • Start integrating the new custom UI  with the report definition editor and report design editor UIs.

Blog post:

August 12 – August 16

Goals for the week:

  • Start to work on the JSP and the controller for this type report renderer

  • Start integrating the new custom UI  with the report definition editor and report design editor UIs.

  • Test and document changes.

Blog post:

August 19 – August 23

Goals for the week:

  • Design mockups for the custom UI for CohortDetailReportRenderer. Ask for approval.

  • Start working on the JSP and controller for this type of renderer.

  • Work on integrating the new custom UI to the current UIs

  • Test and document changes.

Blog post:

August 26 – August 30

Goals for the week:

  • Design mockups for the custom UI for TextTemplateRederer.. Ask for approval.

  • Start working on the JSP and controller for this type of renderer.

  • Work on integrating the new custom UI to the current UIs

  • Test and document changes.

Blog post:

The next 2 weeks are being kept for any unpredictable delay. In case everything goes as expected these 2 weeks will be used to work on the extra credit section.

September 2 – September 6 
September 9 – September 13 
September 16 – September 20

Goals for the week:

  • Finish documentation and perform an overall testing. Work on the details exposed on the tickets listed in the project page.

Blog post:


Extra Credit

  • Integrate the Birt report module as a renderer.

Deliverables Summary

  • A new report design section for each report renderer.
  • Integration of the Birt report module.
  • Documentation about how to get the most of the designing report section.

Current Status of the Project

Currently the following changes were made:

  • Custom user interface for all non-configurable renderers: SimpleHtmlReportRender and XmlReportRenderer.
  • Custom user interface for the CsvReportRenderer and TsvReportRenderer.
    • Solved a bug that didn’t allow to update the properties properly.
    • Solved a bug with the after column delimiter.
  • Custom user interface for the ExcelTemplateRenderer and the XlsTemplateRenderer.
    • Merged the Excel and Xls renderers and deprecated the ExcelTemplateRenderer class.
  • Custom user interface for the TextTemplateRenderer.

What’s next.

  • Add a preview section to the UI of the TextTemplateRenderer (under code review)
  • Custom UI for the CohortDetailReportRenderer.
  • The extra credit of adding a place to plug the Birt report module.

Most of the code has been merged and it is in the released version 0.8 of the reporting module.

Here is a complete documentation of all the changes made to the Report Designs section.