More Cutecash (was: Is there anything I should know to replace GnomeDruid with GtkAssistant?)

Christian Stimming stimming at tuhh.de
Wed Jun 30 16:20:50 EDT 2010


Am Wednesday 30 June 2010 schrieb Phil Longstaff:
> when I look at that page, I see "There is currently no text in this page.

Fixed. But the announcement of http://wiki.gnucash.org/wiki/Cutecash (I wrote 
it without the camel-case in my previous messages) was already done earlier.

> Have you thought through a series of milestones 0.1, 0.2, ... to port the
> current code.

No, not yet; currently this is only targeted towards more developers who like 
to explore how super-fast and developer-friendly a finance GUI can be as well.

> We need replacements for the register and html engine (is
> there one built into Qt?).

Register: I've already finished the single-line register view, just follow the 
wiki instructions. There is a good model/view infrastructure available in Qt 
so that was easy (and, again, it is super-fast compared to gnucash).

HTML: Still undecided. Qt ships with webkit which would do as HTML viewer, but 
this doesn't solve the report generation question. Discussion on the wiki 
page.

> We need to pull the business code/UI apart -
> by "business", I mean object manipulation code rather than code for
> invoices/employees/customers.  I know you've talked about merging a lot of
> the current modules into one big module.  On first glance, I'd like to
> see: - engine - current objects (including business objects)/qof
> - back-ends - different ways for the engine to load/store data somewhere

Yes, the "engine" and "back-ends" are beingre-used from the gnucash C code by 
compiling them all in static libraries (defined in the cmake infrastructure, 
so they don't interfere with the gnucash Makefile.am) and linking them into 
the resulting C++ executable.

> - "business code" - includes reports, possibly configuration/preferences,
> register core (sorting, editing, blank transaction), ...
> - UI - interface between business code and the GUI package
> (Qt, WxWindows, ...)

The UI of cutecash will be Qt, see the discussion on the wiki page. However, 
I'm not yet convinced another separate "business code" layer really improves 
the resulting product here. Clearly, gnucash does not have any useful 
abstraction on that layer, apart from what's already in engine and app-utils. 
After all the years in gnucash I tend to say there is too little benefit in 
creating such an extra abstraction so it's very unlikely to "get it right", 
which in turn means it will be useless anyway. Instead, I want to put a strong 
focus on the end user experience, which means it's fine for me if we get along 
without such an extra abstraction layer.

> I see the engine being useful on its own (and wrapped for use by python,
> scheme, java, ...) to allow other apps to access the data.  I suppose
> backends could be part of the engine.

Yes, that's my view as well.

Best Regards,

Christian


More information about the gnucash-devel mailing list