branches/sx-cleanup/ RFT[esting]; licensing change

Josh Sled jsled at asynchronous.org
Sun Jan 14 20:59:19 EST 2007


I know a couple of you already monitor the sx-cleanup branch, but it's
at a point where I'm comfortable folding it back into trunk.  It's at
least as functional as trunk, and in some cases more so.  Even though
I'm not really finished with SX development for 2.2, I'd like to get it
back in.

I'll probably merge this week, maybe even as early as tomorrow evening
depending on how I feel.  If you have a chance to poke at it before I
do, great!  If not, it'll still need testing, but on trunk.  I'll
announce when it's merged.

Release-note-type-things below...

Major overhaul
--------------

The core application-side SX code was overhauled for clarity,
modularity, correctness, testability, &c.

SX List Plugin Page
-------------------

The SX list and upcoming-instances calendar moved from a top-level
window to being a plugin page in the normal application container.

Since Last Run
--------------

The Since Last Run (SLR) dialog received a functional overhaul as well.
The previous druid-based approach led to a huge bookkeeping headache, as
transitioning between pages required partially-processed SXes to be
maintained and transactions to be created and destroyed.  As well, the
multi-stage dialog approach was just too involved and ill-suited to the
task at hand, especially as some stages were conditional on the state of
the data.  It made me sad.

The new Since Last Run dialog is a single treeview of upcoming instances
and variable bindings.  There's a checkbox to have all created
transactions presented after they are.

It's easier to describe via screenshot:
<http://asynchronous.org/tmp/sx-cleanup-eg.png>.

Updating/signaling
------------------

Part of the overhaul is a better use of QOF and GObject signaling for
updates.  The SX list and SLR update in response to changes in each
other; for instance, you can change the frequency or start-range of an
SX while the SLR dialog is open, and it will update in place.

Known Issues
------------

(as of 2007-01-14)
- The SX List plugin page doesn't save/restore its state.
- Updating the variables in a formula with the SLR dialog open isn't
consistent.
- Closing an sx list plugin page leads to corrupted state.

(- See <file:src/doc/sx.rst> for more detail.)

Licensing
---------

In new files (and old files related to this code that I hold copyright
on), I've removed the "or any later version" clause.  I have problems
licensing under a license that I haven't read, or that can change in
ways I disagree with.  At some point I'll make this change for all
source files I hold copyright on, and I intend to not use the clause on
sources I (re)write in the future.


Testing
-------

The key areas I think need testing are the new plugin page and the SLR
dialog.  It, at least, shouldn't do anything worse than the 1.8/2.0 SX
code. :)

-- 
...jsled
http://asynchronous.org/ - a=jsled;b=asynchronous.org;echo ${a}@${b}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20070114/c7f777e8/attachment.bin 


More information about the gnucash-devel mailing list