BIRT reporting

I'm looking at doing some reporting from KNIME. The BIRT reporting node makes a nice start on this but what I really want to do is customize the built in grid report to add custom colors to the cells, and perhaps graphs etc. using the BIRT report designer. So my question is:

1. Is it possible to invoke BIRT to customize the rptdesign file that the node generates and then save a customized report design to the Node?

If not, why not? Just from looking at the code it looks like it would not be hard to make the node do this if it does not already. Specifically:

1. Change the node config so that it has two buttons: (a) Generate an initial rptdesign file (what the code does now). (b) Open the existing rptdesign file in BIRT.
Then just change the node so that it saves/reads the rptdesign file for its settings.

2. Change the execute method so that it simply saves the input data as a csv file and runs the existing rptdesign file.

I think these should be fairly small changes, but it would make the node so that the full power of BIRT could be used rather than just the default report format. So has anyone else thought about this? Or is there already a way to customize the existing node reports that I am simply missing.

Thanks,

Corwin Joy
Life Biosystems

Hi Corwin,

We know that reporting is rather basic in KNIME and that there is a need out there for more features. But, once again, it is a matter of resources when we can address this issue.
But we are definitely going in that direction. Some time.

From what you said, it sounds like it would be an option to just write out the data in a csv file (via the CSV writer), and use BIRT then on this to genereate the reports.
Our nodes are not customizable in that way, unless you are not afraid of getting your hands dirty in the Java code. Also, it seems to not really make sense to us to incorporate an external rptdesign file, as this would heavily depend on the incoming data and its structure.
I agree, the reporting nodes must be much more flexible and customizable, but in a more general way that works with all kinds of data.

Best regards,
- Peter.

Hi Peter,
Thanks for the response. Yes I had in mind modifying the Java source for the BIRT node. The idea of having a modifiable report design is usually how things are done in all the report writers I have seen. Generally, they have a wizard to create an initial report & attach the report to the input data table which is how I would see evolving the current BIRT node so that it basically becomes that wizard for the initial report design. (The .rptdesign file itself then gets stored as a binary inside the node configuration properties so that it can be saved/read with the node). Then, once the rptdesign has been created, the execute method on the node just has the job of saving the input data to a csv file and running BIRT with the existing rptdesign file. You are right that once you start customizing the report it begins to depend on a particular input table format but that is the usual tradeoff with reporting, more specific field names, descriptions and summaries in exchange for a better report. The only alternative that I am aware of to this is to set the intelligence for how data is displayed at the object level, so that you grab formatters for how objects are displayed that are independent of a single report. FRESNEL does this, for example, (http://iswc2006.semanticweb.org/items/Bizer2006kl.pdf). But I doubt the simple table structure in KNIME will support such an idea so I think you will end up with a report writer type design. Anyway, for the moment I have solved my problem by creating a better table viewer node which I will post on a different thread.

Thanks,

Corwin

Peter wrote:
Hi Corwin,

We know that reporting is rather basic in KNIME and that there is a need out there for more features. But, once again, it is a matter of resources when we can address this issue.
But we are definitely going in that direction. Some time.

From what you said, it sounds like it would be an option to just write out the data in a csv file (via the CSV writer), and use BIRT then on this to genereate the reports.
Our nodes are not customizable in that way, unless you are not afraid of getting your hands dirty in the Java code. Also, it seems to not really make sense to us to incorporate an external rptdesign file, as this would heavily depend on the incoming data and its structure.
I agree, the reporting nodes must be much more flexible and customizable, but in a more general way that works with all kinds of data.

Best regards,
- Peter.

Hi

You may be interested in the approach to reporting adopted by Recito an eclipse based front end to Ptolemy http://www.sp-process.it they have produced a set of nodes that integrate the open office engine to produce the reports, I've produced a similar set of nodes using BIRT report engine for a stats dissemination system.
There seems to be some common ground between the two projects it should not be too difficult to port Recito nodes into Knime certainly worth a limited trial

--
Regards

Tony Kennedy

Hi Tony Kennedy,

thank you very much for this useful hint. I've looked at it and at the first glance it indeed seems worth evaluating it.

Regards,

Fabian