[reportlab-users] Advice on switching from XSL-FO (FOP) to ReportLabs

David Fraser reportlab-users@reportlab.com
Fri, 31 Oct 2003 16:24:01 +0200


Felix McAllister wrote:

> Hi,
>
> We're in the middle of developing a large ERP system, a big component 
> of which is a reporting module. Early on, we chose XSL-FO and FOP to 
> automate the generation of all our reports into PDF format. (We're 
> using FOP because it is free: we can't afford expensive commercial 
> systems). We have about 250 reports to do. The data comes from a SQL 
> Server database in an XML format. Our experience with the 10 or so 
> that we've implemented using FO has lead us to the following conclusions:
>
> 1. XSL is tedious to program in and difficult to debug.
> 2. Because of the limitations of XSL as a programming language, we've 
> had do 'pipeline' the processing in certain cases to generate the 
> end-result FO file. (XML -> XSL-1 | XSL-2 | XSL-3 -> FO file)
> 3. This makes the development time for a report quite long.
> 4. Reuse of code between reports is difficult or non-existant.
> 5. FOP is slowish. For most of the time, that doesn't matter (e.g. it 
> takes 5 seconds on a server to generate an invoice). However, we have 
> a couple of large batch jobs that will process tens of thousands of 
> documents that must run within a 12 hour period. At 5 seconds per 
> invoice, 20,000 of them will take 27 hours.
>
> We're currently evaluating other free and open-source tools. We've 
> played around with the ReportLabs demos and are impressed, especially 
> with the speed of execution, so we're asking if anyone familiar with 
> the ReportLabs toolkit could give us some advice/pointers.
>
> Our main areas of concern are:
>
> * Reducing development time.
> * Increasing re-use among reports.
> * Increasing speed for batch processing ( although I don't think this 
> will be an issue from what we've seen)
>
> Thanks,
>
> Felix McAllister.

Our experience with reportlab to generate reports dynamically over the 
web is as follows:
- The API is good for creating reports, especially using Platypus
- The mailing list is a very helpful support resource, and it being open 
source is wonderful - you can make changes/enchancements where 
neccessary, and these are often included.
- There are some problems with auto-sizing tables that span across 
multiple pages. This is an issue that we encountered because of 
dynamically generating reports where we do not know column & row sizes 
etc... There are discussions on how to resolve these...

Hope that helps
David