[GNC] mysql backend, second user (lock, for example)

Geert Janssens geert.gnucash at kobaltwit.be
Sun Nov 4 03:31:08 EST 2018


Op zondag 4 november 2018 04:36:30 CET schreef craigarno:
> My application is similar, except two of my users will be outside of my
> local network, working from the Internet.  I'm a tiny one man SOHO
> operation who is off-site a lot of the time and may also be accessing my
> GnuCash database remotely and concurrently from a job site providing client
> invoices/expenses as needed/requested.
> 
> *Usecase*:
>   /Myself/:  Day to day entry of expenses, income, travel receipts, tax
> info.
>   /Bookkeeper/: weekly cleanup of my efforts, will potentially be using the
> database at the same time as I am.
>   /Accountant/: Annual tax time work, will be using the database concurrent
> with myself + bookkeeper, updating chart of accounts with changing tax law
> information, Income tax preparation, etc.  Packaging up the previous year
> while we're inputting the current year.
> 
> Ideally the internet side will use MySQL+SSL for secure connection.  And
> ideally active records would be momentarily locked for update, then released
> after update, and both other concurrent screens notified and updated as
> required for correct visual data presentation.  Given the tiny size of my
> organization, daily database transaction load will be very low, and most of
> the time each of the three of us will effectively have exclusive access to
> the database.  But there will be times when concurrency will be important.
> This is also why we need a centralized accounting database.
> 
> Is there a roadmap for GnuCash database development?
> 
Concurrent multi-user access is on the roadmap. There is no ETA on this 
however. The team is currently almost fully occupied with fixing regressions 
introduces by our force move to Gtk3.

This has taken time away from our next primary goal, converting to C++. This 
conversion also includes reviewing historical design decisions and laying the 
groundwork for true concurrency. I think our current vision does cover most of 
the use case you describe. The only part I have no idea about at this stage is 
how to tell all views to refresh when one user makes a change.

Additional hands to realize this vision are of course very welcome.

Regards,

Geert




More information about the gnucash-user mailing list