← Back to team overview

openerp-expert-framework team mailing list archive

Re: On reporting systems for OpenERP

 

Hi all,

you missed two.

- ReportLab:
  * pro: Python Fast
  * cons: Only PDF
http://www.reportlab.org/

- Relatorio:
    The main aim of Relatorio was to be used in a Open Source ERP,
    OpenHexperience, but the ERP project is ended
  * pro: Python Fast, Lightweight (about 44Kb), Support: PDF, openoffice
text, XHTML
  * cons: I didn't tried it yet

I agree with Raphaël on simplifying the report syntax but this should be
in another thread.
We can summarize this into better OpenObject developer/implementor
experience thread.

--
Nicolas De Smet


Raphaël Valyi a écrit :
> 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
> <http://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
> <http://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
> <http://o.partner_shipping_id.state_id.name> or '' ]]
> into: [[ o.partner_shipping_id.state_id and
> o.partner_shipping_id.state_id.name
> <http://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
> <http://o.partner_shipping_id.state_id.name> or '' ]]
> you would rather just write:
> [[ o.partner_shipping_id.state_id.name
> <http://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
> <http://o.partner_shipping_id.state_id.name> ]]  instead of 
> [[ o.partner_shipping_id.state_id and
> o.partner_shipping_id.state_id.name
> <http://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 <mailto: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 <mailto: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
>         <https://launchpad.net/%7Eopenerp-expert-framework>
>         Post to     : openerp-expert-framework@xxxxxxxxxxxxxxxxxxx
>         <mailto:openerp-expert-framework@xxxxxxxxxxxxxxxxxxx>
>         Unsubscribe : https://launchpad.net/~openerp-expert-framework
>         <https://launchpad.net/%7Eopenerp-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
>     <https://launchpad.net/%7Eopenerp-expert-framework>
>     Post to     : openerp-expert-framework@xxxxxxxxxxxxxxxxxxx
>     <mailto:openerp-expert-framework@xxxxxxxxxxxxxxxxxxx>
>     Unsubscribe : https://launchpad.net/~openerp-expert-framework
>     <https://launchpad.net/%7Eopenerp-expert-framework>
>     More help   : https://help.launchpad.net/ListHelp
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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