Aeroo Reports for OpenERP 5 & 6
Would like to announce completely revised version of "report-openoffice" - more than a OpenOffice.org reporting package for Open ERP - Aeroo Reports. Despite fair report_openoffice performance characteristics during last year, we saw great space for improvements.
The reporting engine was falsely mixed up with Report Designer by Open ERP SA, as well as the engine itself has overgrown itself. As of several last releases it can create almost any report type (ODT, MS DOC, PDF, HTML, TXT, XML, EPL2, etc.). So it needed really distinguishable, new name – Aeroo Reports. This name will be used for further reference to this and new versions of the reporting engine.
Aeroo Reports is available for installation on both OpenERP v5.x and OpenERP v6.x of servers. Both branches are functionally identic and share the same version of Aeroo Reports Library.
Along with re-branding there were many other changes in the module and it's surroundings. The most significant was to move Open ERP's module to a specially reworked version of back-end library – Aeroo Library. Aeroo Library is a fork from Relatorio, which allowed us to consolidate the code and implement the improvements and fix several bugs that was not possible with Relatorio. We also removed dependency on PyCha and Tex.
The reason for removing PyCha support was, that charts are rarely used on reports, and for OOo templates there is no need for external charting library, as there are more mature charting features already present in OpenOffice.org. For more reference on charting please compare PyCha (http://bitbucket.org/lgs/pycha/wiki/Home) features, with those provided by OpenOffice.org Char II (http://wiki.services.openoffice.org/wiki/Documentation/OOo3_User_Guides/Calc_Guide/Gallery_of_chart_types). If there is still a need of PyCha module there is always an option to use the parser for this purpose.
Although Aeroo Library has been created specially for Aeroo Reports, we left both of them independent, so other software that uses Relatorio library, can easily migrate to Aeroo Library. So was it a fork or completely new library? Yes and no, we based the Aeroo Library on the work done by Relatorio project, still code base has changed and has grown substantially. The new version of the software has undergone major rework and redesign, to meet the goals and sustain a future growth.
Aeroo Library has native support for OpenOffice.org 3.X documents, and better overall Open Document (ODF) standard compliance, remember that ODF is not just about OpenOffice.org (http://en.wikipedia.org/wiki/OpenDocument_software).
Aeroo improvements and changes:
- Moved from Relatorio to Aeroo Library (rework of Relatorio);
- Speed improvement for at least 2 to 3 times by consolidating and moving several parts of the code down to the Aeroo library;
- Template preloading feature for little performance tuning, yet space for future improvements left;
- Additional and relevant output types for reports (odt -> odt/doc/pdf, ods -> ods/xls/pdf), aka document-converter (https://blueprints.launchpad.net/report-openoffice/+spec/documentconverter);
- Export feature aka Printscreen any OpenERP view to ODS / XLS / PDF;
- Improved stylesheet application options;
- Improved performance of stylesheet application;
- Improved Report's view;
- Separate menu branch for Aeroo Reports, Aeroo Stylesheets -> Administration/Customization/Aeroo Reports/...;
- New wizard - "Remove print button";
- New barcode type supported - code39;
- New set of extra functions - counter;
- Easier to use native OOo charts;
- OOo connection cache.
Aeroo bugfix:
- Removed unneeded double report creation, when reporting on single object + Save as attachment enabled;
Aeroo library improvements over Relatorio:
- Non valued field does not need to be checked before output, safely write <o.name>, instead of <o.name or ''>;
- Non valued field in the chain does not need to be explicitly handled, safely write <o.partner_id.name>, instead of <o.partner_id and o.partner_id.name or ''>;
- Retains original formatting of textual data, for example, OpenERP text field now retains spaces, tabs and newlines;
- Improved data type guess for table cells;
- Style-sheet application moved to the library, for performance reasons;
- Makes use of ODF meta information;
- Native handling of "Input" fields on the library level, no more performance loss;
- Better control over report rendering process;
- Support for template preloading;
- Changed "relatorio://" to "python://" in hyperlink directives for clarification purposes;
- Support for Python's list manipulation methods (append, pop, insert, remove) by eliminating double and triple execution;
- Support for Python's "listiterator" data type;
- Removed rarely used PyCha (use OOo charts instead) and Tex dependencies, for easier installation;
Aeroo Reports Library bugfix over Relatorio:
- Fixed triple execution of directives when placed inside table cells;
- Fixed double execution of directives for inserting images;
- Fixed Launchpad bug report #610787 (https://bugs.launchpad.net/report-openoffice/+bug/610787);
- Fixed missing ODF manifest information;
- Fixed potential security breach, by replacing python directive in frame's name to the "Aeroo Picture " string;
- Proper handling of <meta:generator> tag (definition for user-agents in the HTTP protocol as specified in section 14.43 of [RFC2616]);
- Gracefully leave empty frame if image does not exist, instead of throwing error;
OpenERP module and the Python library
Aeroo Reports' Launchpad project - https://launchpad.net/aeroo
Aeroo Reports Library's Launchpad project - https://launchpad.net/aeroolib
Why separate? The Aeroo Reports Library is independent reporting library for python language, so it can be used in other applications, not limited to OpenERP. It means that it is to be installed like an ordinary python library.