Design Docu - Archtitecture

Christian Stimming christian at
Sat Sep 27 17:15:52 EDT 2014

Hi Carsten,

thanks  a lot for going those next steps towars some architecture 
documentation that is really worth its name. By now I've also found enough 
motivation to start to add my own edits in those texts. I've just modified 
your text from the original texi documents and added a bunch of statements to 
describe the deviation of the current source code status in comparison with 
the original (lofty) goals.

In fact the original text is only in parts helpful anymore. The original text 
stated "the engine" is some single instance that does the coordination between 
the model and the view. Unfortunately there is no single instance that does 
this described coordination, and it is also not called "the engine". What do 
we do with this section in the text...?

There is some coordination between the model and the view through the 
qof_event framework, in particular any create/update/delete event of Account 
or Transaction. There is also some coordination between the model and the view 
through the g_signal's that are sent between various g_object's involved, but 
I don't know any details here. Clearly both are useful concepts, but 
conceptually those are "just" part of the "Controller" concept, not of some 
extra instance that might be called "Engine" or whatever.

The name "the engine" in current gnucash IMHO just refers to the content of 
the src/engine directory. This in turn IMHO contains a bunch of different 
things, such as the majority of the major data structures (but clearly not all 
- src/libqof contains the rest) and some guile - C wrapper issues, and some 
whatnot thingies. Maybe the description of the gnucash architecture should 
rather start with those different modules? I don't know, too.



Am Samstag, 27. September 2014, 22:14:03 schrieb Carsten Rinke:
> Hi,
> I made a first step in updating the documentation of the GnuCash
> Archtitecture:
> My idea is to go through the "old" chapter of Architectural Goals and
> transfer parts of it into this "new" chapter where these goals shall be
> described as facts. Goals that are no facts remain in the "old" chapter
> (unless these are no valid goals anymore).
> Every now and then (and probably in small steps) I will come back here
> to the mailing list to double check my understanding and to get hints
> whether I am thinking totally off track.
> If what you see in the link above is somewhat hitting the truth, I would
> continue drilling down into the Model (and then come back again).
> Is it somewhat hitting the truth?
> Kind regards,
> Carsten
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at

More information about the gnucash-devel mailing list