Re: [Openledger-developer] Random jottings
Brought to you by:
klavs
From: Tony F. <to...@sy...> - 2005-03-19 21:27:58
|
On Sat, 2005-03-19 at 03:49, Jacques Chester wrote: > Klavs Klavsen wrote: > > Perhaps you'd like to start this restructuring? > > Once it is done, we can register it on CPAN :) > > Is this the bit where I turn out to be a flake who talks > too much? Probably. :) hmm... I guess this is the place where I get off my butt and get around to contributing the UML I said I would ages ago. I finally uploaded it. You can have quick look here: http://openledger.sf.net/Business-Ledger/class_diagram.png Or you can download the Dia source here: http://openledger.sf.net/Business-Ledger/class_diagram.dia > Just spit balling a rough hierarchy (someone with more > accounting nous would be a help in this bit) > > > Business::Accounts:: > Account > ::Group > ::Payable > ::Receivable > Chart > Invoice > Quote > Order > Transaction > User > ... > Ledger:: > Driver:: > SQL-Ledger > GNU-Cash > ... > > In particular, the Ledger module (or Storage, or Backend, > or whatever it should be called) would provide a generic > interface for storage. So: > > > Account ...Ledger ...Driver::SQL-Ledger > | | | > | | | > ->commit() | | > | | | > +------------>commit($self) | > | | | > | +--------------->commit($account) > . . . > > Most of the magic involved in a driver is mapping the > internal data of a given object to its particular backend. > For SQL-Ledger that would involve, one can suppose, direct > intervention with the database. For GNU cash it would > spit out XML, and so on. This is basically the same approach I took. I just have a few slightly different names. Like I chose Backend instead of Driver. -- Tony Fraser to...@sy... Sybaspace Internet Solutions System Administrator phone: (250) 246-5368 fax: (250) 246-5398 |