about that restructuring, and .scm files

John Ralls jralls at ceridwen.us
Tue Aug 8 13:21:55 EDT 2017

> On Aug 8, 2017, at 6:02 PM, Christopher Lam <christopher.lck at gmail.com> wrote:
> Regarding adding new reports
> Apologies if this is the worst time to ask, but I believe I have fixed some
> scheme reports which can be plugged in the following folders. I've tested
> in Windows and Ubuntu and they seem to work well. It'll belong in Report >
> Collected Reports, and would make a nice addition to 2.8 release.
> - scm/gnucash/* will hold gnctimeperiod-utilities.scm and
> report-other-menu.scm
> - scm/gnucash/report/standard-reports/* will hold new reports
> Unfortunately I cannot identify the proper source for the scm/gnucash/*
> folder - it seems to accumulate files from src/engine, src/scm... I guess
> src/scm is the right one? I don't know how to build from source to test.


No, it's a good time to ask.

scm/gnucash collects all of the guile binding code from the various modules. I don't know what "timeperiod-utilities" is supposed to be, but it sounds like it should be an extension of src/engine/gnc-date.cpp. We want to use the same date code throughout GnuCash so whatever you need in timeperiod-utilities should be written in C++ and should wrap boost::date_time to hide the implementation (so that we can easily switch to another implementation if e.g. the C++ committee adds something to the standard library or we decide that ICU provides a better fit) and then provide Guile bindings via SWIG to support your report changes.

It would be a good idea to get a PR up so that we can give you more detailed guidance.

John Ralls

More information about the gnucash-devel mailing list