GnuCash design / new features

Neil Williams linux at codehelp.co.uk
Fri Oct 28 17:06:46 EDT 2005


On Friday 28 October 2005 4:58 am, Brian Rose wrote:

(switched to devel)

> And budget support.

Chris Shoemaker has been working on this, it's just been added to G2.

> Also, what would happen if the engine and
> functionality was separated from the GUI?

I'm working on that. QOF is the GnuCash engine without the financial objects 
and that has been spun out of GnuCash.
http://qof.sourceforge.net/

The financial functionality is being separated from the GUI too - the objects 
(Accounts, Invoices etc.) are to be shared with cashutil:
http://linux.codehelp.co.uk/cashutil/

What needs to follow is the financial logic - only part of which is currently 
embodied in the objects. CashUtil will be folded into the gnucash sources but 
ONLY after the Gnome2 port is released.

> Then provide good docs and an api for building a
> frontend using a web page, KDE, Gnome2,
> OS X, 

1. OSX already has GnuCash via X11 and Fink (there could be licence problems 
with a native Cocoa port and it is not being considered).
2. KDE can run GnuCash if the Gnome libraries are installed. KDE also has it's 
own alternatives to GnuCash.
3. The web page idea is FAR more difficult than you may imagine and NONE of 
the work above even comes close to a HTML/PHP/Perl front end. I've done work 
on QSF (XML) which *could* be used to render GnuCash (and other QOF) data as 
HTML for purposes of data mining and customised reports but that's definitely 
as far as it goes.

> ... Secondly why not provide similar support 
> for extensions like Mozilla has, that can
> be easily installed by the user?

1. GnuCash 1.8 has it's own module system because the Gnome1 libraries didn't 
do what was needed. Gnome2 libraries (in particular GModule) can but this 
work has only been done so far for the backends. Plugins for backends are 
part of my plan for QOF and therefore GnuCash.
2. Mozilla designed for plugins from the very earliest stages, it's not easy 
to build a system into an existing program.
3. Plugins can only go so far and still won't meet everyone's needs. IMHO, it 
is better to provide easier, more robust access to the data itself and let 
users handle it in Perl or PHP, Python or whatever. QSF is a flavour of XML 
that has a Schema and is intended to provide this simple and flexible data 
access.

http://www.data-freedom.org/

> I would be more 
> open to reading docs and using an
> API to "scratch my itches", compared to
> downloading the gnucash source and studying it
> for a while to know how my first attempt at a
> module is going to affect everything else
> before I can contribute.

What functionality do you want in your module?

> It seems very daunting 
> and time consuming.

There's no escaping that one. Developing in gnucash could quite easily consume 
150% of your available time. The discipline to control that must come from 
you, as must the motivation to persist.

> I have been reading 
> the devel lists for a week now and threads gone
> and on and on. Is there a "benevolent
> dictator/leader" or a specific milestone map or
> are the developers just doing what seems
> best to each of themselves?

The "map" at the moment is G2. Discussions are ranging over tools and 
philosophies but that is all about the future. There has been a long standing 
need to move away from CVS but it cannot start until G2 is sorted out. 
However, the discussions upon what to use instead and how gnucash development 
should be organised after G2 have provoked marked differences of opinion 
between the current group of active developers.

As for "each to his own", there was angst about my work on QOF but despite all 
the problems that is now done. I am not a GUI programmer, never have been. I 
work on gnucash because I want to provide easier access to gnucash data, not 
because I had any designs for a whizzo GUI frontend or even new GUI 
components. Others are already far better at that than I will ever be. 

So I guess it depends on your motivation, your perspective and your "itch". I 
work with command-line interfaces (like cashutil) because I dislike the 
"bloat" of GUI programming. I have a need for better data access from various 
devices and situations so I concentrate on QOF, backends, CLI programs and 
XML. If you want a quick introduction to the fundamentals of gnucash, you 
could do worse than look at the cashutil code which is currently a very 
stripped-down CLI version of gnucash. There is a lot more work needing to be 
done on cashutil. We each need our own "itch" for motivation.

Are you happier in GUI development or CLI or both?

What's your itch?

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20051028/bcf92de5/attachment.bin


More information about the gnucash-devel mailing list