Filtered Descendant Report

From Gramps
Jump to: navigation, search

Please use carefully on data that is backed up, and help make it better by reporting any comments or problems to the author, or issues to the bug tracker
Unless otherwise stated on this page, you can download this addon by following these instructions.
Please note that some Addons have prerequisites that need to be installed before they can be used.
This Addon/Plugin system is controlled by the Plugin Manager.
An Addons Offline Manual is available for review.

This addon

is more of a proof-of-concept than a fully featured addon. This addon is still useful given the limitations specified below.
Source code for Gramps 3.4 available here:

Sample Filtered Descendant Report Dialog

The Filtered Descendant Report is directly based on the Detailed Descendant Report. As such, it includes all the options (which make sense) in addition to some new ones. Because multiple family branches can be included, the Henry and d'Aboville numbering systems options were removed (considering that people common to more than one branch will get the number assigned to them when they are first found).

The main difference is that a filter can be used to determine who to include in the report (so that you can have several family branches) instead of basing all the descendants from a single person. The key is to find at least one common person to all the rules in the filter. If at least one common person is found, the generations can be aligned so that it doesn't matter if the head of each branch is in the same generation.

In order to support this report, enhanced versions of some of the Gramps code is included so as to not require modifications of the Gramps core itself. The enhanced changes are finding their way into the core, so it's only a matter of time until this plugin will no longer need to ship those changes. A list of enhancements can be found after the list of differences.


the filter is meant to be an OR filter (At least one rule must apply), meaning that we are expecting the report to consist of one or more family branches, where each rule dictates the start of a branch. This plugin has NOT been stress tested over different varieties of rules. It does work with one or more rules and will treat the filter as if 'At least one rule must apply' is set (even if not). The plugin will complain if no common people are found across all rules.


the only supported output file format currently is OpenDocument Text Enhanced. Running the plugin with any other output format will cause an error (because the other format backends haven't been updated to support the needed enhancements).


this is a second version, and as such has much missing that people might want. One obvious one is support for ALL backend report formats, not just ODF. Also, not currently possible to get the photo date to put into the caption. Also, no translation for messages (everything is currently English-only). This version is being released for Gramps v3.3 and to see if there is any interest outside myself :-{}, and possibly to get my enhancement changes into the core if they seem useful.


Differences from Detailed Descendant Report are as follows:

1) Instead of a 'Center Person' to start descendants from, there is now a 'Filter'.

As explained above, the filter can have one or more rules to allow multiple branches to be in the same report. A person, common to ALL rules will align the generations. If no common person is found, an error will be issued.

2) Report Title

An added option allows the user to specify the report title. For Detailed Descendant Report, this is automatically set based on the name of the 'Center Person'. For Filtered Descendant Report, this is automatically set to the name of the selected filter, but can be overridden by the user.

3) Turn URLs into real links

This option (on the Content tab) tells the plugin whether to turn any http, https, or mailto links found in text (i.e. notes, endnotes, etc.) to be real clickable links. Turning this option off results in the behavior found in Detailed Descendant Report (that is, no URLs are made clickable). Turning it on will cause those URLs found to be clickable in the output file (if possible).

4) Do not include information marked private

This option (on the Content tab) tells the plugin whether to add information to the report that has been marked 'private'. Turning this option off results in the behavior found in Detailed Descendant Report (that is, all information is included in the report). Turning it on will cause the plugin to NOT include anything marked private. After all, what good is the private flag if it's not respected?

5) Include partners

Just a label change for the modern age.

6) Add caption under image from Gallery

This option (on the new Caption tab) tells the plugin whether to include captions under photos or not.

6) Caption Format

This option (on the new Caption tab) specifies what should be in photo captions. For full details on what can be specified, see the Substitution Values wiki page.

7) Image cropping

Images now appear in the report document exactly how they appear within the Gramps UI. That is, if an image has been cropped, it will be cropped the same way in the report. The Detailed Descendant Report behavior was to just insert the image so that the report showed the entire image.



Can send in None for the progress bar so that this function can be used without GUI feedback


Added support for turning URLs into clickable links


Turned image manipulation functions into a real class so that an image file only needs to be opened once (instead of every time an ImgManip function is called). Also added a method to return the image DPI (if available). This supports showing cropped images in the report file.


Enhanced to do the following:

  • save photo styles like it does for notes (this enables having cropped images)
  • image captions
  • making URLs clickable