[GNC-dev] Report System Rework

John Ralls jralls at ceridwen.us
Thu Jun 7 16:22:17 EDT 2018



> On Jun 7, 2018, at 1:14 PM, John Ralls <jralls at ceridwen.us> wrote:
> 
> 
> 
>> On Jun 7, 2018, at 12:49 PM, Carsten Rinke <carsten.rinke at gmx.de> wrote:
>> 
>> Hi,
>> 
>> this takes up a discussion with John and Christopher in PR#360 (and I am happy to see that is was merged :-D )
>> 
>> As the discussion turned away from the actual proposal of a test for the report definition, I'd suggest to move it to this channel.
>> 
>> John:
>> You were mentioning that you and Christopher are reworking the report system.
>> I had in mind to create even more PRs with test proposals for the report system (in response to Bug787401 which becomes a bit difficult now that the bug is closed ;-) ) and I wonder:
>> Is this idea still worth while?
>> Do you already have an idea about what is going to change?
>> 
>> Christopher:
>> Regarding your question below:
>> I think the report definition is triggered at the very beginning when the moduels are loaded.
>> inner_main triggers libgncmod_report_gnome_gnc_module_init (gncmod-report-gnome.c)
>> this triggers to load guile module "gnucash report standard-reports" (standard-report.scm)
>> this triggers to load all standard  reports
>> this triggers that (gnc:define-report) is called per report
>> -> it has nothing to do with html rendering
>> 
>> If you take the changes from PR#360 and comment out the report ID in the call to gnc:define-report from any standard report, you will see that an "ordinary" pop-up window is created.
>> 
>> -Carsten
>> 
>> 
>> 
>> -------- Weitergeleitete Nachricht --------
>> Betreff: 	Re: [Gnucash/gnucash] Bug787401 test report definition (#360)
>> Datum: 	Thu, 07 Jun 2018 03:47:52 -0700
>> Von: 	Christopher Lam <notifications at github.com>
>> Antwort an: 	Gnucash/gnucash <reply+026075fc968723c48c7d3e323241b33bf8470a850e163f0c92cf000000011730cf5892a169ce139994a3 at reply.github.com> 
>> An: 	Gnucash/gnucash <gnucash at noreply.github.com>
>> Kopie (CC): 	GnuFiBux <carsten.rinke at gmx.de>, Author <author at noreply.github.com>
>> 
>> 
>> 
>> I can understand the need to remove gui calls but not entirely sure exactly how the |(gnc:define-report)| is being called. I know they're being triggered with every report code e.g. at the end of transaction.scm, but not sure what exactly is causing the transaction.scm to be run. So, where will the gui error message be stated? As a html report perhaps?
> 
> Carsten,
> 
> You don't need a bug report to submit a PR. If you're motivated to keep adding tests for the report system by all means do!
> 
> As to what will change, Geert and I have discussed some general directions and Chris has been working away at some things that interest him, see [1].
> 
> We'd like to better separate the data retrieval and summarization from the presentation, perhaps with an intermediate format. We'd also like to be able to use something lighter and more portable than WebKitGtk for in-program report presentation and to support report file output in formats other than HTML and whatever WebKitGtk lets us print (that's how the PDFs are created and explains why pagination is a problem: HTML doesn't know about pagination).
> 

Carsten,

Some more general issues:

There is a *lot* of duplicate code in the standard reports that needs to be extracted into common support code.

We'd like to make it easier for users to generate custom reports. Having to learn to program in Scheme sets the bar *way* too high for most users. Ideally we'd have a Query-by-example UI similar to Microsoft Access or the old Borland Paradox for data selection and
simple selections for summarization and styling. The results could be stored in some form that's easily human-editable and machine readable like YAML, INI, or XML.

Regards,
John Ralls


More information about the gnucash-devel mailing list