Difference between revisions of "DescendantsLines"

From Gramps
Jump to: navigation, search
m (Alternate Pass 2: use of user-defined (mega)-widgets)
(swap content with other page)
(Tag: New redirect)
 
(183 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Image:DescendantsLines.png|thumb|Lines of descendants chart]]
+
#REDIRECT[[Addon:DescendantsLines]]
'''DescendantsLines''' is an in-development plugin for Gramps which generates a graphical descendants tree using orthogonal edges and routing ("square edges").
 
 
 
== History ==
 
2007: Adam Sampson has written a standalone python script for parsing data.gramps ([[GRAMPS XML]]). [http://offog.org/darcs/misccode/familytree]
 
 
 
2010: this script needs some updates for avoiding minor issues.
 
 
 
A modified script is available on the addons repository. [http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/trunk/contrib/DescendantsLines/ft.py]
 
 
 
=== Limitations ===
 
# Script ignores role on event (was added in 2007).
 
# Script ignores localized date handlers (use ISO date format, date quality in english)
 
# Memory limiation 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_development|Addons]] repository as '''unstable''' (beta). [http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/trunk/contrib/DescendantsLines]
 
 
 
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''
 
# 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 [http://www.gramps-project.org/bugs/view.php?id=4447]
 
# 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 [http://www.gramps-project.org/bugs/view.php?id=2393]
 
# Output path through mega-widget
 
# Clean-up, pylint, etc ...
 
 
 
 
 
Feel free to contribute or improve it.
 
 
 
 
 
[[Category:Plugins]]
 
[[Category:Developers/General]]
 

Latest revision as of 00:13, 17 January 2022