An eclectic approach for collaborative GnuCash
zeldigas at gmail.com
Sun Jun 22 17:28:23 EDT 2014
If I get you right, your idea is to send the whole file over the Web API.
Recently I also thought about the way to deal with remote updates of
gnucash file and here is my "plan" of the possible solution. At first I'd
like to point out that this plan is intended to be additional way to
interact with gnucash file, but not the way to setup gnucash to remotely
update file via rest using the app itself. The applications can be mobile
client interaction or writing web pages to display some account information
or allow to add transaction using browser.
So idea is to set up RESTful service that encapsulates the necessary
functions: list accounts, transactions in account, CRUD operations on
As the gnucash is single user app, this service can be an adaptor between
multiple users and a single file. Read operation is no problem for that
case, but write operation can be treated as modification events:
1. Client sends modification request to service
2. Server accept modification and store it in some data store, all further
read operations take into account this modication data.
3. Once in a X minutes server extracts all modifications, merges them and
prepares a batch list of operations to be executed on gnucash file
(probably via python bindings script)
4. It opens the gnucash file and edit it with this modification. If this
file is already opened it waits until it becomes available.
The server should solve any concurrent modifications or property return
status codes about stale data for clients.
2014-06-21 22:32 GMT+04:00 Emmanuel Florent <emmanuel.florent at gmail.com>:
> Once would like a multi-user Gnucash without the SGDB/VPN setup nightmare.
> The goal is to work on books on multiple computers and with multiple users.
> I've a proposal for a Python script that take a Gnucash xml file,
> convert it to post request on a REST service.
> Then using the same process it can pull down data to merge an xml file
> from the nosql db.
> To get an idea of the whole thing from a programmer view,
> here are the unit test:
> What do you think of this off-topic proposal ?
> Would you have achieved the same goal differently ? How ? Why ?
> This project will at least totally fail because ... ?
> Best regards
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
More information about the gnucash-devel