Automatic Saving

Derek Atkins warlord@MIT.EDU
05 Jan 2003 11:30:13 -0500


Glen Ditchfield <gjditchfield@acm.org> writes:

> How does saving work with the database back-end?  

incrementally..

> I think I would want GnuCash set up so that every time I enter a financial 
> transaction (or add an account, or a price, or whatever) the database would 
> be changed immediately.  In that case, "File > Save" would be a no-op, 
> autosaving wouldn't be useful, and GnuCash doesn't maintain backups.

When you run with the PG Backend, this is indeed what happens.  Save is
a no-op.

> If that is so, I would like the file back-end to work the same way: every 
> change is saved immediately, and "File > Save" is unnecessary.  And keep no 
> backups; I (should) back up all my files, when and as necessary.  Just give 
> me a good Undo!

This is a lot more challenging, because you tend to only have
incremental ADDs, not incremental DELETEs when modifying an XML file.
This is a LOT more difficult that you think.  Instead, I'd rather see
an "embedded database" backend that _looks_ like a file but really is
a database (e.g. embedded-mysql).  This would give you the same feel
as a file, with the same locking (single-user) semantics, but it would
allow real-time, incremental storage.

> In fact, I agree with Matthew Thomas 
> (http://mpt.phrasewise.com/stories/storyReader$374): having to save data is 
> interface cruft, and we'd be better off without it.  

Well, you still need "Save-As".  Also, if you are working over a slow
network file system I think it's better to be able to cache all your
work locally and then push it all out at once, or at least batched.

> Giving GnuCash a cruftless interface would be a lot of work.  For instance, 
> the file back-end might need rewriting to allow incremental saves.  But maybe 
> it's something to think about for version 2.0?

Indeed.  It is certainly not a 1.8 task ;) But again, I don't think it
will be the File backend, per se.  Incremental saves with an XML
format is HARD.  Tell me, how do you deal with data deletions?  While
I agree with your motives and intentions, I think the details need a
lot of thought.

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord@MIT.EDU                        PGP key available