Follow us

on Twitter: @geraldoreports

What is Geraldo Reports?

Geraldo is a reports engine for Python or Django applications. It uses the power of ReportLab to generate reports with page header and footer, child bands, report begin and summary bands, agreggation and graphic elements, etc.

Why should I know it?

Reports are the eyes of business - specially for the chairmans - and the web is the obvious desination for all corporate softwares, like ERPs, CRMs, etc. The cloud is here and there, so, make sense you should know a good reporting engine to make your reports on the web, and on the cloud.

How can I get help?

Join one of our mailing lists or just contact us.

Why "Geraldo"?

By the way, "Geraldo" is the name of some recognized jazz/bossa/whatever musicians, but, sincerely, "Geraldo" has been chosen because "Zambrota" would be weird, you know... so, "Geraldo" is nice.

GSOC 2011 Ideas List

Hello, we are applying Geraldo to Google Summer of Code 2011 and this page is one of the requirements of submitting process.

We already had the section "Next Steps" and this list came from that. Some of ideas below will be made in the current package "geraldo" but others will be just separated projects to be part of the "whole suite", so GUI tools, Report Server, Django application, Preview tool and some of Business Intelligence new functions would be created as part of our "suite" but not necessarily in Python, and not in the framework "geraldo".

Improve documentation and website

Our website and documentation has english typos, we are also needing to improve our docs to help developers from many Python frameworks, and other languages as well. Would be very good to have somebody to help us on this job.

Table band

Our current most urgent demand. To have a "TableBand" would make easier to build reports with grids and lists with auto-adjusted dimensions. Many developers asked for this new feature.

ODF generators

Geraldo currently generates reports to PDF, TXT, Matrix TXT and CSV. But we have started a branch to make a generator for ODF formats - ODT/Word and ODS/Excel - but this branch is far to be done (maybe 5% or less finished). We need somebody to start that branch again from the scratch or just finish that, so Geraldo could generate reports for OpenOffice and convert them to Microsoft Office documents.

HTML5 generator

Another old "ToDo" is to create a generator to HTML5 format. PDF is good but to make HTML5 reports could make possible a lot of Business Intelligence tools, drill-down functions, partial loading, pagination, searching, better Android/iPhone/iPad support, etc.

XML structure generator

We have already a branch with 30%~40% of this done. This generator is important to integrate with iReport or make our visual design report tool in the future. This function could also help developer to have report templates.

Support for canvas drawing and low-level customizations

Some developers claimed Geraldo hasn't a way to use the low lever power of ReportLab. When we support ODF and HTML this will again to raise as a demand.

GUI tool for report design

To make a tool like iReport to design reports visually with no needs to write everything in the code. Our idea is to make this to work on the browser, using HTML5/JavaScript techniques so we can dream with a report server compatible with many languages and full of user-friendly tools.

Reports server with REST API

For the cloud, this could help developers a lot. I would say somebody could make money with this also. Just think on a software that uses Geraldo to make reports receiving data from other software/websites through a REST API. This would help Geraldo to be compatible with other languages to be a web standard for reporting.

Django application to make fast reports

We have a lot of spread code related to this, so if you want to refactory a bunch of code and make a good stuff, this is a job for you. Along the time, some of us made functions as consultancy job for some customers that use Geraldo and Django so those functions work together with Django Admin to make fast reports using the same ModelAdmin classes. So this idea will take advantage of those parts of code, improve them and make a strong application for Django framework. This could be made also for web2py, Zope, Pyramid and others.

GTK+/Qt/wxPython preview tool

For desktop applications, would be nice to have a preview component to show reports for users with no needs to run an external PDF viewer.

Map/reduce and incremental/asynchronous report generating

When we are generating reports with thousands of pages, we notice that memory consuming and processing are high. We probably can improve our code to get faster but it's reasonable to notice that make once PDF with thousands of pages is naturally heavy. This idea is about to split the query into many lists and use distributed processing to generate reports in many services and after that merge them all into once file. Incremental generating would be interesting to just reuse repeating stuff and use memory only for changed values.

Drill down reports

A "drill down report" is when a report links to another one. For example: if you have a summary report and another detailed report for the same data, you can link between them to explode/collapse informations. This would be possible in PDFs, but more useful in HTML5 output.

Template and styling system

To support templates and style would be nice in order to offer a nice look to our reports, also would be useful to help us to keep the DRY on. Currenlty this can be done using class inheritance/composing but this is really different, because we would like to have a set of styles in templates and set them to reports with just one command.

Floating SubReports

Nowadays SubReports are fixed to a row structure, even if they are displayed inline. This idea is about to make possible to make reports with look like Apple iWork Numbers spreadsheets. Here is a good example of that.

Business Intelligence tools

There is a lot of new functions you can build to make Geraldo better for BI. For example: improving our charts a lot, using data mining concepts, supporting advanced OLAP functions (cross-reference matrix is just a simple implementation of OLAP), etc.

Cross-reference matrix refactoring

This is an interesting function in Geraldo but it turned very complicated. We need to make a refactoring to improve it and make it easier.

Your idea here

Well, Geraldo intends to be a strong and really free concurrent for Jasper Reports, and well prepared for the cloud. You are welcome to help us with your ideas. Come and tell us about them!