Making it easier to create custom reports

Jeff Laughlin jeff.laughlin at gmail.com
Fri Apr 27 14:45:21 EDT 2012


I've had a few thoughts on how to make it easier for folks to generate
custom reports, or at least a custom appearance, without learning
Scheme. Forgive me if these have been floated or accomplished before
(and please send me the link).

My first idea is to create a pseudo "report" in scheme that
fork/exec's a program specified by the user and passes it some
arguments. E.g. I recently wrote a Python invoice printer using the
gnucash python API. I run it from the command line and pass it the URL
to my gnucash book and invoice ID. It would be convenient if I could
select it off the report menu and have gnucash pass those arguments
automatically. The program could even return HTML to gnucash via
stdout. Would that not be trivial for a scheme programmer to create?

My second idea is similar but even easier for the report generator.
Again write a pseudo "report" in scheme that takes all of the report
data and serialises it to JSON or XML. Then it could fork a new
process, pass the serialized data to it via stdin, and again
optionally receive HTML from stdout for display. Now the programmer
doesn't have to know anything about the gnucash API or scheme and can
handle report presentation in the language of their choice without
requiring gnucash bindings.

Both of these ideas seem very doable and in keeping with 'nix
philosophy. Are there any scheme programmers willing to volunteer
their efforts?

-- 
73 de n1ywb


More information about the gnucash-user mailing list