GRAMPS: Progress in 2.2 Tree

The GRAMPS blog has been updated with news of work on GRAMPS 2.2. GRAMPS is an open-source genealogy software program for Linux (and *BSD, Mac OS X, and Windows one of these days). Work is being done on the database, as well as UI improvements. One thing that looks interesting: a modification of the TreeView that can draw a view with 40 thousand rows within a fraction of a second.

Some of the highlights:
Work was done on the database handling – transactions are being used : The use of transactions should ensure that any change to the database file either happens completely (will be atomic and durable) or not at all. It should protect us from corrupted data.

We added support for Repositories and for source references to the Repositories. Also event references are added, to enable events to be shared among different people. These and other changes caused the additions and restructuring in our XML format. The old format will continue to be supported for reading though. Both XML versions are formally described at http://gramps-project/xml (version 1.0.0 is for stable gramps, 2.0.x; while 1.1.0 is for devel tree, 2.2.x).

Then, the importers from GEDCOM and XML were optimized. We now import same XML or GEDCOM file faster than we do in 2.0.x, despite the fact that we are writing more data (repositories and references, event references, etc) in a journaling manner (Txn). Also, the storing of the data has been converted from saving Gramps-defined objects to saving native python objects: text, numbers, lists, etc. This provides shorter files and faster storage/retrieval, as well as nice separation between the code and the data.

On the interface front, much profiling and optimizing has been done by Don and Richard. The different views are now being built upon request, the extra steps in drawing have been removed, the sorting optimized. Richard is almost done with the modification of the TreeView that can draw a view with 40 thousand rows within a fraction of a second.

Finally, as the core database changes stabilize, the work is being done on bringing the new and improved UI elements back to life. This includes editing dialogs for person, relationship, event/event reference, etc. In short, there’s a lot of exciting things going on to wait for and to help with

Here is a previous post about GRAMPS 2.2