Report designer

Hi there,

I’m about to embark on writing some kind of report designer/generator in Rails and was wondering if anyone had done anything like this before and could give me some pointers. The output format will usually be CSV.

It seems to me that the process can be split up into a few separate parts.

  1. Data gathering. I am planning to do this by letting the user define a set of ‘rules’ which each return a bunch of objects, similar to what Trac allows you to do. The data to be used in the report can be retrieved by joining the result of all the rules. I’m not convinced this is the best approach.

  2. Layout. For CSV, this is simply the columns they want to have displayed. This could be done with a bunch of pre-defined columns that they can tick, or possibly generated from the columns of the model. I also may allow advanced and trusted users to define columns with snippets of Ruby code. Very dangerous I know, but it might be worth it.

  3. Generating the CSV. Pretty straight forward. Could use Ruport for this.

Any advice, links to existing projects etc… would be most appreciated.

Thanks,
-Jonathan.

Take a look at ActiveWarehouse: http://rubyforge.org/projects/activewarehouse/

This is an open source plugin for Rails which helps with the creation of data warehouses. One part of that is the presentation of the data including support for drill down on both axis of the report. The project is fairly new but I should be coming out with a first release in the next week or two, once I’ve fixed the auto aggregation functionality.

It may not be exactly what you are looking for, but feel free to email me if you have questions or if it is of interest.

Sincerely,
Anthony Eden