QSF, pilot-link and GnuCash

Neil Williams linux at codehelp.co.uk
Sun Apr 3 11:41:56 EDT 2005


Progress !

GnuCash (G2 branch) can export certain entities to QSF XML (thanks to Derek 
tempering my enthusiasm for Gtk 2.4!)

Just today, pilot-link has also come through and I've just synced 1,000 Palm 
entries (contacts, dates, expenses and tasks) to QSF XML (770kb) for the very 
first time. It took about 25 seconds to read the data from the Palm and under 
5 seconds to prepare the QSF from the usual pilot-link objects and write 
1,000 entities to disk.

There are little bits left to do on both sides and then I have more to do on 
the maps / other methods to convert between objects. On the GnuCash side, I 
will be working on a revamped merge druid, support for Account and 
Transaction exports and more documentation. On the pilot-link side, I'm 
working on reading SQL commands from a file (they can already be provided on 
the command line), supporting date ranges (all records this month, all 
records this year etc.) and reading Palm category fields.

I'll also be looking at extending Linas' work in QOF to support a SQL query 
using 'like' and wildcards:
where field like %cash%
http://code.neil.williamsleesmill.me.uk/doxygen/group__SQL.html#ga4

pilot-link now has a method for providing QSF XML data streams and when the 
maps are finalised, a program like GnuCash could call one of:
pilot-qof -aq
pilot-qof -a -s "select * from pilot_address where entryFirstname = Neil;"
pilot-qof -a --exclude pilot_expenses
pilot-qof -a --database pilot_datebook --date-string 04-12-31
http://code.neil.williamsleesmill.me.uk/manpages.html

A simple dialog in GnuCash to ask the user to press HotSync on the Palm and a 
data stream can be piped to GnuCash and then to book_merge. Create invoices, 
new customers, new transactions (from expenses), all sorts. Later versions 
will allow writing data to the Palm - once I've got the courage! That Palm is 
the basis of my self-employment!!!

The user will also be able to select the pilot-link offline storage QSF XML 
(e.g. ~/myofflinefile.xml) and read that directly within GnuCash using the 
File->Import QSF command.

Alternatively, pass a command to pilot-qof to query the XML and produce a 
smaller dataset of just what the user needs:
pilot-qof -o ~/myofflinefile.xml -s "select * from pilot_address where 
entryFirstname = Neil;" -w mynewfile.xml
e.g. The results of that query can then be written to a new file - queries can 
be made recursive.

I'm also continuing with qof-generator that will provide easy creation of new 
QOF objects as examples or mini-applications for specific purposes. e.g. to 
create a C application that can convert between objects instead of using a 
map. I'm doing this because these example objects with mini-applications are 
the fastest and simplest way of testing the framework and creating new maps.
http://qof-gen.sourceforge.net/
http://sourceforge.net/projects/qof-gen/

The pilot-link code isn't in pilot-link CVS yet, there's a code freeze due to 
the upcoming v0.12 release. 

You might say I'm a tad pleased to get it working!
:-)

-- 

Neil Williams
=============
http://www.dcglug.org.uk/
http://www.nosoftwarepatents.com/
http://sourceforge.net/projects/isbnsearch/
http://www.neil.williamsleesmill.me.uk/
http://www.biglumber.com/x/web?qs=0x8801094A28BCB3E3

-------------- 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/20050403/619f8a3a/attachment.bin


More information about the gnucash-devel mailing list