Difference between revisions of "DescendantsLines"
m |
m |
||
Line 10: | Line 10: | ||
=== Limitations === | === Limitations === | ||
− | # Script ignores role on event (was added in 2007) | + | # Script ignores role on event (was added in 2007) |
# Script ignores localized date handlers (using ISO date format, date quality in english) | # Script ignores localized date handlers (using ISO date format, date quality in english) | ||
# Memory limitation with a large database (DOM parsing) | # Memory limitation with a large database (DOM parsing) | ||
Line 32: | Line 32: | ||
* simple Gramps XML template with events, persons, families objects (only export primary event role reference). | * simple Gramps XML template with events, persons, families objects (only export primary event role reference). | ||
* key/filter issues remain, currently export all persons to XML file. | * key/filter issues remain, currently export all persons to XML file. | ||
− | * 'localized' dates (does not follow last DTD, which uses english and ISO format) | + | * 'localized' dates (does not follow last DTD, which uses english and ISO format). |
* a basic persons list print for draw report: this avoids empty returns when generating the report and could help to check what is missing (see above). | * a basic persons list print for draw report: this avoids empty returns when generating the report and could help to check what is missing (see above). | ||
− | * output path and format are hardcoded: $HOME/DescendantsLines.png | + | * output path and format are hardcoded: $HOME/DescendantsLines.png . |
Revision as of 17:05, 10 December 2010
DescendantsLines is an in-development plugin for Gramps which generates a graphical descendants tree using orthogonal edges and routing ("square edges").
Contents
History
2007: Adam Sampson has written a standalone python script for parsing data.gramps (GRAMPS XML). [1]
2010: this script needs some updates for avoiding minor issues.
A modified script is available on the addons repository. [2]
Limitations
- Script ignores role on event (was added in 2007)
- Script ignores localized date handlers (using ISO date format, date quality in english)
- Memory limitation with a large database (DOM parsing)
Descendants Lines
There is an experimental try for migrating this Gtk/cairo code to a draw plugin working into Gramps (font, style, path, canvas, output formats).
Draft version is available on Addons repository as unstable (beta). [3]
The idea will be to keep the Gramps XML parsing, but with a copy of the active database and use of current report environment (output formats, style, path).
Needs
Pass 1: generate a tmp XML with only data needed for the report, to load it as input
- Enable Person selection (Gramps ID) - done
- Generate a temp Gramps XML database matching 'IsDescendantFamilyOf' filter rule - done
- Input path - done (need to set @prefix@: path_to_SVN/src on const.py)
- Clean-up - done
- simple Gramps XML template with events, persons, families objects (only export primary event role reference).
- key/filter issues remain, currently export all persons to XML file.
- 'localized' dates (does not follow last DTD, which uses english and ISO format).
- a basic persons list print for draw report: this avoids empty returns when generating the report and could help to check what is missing (see above).
- output path and format are hardcoded: $HOME/DescendantsLines.png .
FINISHED - it works fine!
Pass 2: use draw report environment
- Generate a plugins/docgen/PNGDrawDoc.py file [4]
- Move Gtk code to draw report (if possible)
- Move cairo code to draw report (if possible)
- Output path
- Clean-up, pylint, etc ...
Pass 2 (Alternate): use of user-defined (mega)-widgets
- Have a look at mega-widget request and implementation [5]
- Output path through mega-widget
- Clean-up, pylint, etc ...
Feel free to contribute or improve it.