magicsunday / webtrees-descendants-chart
SVG descendants chart module for the webtrees genealogy application — interactive D3.js tree visualization with spouse display and up to 25 generations.
Package info
github.com/magicsunday/webtrees-descendants-chart
Language:JavaScript
Type:webtrees-module
pkg:composer/magicsunday/webtrees-descendants-chart
Fund package maintenance!
Requires
- php: 8.3 - 8.5
- ext-dom: *
- ext-json: *
- fisharebest/webtrees: ~2.2.0
- magicsunday/webtrees-module-base: ^2.2
- magicsunday/webtrees-module-installer-plugin: ^1.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- overtrue/phplint: ^9.0
- phpstan/phpstan: ^2.0
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^12.0 || ^13.0
- rector/rector: ^2.0
This package is auto-updated.
Last update: 2026-05-11 08:07:35 UTC
README
Descendants chart
This module provides an SVG descendant chart for the webtrees genealogical application. It is capable of displaying up to 25 generations of descendants from an individual.
But beware, if you select too many generations, it may take a while and even slow down your system significantly.
In addition to the descendants, the respective spouses are also displayed for a person. The display can be deactivated via the configuration form so that only the direct descendants are displayed.
Fig. 1: A four generations descendants chart with spouses (drawn top to bottom)
Installation
Requires webtrees 2.2.
There are several ways to install the module. The method using composer is suitable for experienced users, as a developer you can also use git to get a copy of the repository. For all other users, however, manual installation is recommended.
Manual installation
Important
Download the right .zip file. Each GitHub release page lists two kinds of archive:
- ✅
webtrees-descendants-chart.zip— listed under Assets at the bottom of the release. This is the install-ready archive: it bundles the requiredvendor/dependencies (such aswebtrees-module-base). - ❌ "Source code (zip)" /
webtrees-descendants-chart-<version>.zip— auto-generated by GitHub from the tag. This is the raw source without bundled dependencies. Uploading it tomodules_v4/will fail withInterface "MagicSunday\Webtrees\ModuleBase\…" not found(orModuleAssetUrlInterface not found).
Always pick the asset zip, never "Source code (zip)".
Important
If a previous version of this module is already installed: delete the entire modules_v4/webtrees-descendants-chart folder before extracting the new ZIP. Extracting on top of an existing folder leaves stale files behind that can clash with the new release — a common cause of Interface … not found errors right after an update.
To manually install the module, perform the following steps:
- Open the latest release page.
- Under Assets, download
webtrees-descendants-chart.zip. - Upload the
.zipfile to your web server. - Unzip the package into your
modules_v4directory. - Rename the folder to
webtrees-descendants-chart.
If everything was successful, you should see a subdirectory webtrees-descendants-chart with the unpacked content
in the modules_v4 directory.
Then follow the steps described in configuration and usage.
Using Composer
Typically, to install with composer, just run the following command from the command line, from the root of your Webtrees installation.
composer require magicsunday/webtrees-descendants-chart --update-no-dev
The module will automatically install into the modules_v4 directory of your webtrees installation.
To make this possible, the "magicsunday/webtrees-module-base" package is used. Approval within Composer
may be required here to authorize the execution of the package.
To remove the module run:
composer remove magicsunday/webtrees-descendants-chart --update-no-dev
Then follow the steps described in configuration and usage.
Latest version
If you are using the development version of Webtrees (main branch), you may also need to install the development version of the module. For this, please use the following command:
composer require magicsunday/webtrees-descendants-chart:dev-main --update-no-dev
Using Git
If you are using git, you could also clone the current main branch directly into your modules_v4 directory
by calling:
git clone https://github.com/magicsunday/webtrees-descendants-chart.git modules_v4/webtrees-descendants-chart
Then follow the steps described in configuration and usage.
Update
- Manual installation: From the latest release Assets section, download
webtrees-descendants-chart.zip(not "Source code (zip)"), delete the oldmodules_v4/webtrees-descendants-chartfolder first, and extract the new one. Extracting on top of an existing folder leaves stale files behind that can clash with the new release (a common cause ofInterface … not founderrors after an update). - Composer: Run
composer update magicsunday/webtrees-descendants-chart --update-no-dev. - Git: Run
git pullinside themodules_v4/webtrees-descendants-chartdirectory.
Configuration
Go to the control panel (admin section) of your installation and scroll down to the Modules section. Click
on Charts (in subsection Genealogy). Enable the Descendants chart custom module (optionally disable the original
installed descendant chart module) and save your settings.
Fig. 2: Control panel - Module administration
Usage
At the charts' menu, you will find a new link called Descendants chart. Use the provided configuration options
to adjust the layout of the charts according to your needs.
Furthermore, it is possible to export the generated tree diagram as an SVG or PNG image in order to be able to use it elsewhere.
Troubleshooting
Fatal error after a manual installation or update: Interface "MagicSunday\Webtrees\ModuleBase\…" not found (or ModuleAssetUrlInterface not found)
- You probably downloaded the GitHub-generated "Source code (zip)" instead of the install-ready asset
webtrees-descendants-chart.zip. The asset bundles the requiredvendor/dependencies; the source zip does not. Open the latest release, scroll to Assets, downloadwebtrees-descendants-chart.zip, and re-extract. - If you used the asset zip, make sure you deleted the previous
modules_v4/webtrees-descendants-chartfolder before extracting. Stale files from an older version can shadow the new bundled vendor code and produce the same error.
The chart does not appear / shows an error
- Make sure the module is enabled in the Control Panel under Modules > Charts.
- Check that your PHP version is 8.3 or later.
- Clear your browser cache and reload the page.
Development
To build/update the JavaScript, you can either use a local Node.js installation or Docker.
Using Docker
No local Node.js installation required. Just run:
make install make build
To watch for changes and rebuild automatically:
make watch
Using local Node.js
nvm install node npm install npm run prepare
Run tests
composer update composer ci:test composer ci:test:php:phpstan composer ci:test:php:lint composer ci:test:php:rector

