The future of custom reports

hendrik at topoi.pooq.com hendrik at topoi.pooq.com
Wed Jan 28 10:40:20 EST 2009


For a few years now I've had a rat's nest of C++ code that generates the 
particular reports I've needed.  They're highly specific;  I doubt they 
are of interest to others.  They read the unzipped XML gnucash file.  
I'm looking at modifying this code yet again. or replacing it.  In any 
case, I'll have toe replace it in a few years when gnucash moves to a 
real data base, unless there's a retrofit available that dumps the 
entire data base in XML format.

Incidentally, I think that retrofit would be useful.  I suspect I'm not 
alone in having code that reads XML and massages it.

But I have a bit of time this month, and replacing the code may be an 
option.  So it's time to ask -- what's the official interface for 
reporting in gnucash?  I've seen a few hints that it consists of writing 
code in guile, but no detailed specs.

One web page on the matter, 
http://www.gnucash.org/docs/v1.6/de_DE/t6797.html says under "accessing 
engine data":

        The functions used to access the various forms of accounting
        data may be found in the file  src/g-wrap/gnc.html.

        Need some examples here...

Looking in the online source code, 
 at http://svn.gnucash.org/trac/browser/gnucash/trunk/src, I see no 
directory g-wrap.

Now I'm not afraid of Scheme (it's one of my favourite languages, and 
I'm looking forward to renewing acquaintance with it), although I'm not 
specifically familiar with guile.

But I seem to remember reading of a desire by the devalopers to 
eliminate guile from gnucash and thus simplify the build-requirements 
for gnucash (which have been daunting in the past.  I remember 
struggling with it years ago; now I find it easier to just apt-get the 
Debian package).

Is guile going to continue to be the preferred way to write report 
generators?

* If so, where are the relevant API's defined and documented?  WIll it 
be 
possible to use text formatting notations other than HTML?  (There are 
some really nide XML-based document generators, for example)

* If not, what is replacing guile?  And will it be possible to build 
those report generators independent of building gnucash (I don't need to 
run them independent of gnucash -- just to build them.)

Of course, in the short run I can still hack up the rat's nest some 
more.

-- hendrik


More information about the gnucash-user mailing list