Books, sessions [was: Re: UI independance]
Linas Vepstas
linas at linas.org
Sun Apr 6 04:29:00 CDT 2003
On Thu, Feb 13, 2003 at 09:48:45PM -0500, Derek Atkins was heard to remark:
> Matthew Vanecek <mevanecek at yahoo.com> writes:
> > Anyhow, I'd really like to emphasize, I like the ability to have two
> > different files open at once. If we move to the one-instance-at-a-time,
> > we need to make sure we can have multiple files open concurrently...
>
> Oh, I wholeheartedly agree. The engine is moving towards that end.
> The GNCSession was meant to be the first step in that direction, but
> it needs to be taken further. It's going to require rototilling a
> bunch of code to remove a bunch of globals and assumptions about the
> Session State.
>
> If nothing else it's going to require passing a GNCSession or a
> GNCBook (or some other object that necessarily points back to one) to
> EVERY function, and getting rid of the gnc_get_current_*() functions.
> It's also going to require similar changes to the event processing
> code.
I'd like to take these old comments as an opportunity to open a discussion
about the correct way to handle accounting periods. There's (old) code
that will split a book into two, dividing up old and new transactions,
and putting them into separate books. Now, with the new 'lot scrub',
it is one step away from handling stocks accounts correctly.
But now the next problem arrises:
-- do people want to look at several books at the same time?
-- should I store multiple books in one file?
-- if they get stored in multiple files, what is the naming
convention? If people screw with the filenames, gnucash might
not be able to automatically find older books.
-- how can people run a multi-year report against several old,
closed books? How do reports need to be 'fixed'? How do
the query routines need to be 'fixed'?
-- should I put several books in one session, or one session
per book? Maybe it should be one session per file ??
-- The SQL backend does not have this complexity of considerations:
all books are stored in the same DB, this is reasonable, since
the SQL 'select' capabilities make this simple. So the
session/book correspiondence should work for files backend and
sql backend, and that is where the rub is.
Advice, comments ...
Linas.
--
pub 1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <linas at linas.org>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984 3F54 64A9 9A82 0104 5933
More information about the gnucash-devel
mailing list