I am thinking about moving reporting of TimeSlotTracker to well known JasperReports framework (http://www.jasperforge.org/jaspersoft/opensource/business_intelligence/jasperreports/documentation.html).
Currently reports are generated using xslt. I though it is a good solution, but I see that it's hard to prepare a new ones. I think the main problem is grouping and sorting data using xslt, which is non friendly and supports it.
I see it as a additional feature, next to the current one, so todays reprots will still works.
I think using Jasper Reports adds much more power with reporting. I hope you will be able to prepare more reports and you will share them with others.
I think they can be based on currently prepared temporary xml (so the starting point will be the same), but grouping, sorting, making crosstab, charts and other graphics, styled text will be much, much easier.
Additionaly, you will be able also to use the free iReport java software to design report!
Now you have the ability to say if you like it, what you want to see in this solution, etc.
And of course, any reports (jrmxl files) which you made based on current temporary xml data source file (source for xslt) are very welcome!
I hope you like it and you give me some points and ideas for this! Please post a reply!
What type of datasource we will use for jasper reports?
JRBeanCollectionDataSource or similar?
I am not sure, I am thinking also about custom JRDataSource provider. It can give an extra flexibility. But it's just starting thinking process, so I am just not sure.
I think, the source for this reports should be still the temporary xml file (not the data file one) used currently. It contains filtered data as well as calculated time in branches.
The more important thing is that the reports should be easy to add by end-user, acting like plugins. If one get a nice report from friend or net he should just add it via some menu and that's it. It's ready to use. :)
best regards, zgibek
Jasper Reports is really nice in producing canned reports, a slightly more lightweight functionality would be to be able to create the report functionality using Groovy. It has pretty decent support for templating (and transforming object graphs or xml into other formats), you can sort (and invoke any other type of Java functionality in it), and it can be used in other areas of the application as well. Certainly, creating a new layout is not as snazzy as w/ Jasper (e.g. no GUI editor), but it would be very familiar to anyone who has worked with JSP (or a similar type of technology - e.g. Velocity, FreeMarker, etc).