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.

Maintainers

Package info

github.com/magicsunday/webtrees-descendants-chart

Language:JavaScript

Type:webtrees-module

pkg:composer/magicsunday/webtrees-descendants-chart

Fund package maintenance!

paypal.me/magicsunday

Statistics

Installs: 268

Dependents: 0

Suggesters: 0

Stars: 36

Open Issues: 3

2.6.2 2026-05-11 08:06 UTC

README

Latest version License CI

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.

descendants-chart-4-generations

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 required vendor/ dependencies (such as webtrees-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 to modules_v4/ will fail with Interface "MagicSunday\Webtrees\ModuleBase\…" not found (or ModuleAssetUrlInterface 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:

  1. Open the latest release page.
  2. Under Assets, download webtrees-descendants-chart.zip.
  3. Upload the .zip file to your web server.
  4. Unzip the package into your modules_v4 directory.
  5. 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 old modules_v4/webtrees-descendants-chart folder 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 of Interface … not found errors after an update).
  • Composer: Run composer update magicsunday/webtrees-descendants-chart --update-no-dev.
  • Git: Run git pull inside the modules_v4/webtrees-descendants-chart directory.

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.

Control panel - Module administration

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 required vendor/ dependencies; the source zip does not. Open the latest release, scroll to Assets, download webtrees-descendants-chart.zip, and re-extract.
  • If you used the asset zip, make sure you deleted the previous modules_v4/webtrees-descendants-chart folder 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