Count Descendants

From TNG_Wiki
Jump to navigation Jump to search
TNG version: 14.0

The Count Descendants "chart" is very similar to the Tables chart that was introduced with TNGv14. (In fact, the mod from which the new native chart was derived was itself a derivation of Count Descendants. But because features were added to Count Descendants after the Tables chart spun off, the Count Descendant chart is not a strict subset of the new Tables charts. So, Here's my plan:

  • For now, the Count Descendants mod still installs the Count Descendants chart, which will sit next to the "Table" chart on the Inner Menu of the Person Profile and various chart programs. o charts are not completely redundant.*
  • Soon, I hope, I will modify Count Descendants (or create another spinoff) to add the distinct Count Descendants features as ']'optional features in the Tables chart.
- Robin Richmond 3 Feb 2023
Count Descendants
Summary Counts the descendants of a person, and prints tables of descendant counts by generations, occurrence of surnames by generation, and several others.
Mod Updated 3 Feb 2023
Download link v14.0.0.12d
TNG 14.0
TNG 13.0
See the Revision History for old version
Download stats
Author(s) Robin Richmond
Homepage Robin Richmond's Genealogy Database
Mod Support My Mod Support form
Contact Developer My Mod Support form
Latest Mod
Min TNG V 10
Max TNG V 14.0
Files modified
Modifies the TNG inner menu of descend.php, descendvert.php, descendtext.php, desctracker.php, register.php, tngrobots.php, plus English pedconfig_help.php
Installs rrcount_descendants.php
Related Mods
There are Czeck, Danish, Dutch, German, Norwegian, and Spanish translations

Purpose of the Mod

To implement a new "chart" that breaks out the counts of person's descendants and spouses by generation. It also reports the number of descendants in each generation who are living, and the birth year range for each generation, like this:

  All Living Descendants
Birth Year Range
Descendants Spouses Total Descendants Spouses Total
0This person1 1 2 0 0 0 1703 - 1703
1Children15 4 19 0 0 0 1730 - 1757
2Grandchildren3 2 5 0 0 0 1764 - 1767
3Great grandchildren11 7 18 0 0 0 1785 - 1808

The chart also displays surname clouds and lists surnames and counts by generation. There are separate tables and clouds for descendants and spouses. Here's the beginning of a descendants table. again, for descendants and spouses separately, e.g.

ALLARD        2  2
ANDERSON        2  2
ANDREWS         1 1
BAASO       32  5

Special Cases

Descendants and their spouses can appear more than once in a descendancy (e.g. when cousins marry). The native TNG descendant charts ignore that possibility and will thus list all of their descendants twice. But the Count Descendants chart recognized those duplicates so it can count each person only once ('ll see)

The people who initiate a duplication (i.e. not their descendants) are listed below the primary result tables. The conditions that cause duplications are

  1. Marriages between cousins; When cousins (of any degree) marry, their descendants are displayed twice by the native TNG descendant charts, but the Count Descendants program counts the descendants only once.
    • Cousins who marry are counted both as a descendant and as a spouse in the main descendant count table. To determine the number of unique people in the table, you can subtract the count of "Marriages between cousins" from the grand total in the main descendant count table.
  2. Descendants who are adopted by other descendants. This can occur two ways:
    1. Descendant Chris and Chris' spouse Terry have a child named Robin. (Whaterver happens to Terry), Chris marries again, and Cris's second spouse adopts Robin .
    2. (For whatever reason) Alex is adopted by another descendant.
  3. Spouses who married more than one descendant, e.g. Descendant Ashley married Franc*s, and when Ashley dies, Franc*s married Ashley's sibling Tracy. Ashley will be counted twice if we aren't paying attention.

Mod Options

None. This mod does add a selection list choice to the initial descendant chart field at Admin>>Setup>>Chart Settings>>Descendancy Chart. This allows the Count Descendant chart to be the default descendant chart.

Related Mods

  • This mod coordinates with TextPlus Charts in two distinct ways.
    1. Inner menu links:v14.0.0.12d
      • The Count Descendants chart program installed by this mod contains an innermenu link to the Text+ Descendant chart. That link is displayed only if the TextPlus Charts mod is installed.
      • Similarly, the Text+ Descendant Chart installed by TextPlus Charts contains a link to the Count Descendants chart, and that link is displayed only if the this mod (Count Descendants is installed.
    2. Both mods add options to the "Initial Display" selection box in the "Descendancy Chart" section of the Admin>>Settings>>Char Settings form - but that's not where they coordinate. Both mods also add a help button next to the Initial Display field, and coordinate so that only one button is visible and that button always brings up the Charts help file at the point where both mods add notes.
  • Male Female and Parent Lines - The Count Descendants mod adds inner menu links to the "Male Lines" and "Female Lines" charts if Male Female and Parent Lines has been installed.


No conflicts that I know of.


This mod does not use standard cust_text.php files for language strings. Instead, it stores languages strings in the mod's subfolder, and pages modified by this mod load language strings directly from files in the mod's languages/ subfolder. Read more about this technique and its procedure for handling site-specific language string overrides.

Files Installed

The program rrcount_descendants.php.

[Show Installation Details]


  • A working TNG installation.
  • An installed current version of the Mod Manager.
  • You should backup files listed in the panel on the right.


  1. Remove and delete previous version of this mod.
  2. Backup the files updated by this mod. They are listed in the panel at the upper right.
  3. Download the .zip file, Extract its .cfg file to the mods folder.
  4. Follow the normal automated installation for Mod Manager, as shown in the example Mod Manager - Installing Config Files.


  1. Try using the Mod Manager Remove capability
  2. Contact me through My Mod Support form.
[Hide Details]


This mod creates a new program, so there is no 'Before' visualization.

1. A screenshot of the main results table
  1. Compared to the native chart programs, this program moves the "Generations" selection box to a second line in the "inner menu", and replaces it with a "Chart Types" label.
    • The information icon next to the "Chart Types" label comes from the Chart Types Help mod, and pops up a description of each of the descendant charts
  2. The number of generations that has been selected for display in the chart is 10. Because there are more than 10 generations of Kuykendall descendants. the message "There are more descendants" is displayed just below the results table.
  • The two checkboxes in the second line of the Innermenu hide and display the two sets of table column shown inside the purple box.
  • The count of two living descendants in generation 8 (where the birth year range is 1835-1904) reveals data errors. You should be able to find them by search for living people born before the last year shown in that row.
  • Descendants who marry a cousin are counted as both a descendant and as a spouse - and are counted and listed with the heading "Marriages between cousins". The actual number of descendants is the Total outlined in red (1266) minus the number of "Marriages between cousins" (5; also outlined in red), or 1261.
  • Each count and "Show Them" button below the results table is shown only if there are records that match that condition.
Count descendants12-after.jpg
2. Some details from the counts below the results table

The first two "Show them" buttons have been clicked. Note that "Descendants who married cousins" always come in pairs.

Count descendants10a-after2.jpg
3. More details from the counts below the results table

This screenclip shows the descendant surname cloud (with 79 names), and a portion of the pop-up panel that results from clicking on the name "HUTCHESON". The fact that some names are capitalized and some are not is juts an artifact of the TNG site from which this screenshot was generated, where the surnames of the owner's direct ancestors are capitalized.

Count descendants10a-after3-cloud.jpg
4. AFTER: A portion of the table showing Surname Counts by Generation
Count descendants12a-after4-surnamecounts.jpg
This table can also be sorted by the count of people with each surname.
Count descendants12a-after4-surnamessorted.jpg
5. AFTER: Admin>>Setup>>Chart Settings options form

You can see the new option "Count", and the help icon. When you mouse over the help icon, the text "New Option(s)" is displayed.

Count descendants12-options.jpg

Inner Menu Links

As noted above, this mod places a link to the Descendant Count program in the Inner Menu of all of the native Descendant Chart programs. But it handles the generations count differently from the native programs:

  1. Innermenu links to other descendant charts: The native TNG Descendant Charts all pass their Generation count to any other native Descendant Charts when the second chart program is invoked from the first chart program's Innermenu. But since the Count Descendants chart can quickly print more generations than most charts, the generation count specified in the Count Descendants chart is not always passed to the other program in its Innermenu:
      • It passes the TNG system value "Initial Descendant Generations" ($pedigree['initdescgens']; typically equal to 4) to the PDF chart and the two variants of descend.php (Standard and Compact).
      • It passes its generation count to the remaining native charts (text, register), etc.), but only if its generation count is no more than the TNG system variable for the maximum number of descendant generations ($pedigree['maxdesc']; usually equal to 12).
      • It passes its generation count in full to the "Male Lines" and "Female Lines" charts (from Male Female and Parent Lines) and the TextPlus Descendant chart (from TextPlus Charts) -- if they are installed.

Language Strings

In TNGv13, this mod stores its language strings (for all languages) in the languages folder within the mods subfolder, in files named {language}_custtext.php (e.g English_custtest.php, French_UTF8-custtext.php). There is typically no need for separate file for English-UTF8.

This technique for storing custom text files has several advantages, including that translators can create, test, and edit language files without having to uninstall and reinstall the mod.

Specifying site-specific overrides to language strings is not as straightforward as it is with conventional cust_text.phpfiles. Read about the problem and the solution.

Revision History

Mod Version TNG Version Date Note
v14.0.0.12d 14.0 7Jan2021 No functional changes - updated for TNGv14 and added some language strings.
v13.0.0.12b2 13.0-13.0.1 7Jan2021
  • Language updates for Danish and Spanish.
  • Fixed capitalization of accented characters in UTF-8 surnames
  • Added inner menu links to and from the descendant vertical chart, which is (at least relatively) new to TNG
v13.0.0.12b 13 6Oct2020
  • Upgraded to TNGv13 by accommodating new new isset() and empty() function calls.
  • Fixed the primary descendant counts table, which was showing counts for "self", but wasn't putting that label in the table.
v12.0.0.12a 12.0 - 12.3 10May2020 The table of Surname counts by generation can now be sorted by the count. Internal changes include:
  1. The language strings now provide more flexibility for languages that use different ways to identify the descendant generations.
  2. The language strings have been moved from cust_text.php files to files inside the mod subfolder.
v12.0.0.10a 12.0 - 12.0.2+ 9Nov2018
  1. Counts of living people (by generation) have been added in new columns in the table of descendant.
  2. The range of descendants' birth years (by generation) has been added in a new column in the table of descendant counts.
  3. The strategy for passing the number of generations processed by Count Descendants to the other Descendant Inner Menu programs has changed, as described in the Notes section above.
  4. The phrase "Descendant Count for" has been added to the name in the page title, and the page heading.
  5. (The short-lived version 10 didn't display the new column headings correctly in all templates.)
v12.0.0.9a 12.0 - 12.0.2+ 25 Oct 2018 Added surname clouds and a breakdown of descendant surname clouds by generation. Also replaced my little blue information icon style with the new image that was distributed with TNGv12. (See the last visualization above.) The mod is now fully compatible with TNGv12, and, as described above, coordinates more closely with TextPlus Charts v15.
v10.1.0.7c 10.1 - 11.1.2+ 25 Jan 2018 Again, no functional changes; just removed the second line of cust_text.php target location strings for compatibility with anticipated changes in TNGv12.

Sites using this mod

If you download and install this mod, please add your site to the table below.

URL User Note Mod-Version TNG-Version User-language
Robin Richmond's Genealogy Database Robin Richmond
A specific report
Mod developer 14.0 English
Family tree of Marcin & Emilia Senderski Marcin Senderski Only home page is public 13.0.4 EN, PL
Brady Family Tree in Western Australia Darryl Brady Public site 10.1.1 EN, DE
MOTYER Family Genealogy John Mark Motyer Public site See here See here EN
Wortelboer Genealogy Bernard Wortelboer Public site 11.0.0 NL, EN
DJCM.DK Claus Martinussen Public site 10.1.3 DA, EN
Kemp(e) Family History Andrew Kemp Public site see User:Kempons see User:Kempons EN
Kleinmann Genealogy John Kleinmann 14.0 EN
Hooley Family Links Rick Hooley Public/Private See Here See Here EN
An Aotearoa Genealogy Website Merv Priestley Public & Private, modified v10.1.0.7c 12.0.2 EN
Roots & Relatives Remembered Ron Krzmarzick Public & Private See Here See Here EN,DE,CS,ES
Racine d'Alsace J-Louis Valory Private 13.0 FR
Martius Genealogy Hendrik Martius Public/Private 12.0.3 DE, EN, NL, FR
Journeys in Genealogy Patrick Thrush Public WordPress/TNG bundle 12.0.3 English
Our Family Histories Bryan S. Larson Public - T8 customized see here see here EN
The Duttons of New England Darrin Dutton Public / Private 13.0.2 EN
Weikop Slægstræ Karsten Weikop Public / Private 13.0.2 DK
Joseph Oran Holtz Genealogy Pages Jim Holt Private See Here See Here EN
Braymen / Munderloh Chris Braymen Public / Private 13.1.2 EN
Les Lapierre d'Amérique Normand Lapierre Public/Private site 14.0 FR, EN
[Show Older Versions]
[Hide Older Versions]
Mod Version TNG Version Date Note
v10.1.0.7b 10.1 - 11.1.2+ 11 Jun 2017 No real function changes; just changed the font size of the help button and hyperlink on the Admin>>Options>Charts screen.
v7a 10.1+ 10 May 2017 No real function changes
  1. Followed Roger Mitchell's suggestion to add borders to the results table.
  2. Added a mod Parameter that can suppress the border & heading styling.
  3. Eliminated the language .cfg file by moving the German and Dutch strings to this file.
  4. Show Mod Names is now optional, and a style class was defined in an embedded style sheet to remove a dependency on Blue Info Button
Count Descendants v6 10.0 - 10.0.3 25 May 2015 Moved the "Count" innermenu link from before the "PDF" link to the end of the inner menu, to avoid conflicts with a new mod.
Added a right-justified footer that displays the program name and version number.
For the TNGv10 variant only, fixed the database calls that were broken in v5 of the mod. [[|Download Modv6 for TNGv10.0]
Languages v5 10.0 - 10.1.1 25 May 2015 Small changes to German translation; added HTML entities to German non-UTF8.
Count Descendants v5 10.0 - 10.1.1 1 May 2015 Martin Pannier found two HTML typos that caused the copyright footer to be mispositioned.
v4a & languages file 10.0 - 10.1.1 30 Apr 2015 - The base mod with English strings is unchanged.

- The Danish, German, and Dutch translations are in a separate file.

v4 10.0 - 10.1.1 18 Apr 2015 - A new, more understandable (and more translatable) way of displaying special counts below the table of descendant counts,

- Handles Danish terminology that counts great*(n)grandparents differently,
- Adds the option in Administration >> Setup >> Charts to allow Count Descendants to be the default descendants chart, and
- Torben Devantie added Danish translations

v3 10.0 - 10.1.1 15 Apr 2015 Eliminated the duplicates caused when cousins marry each other, and displays other duplicates.
v2 10.0 - 10.1.1 12Apr2015 Bernard Wortelboer added Dutch translations and caught some untranslated strings.
v1 10.0 - 10.1 4Apr2015 Initial Release
[Hide Older Versions]