← Back to team overview

openerp-expert-framework team mailing list archive

Re: On reporting systems for OpenERP

 

Hello Albert and all,

Albert I think you summed up correctly pros and cons of the several
reporting technology. IMHO you might have missed BIRT. I think BIRT (
http://download.eclipse.org/birt/downloads/examples/misc/BIRT2.1Demo/EclipseDemo.html)
is a bit similar to Jasper/IReport but is better and I would rather
see it
as the Java reporting engine rather than Jasper, but that's a minor
consideration.

just a remark, the talk we had recently with Sharoon had two points
essentially. No matter the reporting engine, we think that tweaking a bit
Python evaluation and the OpenERP ORM, at least in the context of a report
could dramatically improve the user experience.
The whole idea behind it is that if a power user could design their report
themselves without really being a programmer, integration cost would drop
dramatically.
Currently, my experience is that you need to have too many programming
skills for that to be true.

Let's take a concrete example:

This is a real example from order.rml:
[[ o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name or
'' ]]
With two changes, we could actually cut this down too just:
[[ o.partner_shipping_id.state_id.name ]]  which is user friendly.

1) You will never want to write "False" report. At least I propose a boolean
expression evaluated to False is always casted to "" in reports by default.
If you really want to print "False", then you would need to explicitly tell
it with something such as [[ not my_expression and "False" ]]. No problem to
make this a bit more harder as this is very unlikely you would want that.
This change alone allows to change: [[ o.partner_shipping_id.state_id and
o.partner_shipping_id.state_id.name or '' ]]
into: [[ o.partner_shipping_id.state_id and
o.partner_shipping_id.state_id.name ]]


2) Expression evaluation could just break silently when trying to browse
some attribute from None/False
So instead of useless caution such as:
[[ o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name or
'' ]]
you would rather just write:
[[ o.partner_shipping_id.state_id.name or '' ]]
if o.partner_shipping_id is False, then evaluation of the chain is evaluated
to False (so casted to "" if we have point 1), end of the story, no
exception, no hassle.


Now, combine 1) and 2) together and you have:
[[ o.partner_shipping_id.state_id.name ]]  instead of
[[ o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name or
'' ]]


Multiply that small win by all the occurrences of awkward Python expressions
in an average report and you pass from something that sucks to something
that is very user friendly.

Finally I think the sxw -> RML > pdf engine could be fixed a bit to be
WYSIWYG enough for most use. Currently it's very impredictible. Depending on
the level of table nesting you have, your cells will suddenly have borders
you cannot remove and all sort of such things that make it unpractical for
non programmer users used not to track the worst bugs even by dumb dichotomy
when required.


Those are my current wish for a better report engine, no matter the template
technology. I didn't though too much about how to implement it concretely.
But please before all, what do you think about those ideas? Do you think we
can have this cleanly for 5.2?

Raphaël Valyi
http://www.akretion.com



On Mon, Dec 7, 2009 at 8:30 PM, Sharoon Thomas
<sharoonthomas@xxxxxxxxxxxx>wrote:

> RML: I doubt if its fast for bigger reports :(
>
> I use open office reports: Its slow but a big advantage is WYSIWYG.
>
> mako and cheetah can be used to generate html, txt, csv etc too. (XLS and
> ODT will be very indirect). Disadvantage: Extremely difficult to get it into
> a PDF
>
> jasper reports: I love it, except for the Java dependency.
>
> Can we also discuss about what happened to the BI? Will it be merged with
> trunk for 5.2?
>
> On Mon, Dec 7, 2009 at 10:16 PM, Albert Cervera i Areny <
> albert@xxxxxxxxxxx> wrote:
>
>> A Dilluns, 7 de desembre de 2009, Albert Cervera i Areny va escriure:
>> > RML
>> > Advantages: tightly integrated, python, fast.
>> > Disadvantages: lacks a good designer
>> >
>> > OpenOffice
>> > Advantages: designer, output in PDF and ODT
>> > Disadvantages: slow (not sure about that, please those with experience
>> >  speak- up), depends on openoffice on the server
>> >
>> > Cheetah
>> > Advantages: python, fast
>> > Disadvantages: no designer, HTML only
>> >
>> > Mako
>> > Advantages: python, fast
>> > Disadvantages: HTML only
>> >
>> > Jasper Reports
>> > Advantages: designer, fast, output in (PDF, ODT, ODS, XLS, TXT, RTF,
>> DOC)
>> >  with  several levels of quality, though.
>> > Disadvantages: java based
>> >
>>
>> Ups! I missed the fact that Mako lacks a desginer too:
>>
>> RML
>> Advantages: tightly integrated, python, fast.
>> Disadvantages: lacks a good designer
>>
>> OpenOffice
>> Advantages: designer, output in PDF and ODT
>> Disadvantages: slow (not sure about that, please those with experience
>> speak-
>> up), depends on openoffice on the server
>>
>> Cheetah
>> Advantages: python, fast
>> Disadvantages: no designer, HTML only
>>
>> Mako
>> Advantages: python, fast
>> Disadvantages: no designer, HTML only
>>
>> Jasper Reports
>> Advantages: designer, fast, output in (PDF, ODT, ODS, XLS, TXT, RTF, DOC)
>> with
>> several levels of quality, though.
>> Disadvantages: java based
>>
>>
>>
>> --
>> Albert Cervera i Areny
>> http://www.NaN-tic.com
>> Mòbil: +34 669 40 40 18
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openerp-expert-framework
>> Post to     : openerp-expert-framework@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~openerp-expert-framework
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>
>
> --
> Sharoon Thomas
> Business Analyst & ERP Consultant
> http://bit.ly/5FAJKU
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openerp-expert-framework
> Post to     : openerp-expert-framework@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openerp-expert-framework
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References