Git Product home page Git Product logo

webtrees-pedigree-chart's Introduction

Latest version License CI

Pedigree chart

This module provides an SVG pedigree chart for the webtrees genealogy application. It is capable of displaying up to 25 generations of ancestors from an individual.

But beware, if you select too many generations, it may take a while and even slow down your system significantly.

pedigree-chart-3-generations Fig. 1: A five-generations pedigree chart (drawn top to bottom)

pedigree-chart-5-generations Fig. 2: A five-generations pedigree chart (drawn left to right)

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

To manually install the module, perform the following steps:

  1. Download the latest release of the module.
  2. Upload the downloaded file to your web server.
  3. Unzip the package into your modules_v4 directory.
  4. Rename the folder to webtrees-pedigree-chart

If everything was successful, you should see a subdirectory webtrees-pedigree-chart with the unpacked content in the modules_v4 directory.

Now the module has to be activated within Webtrees.

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 Pedigree chart custom module (optionally disable the original installed pedigree chart module) and save your settings.

control-panel-modules Fig. 3: Control panel - Module administration

Usage

At the charts' menu, you will find a new link called Pedigree chart. Use the provided configuration options to adjust the layout of the charts according to your needs.

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-pedigree-chart --update-no-dev

The module will automatically install into the modules_v4 directory of your webtrees installation.

To remove the module run:

composer remove magicsunday/webtrees-pedigree-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-pedigree-chart:dev-master --update-no-dev

Using Git

If you are using git, you could also clone the current master branch directly into your modules_v4 directory by calling:

git clone https://github.com/magicsunday/webtrees-pedigree-chart.git modules_v4/webtrees-pedigree-chart

Then follow the steps described in configuration and usage.

Development

To build/update the javascript, run the following commands:

nvm install node
npm install --unsafe-perm --save-dev
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

webtrees-pedigree-chart's People

Contributors

06games avatar dapohou avatar ddrury avatar frenzeldk avatar gudjonsi avatar jakubcabal avatar magicsunday avatar papjul avatar slavkoja avatar thedutchjewel avatar zaharchenko-yurka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webtrees-pedigree-chart's Issues

Error putting surnames between slashes

Describe the bug
Webtrees advises you if there are two surnames put them like this David /Gómez/ /Iglesias/ between two slashes:

Info Webtrees: "If there are two surnames, each must have bars: José Antonio /Gómez/ /Iglesias/"

But if you do the first surname is repeated twice. To solve it I have to put the two surnames between the same bars: /Gómez Iglesias/

Screenshots
Screenshot_2

Fatal error with latest webtrees 2.1 code

At webtrees commit fisharebest/webtrees@3faaf00

Get error message Uncaught TypeError: $(...).on(...).on(...).collapse is not a function

// Handle special case with option toggler (works only with jquery)
$("#showMoreOptions")
    .on("shown.bs.collapse", function () {
        storage.write("showMoreOptions", true);
    })
    .on("hidden.bs.collapse", function () {
        storage.write("showMoreOptions", false);
    })
    .collapse(
        storage.read("showMoreOptions") ? "show" : "hide"
    );

webtrees-2.1 necessary changes

The following changes to webtrees-pedigree-chart\resources\views\modules\pedigree-chart\page.phtml are required to meet webtrees-2.1 requirements

lines 114/115 change data-toggle to data-bs-toggle
line 230 change data-ajax-url to data-wt-ajax-url

feature request: color code

I know that you have not much time, but I like the design of your module and the possibility to get an overview showing many generations.

It would be nice to use color code for parts of the ancestors, like blue for the family of the father of my father and green for the family of the mother of my mother and so on. I would prefer this more than blue for the men and red for the women.

Russian translation

msgid ""
msgstr ""
"Project-Id-Version: Pedigree chart\n"
"POT-Creation-Date: 2021-10-02 14:05+0200\n"
"PO-Revision-Date: 2022-01-07 06:35+0300\n"
"Last-Translator: Rico Sonntag [email protected]\n"
"Language-Team: \n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 3.0.1\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: translate\n"
"X-Poedit-SearchPath-0: module.php\n"
"X-Poedit-SearchPath-1: src\n"
"X-Poedit-SearchPath-2: resources/views/modules/pedigree-chart/page.phtml\n"
"X-Poedit-SearchPathExcluded-0: resources/lang/node_modules\n"
"X-Poedit-SearchPathExcluded-1: resources/lang/.git\n"
"X-Poedit-SearchPathExcluded-2: resources/lang/css\n"
"X-Poedit-SearchPathExcluded-3: resources/lang/language\n"

#: src/Module.php:110 src/Module.php:211
msgid "Pedigree chart"
msgstr "Восходящее дерево"

#: src/Module.php:120
msgid "A pedigree chart of an individual’s ancestors."
msgstr "Родословная карта предков в виде дерева."

#: src/Module.php:214 src/Traits/ModuleChartTrait.php:38
#, php-format
msgid "Pedigree chart of %s"
msgstr "Восходящее дерево %s"

#: src/Module.php:231
msgid "Use Ctrl + scroll to zoom in the view"
msgstr "Используйте "Ctrl + колесико мышки" для увеличения"

#: src/Module.php:232
msgid "Move the view with two fingers"
msgstr "Измените вид двумя пальцами"

#: src/Traits/IndividualTrait.php:148
#, php-format
msgid "Born: %s"
msgstr "Рождение: %s"

#: src/Traits/IndividualTrait.php:152
#, php-format
msgid "Died: %s"
msgstr "Смерть: %s"

#: src/Traits/IndividualTrait.php:156
msgid "Deceased"
msgstr "Умерший"

#: resources/views/modules/pedigree-chart/page.phtml:37
msgid "Individual"
msgstr "Человек"

#: resources/views/modules/pedigree-chart/page.phtml:54
msgid "Generations"
msgstr "Поколения"

#: resources/views/modules/pedigree-chart/page.phtml:71
msgid "Orientation"
msgstr "Ориентация"

#: resources/views/modules/pedigree-chart/page.phtml:78
msgid "left"
msgstr "влево"

#: resources/views/modules/pedigree-chart/page.phtml:79
msgid "right"
msgstr "вправо"

#: resources/views/modules/pedigree-chart/page.phtml:80
msgid "up"
msgstr "вверх"

#: resources/views/modules/pedigree-chart/page.phtml:81
msgid "down"
msgstr "вниз"

#: resources/views/modules/pedigree-chart/page.phtml:92
msgid "Layout"
msgstr "Расстановка"

#: resources/views/modules/pedigree-chart/page.phtml:99
msgid "Show empty boxes for missing individuals. Caution: May slow down your system!"
msgstr "Добавить отсутствующих"

#: resources/views/modules/pedigree-chart/page.phtml:118
msgid "Show more options"
msgstr "Больше опций"

#: resources/views/modules/pedigree-chart/page.phtml:119
msgid "Hide more options"
msgstr "Меньше опций"

#: resources/views/modules/pedigree-chart/page.phtml:124
msgid "view"
msgstr "Обновить"

#: resources/views/modules/pedigree-chart/page.phtml:130
msgid "Re center"
msgstr "Центрировать"

#: resources/views/modules/pedigree-chart/page.phtml:135
msgid "Export as PNG"
msgstr "Экспорт в PNG"

#: resources/views/modules/pedigree-chart/page.phtml:138
msgid "Export as SVG"
msgstr "Экспорт в SVG"

Adding individual

It would be useful to be able to add individuals directly from the module.

To do this we could display a box for the missing next generation ancestors and when clicked on it we would be taken to the add page to set the information for the parent.
image
On Geneanet

Orientation of the tree

Hello,
Would it be possible to add an option to change the direction of the tree?
I wish I could display it vertically.

Silhouette pictures will not show

See https://www.webtrees.net/index.php/en/forum/9-request-for-new-feature/35306-feature-request-pedigree-chart#83133

It just gives a broken image, it should probably show the silhouette-X.svg?

It is using base64 image href which is broken.

image x="-145" y="-35" height="70" width="70" clip-path="url(#clip-circle)" href="data:image/svg;base64,PHN2ZyBmaWxsPSJyZ2IoMTI4LCAxMjgsIDEyOCkiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij4KPHBhdGggZD0iTTQzMC4xNzYgMTgxLjc0N2MtMjguMTg2IDUuNDU2LTgzLjY0NiA2MS44MjgtMTAwLjkxNiAxMDIuNzQtMTYuMzYyIDQwLjAwOC0xNi4zNjIgMTc2LjM4MiAwIDIxOS4xMTQgNi4zNjYgMTcuMjcxIDIwLjAwNCA1MS44MiAzMC45MDggNzcuMjggMzAuOTA4IDc5LjA5OCAxMy42MzggMTA3LjI4Mi0xMDAuMDA4IDE2My42NS0xMTkuMTA0IDU4LjE4Ni0xNDguMTk4IDk2LjM3OC0xNDguMTk4IDE5MC4wMjAgMCA0NC41NDggMy42MzcgNTQuNTU0IDI2LjM3IDc4LjE4OGwyNi4zNyAyNi4zN2g3MDIuNzk5bDIxLjgyLTIyLjcyOGMxOS4wOTYtMTguMTg3IDIyLjcyOC0zMC45MDggMjIuNzI4LTc2LjM3NCAwLTk4LjE5NC0yMy42MzQtMTI4LjE5NC0xNTQuNTYyLTE5Ni4zODQtNjUuNDU4LTMzLjY0Mi04NS40NjItNDkuMDk2LTk3LjI4Ni03Mi43MzItMTMuNjM4LTI5LjA5NC0xMy42MzgtMzMuNjQyIDUuNDU2LTg4LjE5MSA0OS4wOTYtMTM3LjI4NCA1OC4xODYtMjQxLjg0IDI0LjU0Ny0zMDQuNTc2LTIwLjAwNC0zOC4xODItNzAuOTE2LTgzLjY0Ni0xMDYuMzc0LTkzLjY0Mi0zMC45MDgtOS4wODgtMTEwLjkyMi05Ljk5Ni0xNTMuNjU0LTIuNzI0eiI+PC9wYXRoPgo8L3N2Zz4K"></image>

 

Improve mobile browsing experience

Thank you for such a great module! Especially on mobile devices.
If possible, it is recommended to improve the following two experiences:

1.When browsing the page with the mobile phone, the chart occupies most of the page.
When the page height is higher than the screen of the mobile phone, it is necessary to slide the screen up and down with one finger, but the finger cannot scroll the screen when the chart slides.
Can the code make the page scroll up and down when the single finger slides up and down on the chart?

  1. When the mouse hovers or the finger clicks on the individual box(Or there is a "view details" text link), the detailed information of the individual can be displayed.

Error when not logged in as administrator

Error: Call to a member function parameter() on null in file /modules_v4/webtrees-fan-chart/src/Traits/UtilityTrait.php on line 183
Stack trace:

  1. Error->() /modules_v4/webtrees-fan-chart/src/Traits/UtilityTrait.php:183
  2. MagicSunday\Webtrees\FanChart\Module->getColor() /modules_v4/webtrees-fan-chart/src/Module.php:124
  3. MagicSunday\Webtrees\FanChart\Module->getChartParameters() /modules_v4/webtrees-fan-chart/src/Module.php:90
  4. MagicSunday\Webtrees\FanChart\Module->getChartAction() [internal]:0
  5. ReflectionMethod->invoke() /app/Application.php:45
  6. Fisharebest\Webtrees\Application->dispatch() /app/Http/Controllers/ModuleController.php:82
  7. Fisharebest\Webtrees\Http\Controllers\ModuleController->action() [internal]:0
  8. ReflectionMethod->invoke() /app/Application.php:45
  9. Fisharebest\Webtrees\Application->dispatch() /index.php:156
  10. {closure}() /app/Module/HitCountFooterModule.php:185
  11. Fisharebest\Webtrees\Module\HitCountFooterModule->handle() /index.php:142
  12. {closure}() /app/Http/Middleware/CheckCsrf.php:64
  13. Fisharebest\Webtrees\Http\Middleware\CheckCsrf->handle() /index.php:142
  14. {closure}() /app/Http/Middleware/UseTransaction.php:43
  15. Fisharebest\Webtrees\Http\Middleware\UseTransaction->handle() /index.php:142
  16. {closure}() /app/Http/Middleware/Housekeeping.php:75
  17. Fisharebest\Webtrees\Http\Middleware\Housekeeping->handle() /index.php:142
  18. {closure}() /app/Http/Middleware/DebugBarData.php:42
  19. Fisharebest\Webtrees\Http\Middleware\DebugBarData->handle() /index.php:142
  20. {closure}() /app/Http/Middleware/BootModules.php:59
  21. Fisharebest\Webtrees\Http\Middleware\BootModules->handle() /index.php:142
  22. {closure}() /app/Http/Middleware/UseTheme.php:71
  23. Fisharebest\Webtrees\Http\Middleware\UseTheme->handle() /index.php:142
  24. {closure}() /app/Http/Middleware/UseLocale.php:52
  25. Fisharebest\Webtrees\Http\Middleware\UseLocale->handle() /index.php:142
  26. {closure}() /app/Http/Middleware/UseTree.php:58
  27. Fisharebest\Webtrees\Http\Middleware\UseTree->handle() /index.php:142
  28. {closure}() /app/Http/Middleware/UseSession.php:59
  29. Fisharebest\Webtrees\Http\Middleware\UseSession->handle() /index.php:142
  30. {closure}() /app/Http/Middleware/UseFilesystem.php:50
  31. Fisharebest\Webtrees\Http\Middleware\UseFilesystem->handle() /index.php:142
  32. {closure}() /app/Http/Middleware/CheckForMaintenanceMode.php:48
  33. Fisharebest\Webtrees\Http\Middleware\CheckForMaintenanceMode->handle() /index.php:142
  34. {closure}() /index.php:159

Changelog info

Hi, this is not really a request for the module itself, but it would be great if when a new version is released, you could list the changes in the changelog (ie https://github.com/hartenthaler/hh_extended_family/releases). It would make it a lot easier to understand if an update is useful for the user or not.

Either way, thanks for the great work on the pedigree chart!

feature request: export as png and svg

I know that you have not much time, but I like the design of your module and the possibility to get an overview showing many generations.

It would be nice to export the generated tree as png and svg,

Routing error

Describe the bug
MSN bot is hitting my site with a URL that is causing a routing error with the following error
Fisharebest\Webtrees\Module\PedigreeChartModule …/vendor/aura/router/src/Map.php:152 #0 …/app/Helpers/functions.php(166): Aura\Router\Map-&gt;getRoute(&#039;Fisharebest\\Web...&#039;) #1 …/app/Module/PedigreeChartModule.php(179): route(&#039;Fisharebest\\Web...&#039;, Array) #2 …/app/Http/RequestHandlers/RedirectPedigreePhp.php(82): Fisharebest\Webtrees\Module\PedigreeChartModule-&gt;chartUrl(Object(Fisharebest\Webtrees\Individual), Array) #3 …/app/Http/Middleware/RequestHandler.php(55): Fisharebest\Webtrees\Http\RequestHandlers\RedirectPedigreePhp-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #4 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\RequestHandler-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #5 …/app/Http/Middleware/CheckCsrf.php(75): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #6 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckCsrf-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #7 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #8 …/app/Webtrees.php(241): Middleland\Dispatcher-&gt;dispatch(Object(Nyholm\Psr7\ServerRequest)) #9 …/app/Http/Middleware/Router.php(149): Fisharebest\Webtrees\Webtrees::dispatch(Object(Nyholm\Psr7\ServerRequest), Array) #10 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\Router-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #11 …/app/Http/Middleware/BootModules.php(60): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #12 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BootModules-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #13 …/app/Http/Middleware/LoadRoutes.php(74): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #14 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\LoadRoutes-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #15 …/app/Http/Middleware/UseTransaction.php(45): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #16 …/vendor/illuminate/database/Concerns/ManagesTransactions.php(29): Fisharebest\Webtrees\Http\Middleware\UseTransaction::Fisharebest\Webtrees\Http\Middleware\{closure}(Object(Illuminate\Database\MySqlConnection)) #17 …/app/Http/Middleware/UseTransaction.php(46): Illuminate\Database\Connection-&gt;transaction(Object(Closure), 3) #18 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTransaction-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #19 …/app/Http/Middleware/DoHousekeeping.php(73): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #20 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\DoHousekeeping-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #21 …/app/Http/Middleware/UseTheme.php(69): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #22 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTheme-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #23 …/app/Http/Middleware/CheckForMaintenanceMode.php(51): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #24 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckForMaintenanceMode-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #25 …/app/Http/Middleware/UseLanguage.php(69): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #26 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseLanguage-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #27 …/app/Http/Middleware/UseSession.php(75): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #28 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseSession-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #29 …/app/Http/Middleware/UpdateDatabaseSchema.php(57): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #30 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UpdateDatabaseSchema-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #31 …/app/Http/Middleware/UseDebugbar.php(67): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #32 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDebugbar-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #33 …/app/Http/Middleware/UseDatabase.php(117): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #34 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDatabase-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #35 …/app/Http/Middleware/BadBotBlocker.php(291): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #36 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BadBotBlocker-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #37 …/app/Http/Middleware/CompressResponse.php(73): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #38 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CompressResponse-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #39 …/app/Http/Middleware/ContentLength.php(40): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #40 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ContentLength-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #41 …/vendor/middlewares/client-ip/src/ClientIp.php(65): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #42 …/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #43 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ClientIp-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #44 …/app/Http/Middleware/HandleExceptions.php(89): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #45 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\HandleExceptions-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #46 …/app/Http/Middleware/BaseUrl.php(77): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #47 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BaseUrl-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #48 …/app/Http/Middleware/ReadConfigIni.php(68): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #49 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #50 …/app/Http/Middleware/SecurityHeaders.php(48): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #51 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #52 …/app/Http/Middleware/EmitResponse.php(57): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #53 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\EmitResponse-&gt;process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #54 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher-&gt;handle(Object(Nyholm\Psr7\ServerRequest)) #55 …/app/Webtrees.php(241): Middleland\Dispatcher-&gt;dispatch(Object(Nyholm\Psr7\ServerRequest)) #56 …/app/Webtrees.php(228): Fisharebest\Webtrees\Webtrees::dispatch(Object(Nyholm\Psr7\ServerRequest), Array) #57 …/index.php(44): Fisharebest\Webtrees\Webtrees-&gt;httpRequest() #58 {main}

To Reproduce
I have pretty urls enabled:
the url form that causes the error is /pedigree.php?rootid=I123&ged=mytree. With the inbuild pedigree chart this url is re-writtem as
/tree/mytree/pedigree-right-4/I123

Expected behavior
Re-route as per inbuilt chart

Desktop (please complete the following information):

  • Browser Any
  • Webtrees version 2.1
  • Version of pedigree chart 1.2.8

error with webtrees 2.0.23

Hi Rico,
I'm using webtrees 2.0.23 and got the following error when entering the pedigree chart. What to do?
View file not found: …/modules_v4/webtrees-pedigree-chart/src/../resources/views/modules/pedigree-chart/page.phtml …/app/View.php:261 #0 …/app/View.php(184): Fisharebest\Webtrees\View->getFilenameForView('modules/pedigre...') #1 …/app/View.php(281): Fisharebest\Webtrees\View->render() #2 …/app/Helpers/functions.php(200): Fisharebest\Webtrees\View::make('_webtrees-pedig...', Array) #3 …/app/Http/ViewResponseTrait.php(51): view('_webtrees-pedig...', Array) #4 …/modules_v4/webtrees-pedigree-chart/src/Module.php(202): Fisharebest\Webtrees\Module\AbstractModule->viewResponse('_webtrees-pedig...', Array) #5 …/app/Http/Middleware/WrapHandler.php(66): MagicSunday\Webtrees\PedigreeChart\Module->handle(Object(Nyholm\Psr7\ServerRequest)) #6 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\WrapHandler->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #7 …/app/Module/HitCountFooterModule.php(157): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #8 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Module\HitCountFooterModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #9 …/app/Http/Middleware/CheckCsrf.php(75): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #10 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckCsrf->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #11 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #12 …/app/Http/Middleware/Router.php(166): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest)) #13 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\Router->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #14 …/app/Http/Middleware/BootModules.php(62): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #15 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BootModules->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #16 …/app/Http/Middleware/LoadRoutes.php(76): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #17 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\LoadRoutes->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #18 …/app/Http/Middleware/UseTransaction.php(45): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #19 …/vendor/illuminate/database/Concerns/ManagesTransactions.php(29): Fisharebest\Webtrees\Http\Middleware\UseTransaction::Fisharebest\Webtrees\Http\Middleware\{closure}(Object(Illuminate\Database\MySqlConnection)) #20 …/app/Http/Middleware/UseTransaction.php(46): Illuminate\Database\Connection->transaction(Object(Closure), 3) #21 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTransaction->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #22 …/app/Http/Middleware/DoHousekeeping.php(74): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #23 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\DoHousekeeping->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #24 …/app/Http/Middleware/UseTheme.php(70): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #25 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTheme->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #26 …/app/Http/Middleware/CheckForMaintenanceMode.php(51): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #27 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckForMaintenanceMode->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #28 …/app/Http/Middleware/UseLanguage.php(70): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #29 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseLanguage->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #30 …/app/Http/Middleware/UseSession.php(71): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #31 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseSession->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #32 …/app/Http/Middleware/UpdateDatabaseSchema.php(58): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #33 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UpdateDatabaseSchema->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #34 …/app/Http/Middleware/UseDebugbar.php(67): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #35 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDebugbar->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #36 …/app/Http/Middleware/UseDatabase.php(117): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #37 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDatabase->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #38 …/app/Http/Middleware/BadBotBlocker.php(223): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #39 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BadBotBlocker->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #40 …/app/Http/Middleware/CompressResponse.php(75): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #41 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CompressResponse->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #42 …/app/Http/Middleware/ContentLength.php(40): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #43 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ContentLength->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #44 …/vendor/middlewares/client-ip/src/ClientIp.php(81): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #45 …/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #46 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #47 …/app/Http/Middleware/HandleExceptions.php(90): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #48 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\HandleExceptions->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #49 …/app/Http/Middleware/BaseUrl.php(77): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #50 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BaseUrl->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #51 …/app/Http/Middleware/ReadConfigIni.php(69): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #52 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #53 …/app/Http/Middleware/SecurityHeaders.php(48): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #54 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #55 …/app/Http/Middleware/EmitResponse.php(57): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #56 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\EmitResponse->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #57 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #58 …/app/Webtrees.php(241): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest)) #59 …/app/Webtrees.php(228): Fisharebest\Webtrees\Webtrees::dispatch(Object(Nyholm\Psr7\ServerRequest), Array) #60 …/index.php(44): Fisharebest\Webtrees\Webtrees->httpRequest() #61 {main}

Track upstream

Upstream commit fisharebest/webtrees@d4786c6 changed data attributes.

Need to change modules_v4\webtrees-pedigree-chart\resources\views\modules\pedigree-chart\page.phtml lines 214/215 to

document.getElementById("pedigree-chart-url")
    .setAttribute('data-wt-ajax-url', ajaxUrl);

Change also required in descendants chart

Missing silhouette

Hello.
I'am getting broken image icons on individuals without media, why not the silhouette should be displayed instead of that icon?

20210126_013028

Diagramme Einstellungen

(eher ein Feature request als ein issue)
Ist es möglich die Elemente in den Kästchen für die Individuen entsprechend der Konfiguration für den Baum anzuzeigen?
Screenshot_20210710-173605_Chrome

error: Declaration of MagicSunday

Global php error, after add this model to modules_v4 directory.
Webtrees ver 2.0.7

[Sat Aug 22 17:19:53.734742 2020] [php7:error] [pid 23865] [client 172.69.10.76:20708] PHP Fatal error: Declaration of MagicSunday\\Webtrees\\PedigreeChart\\Traits\\UtilityTrait::boot(Fisharebest\\Webtrees\\Module\\ModuleThemeInterface $theme): void must be compatible with Fisharebest\\Webtrees\\Module\\PedigreeChartModule::boot(): void in /var/www/html/webtrees/modules_v4/webtrees-pedigree-chart/src/Module.php on line 30

You may it fix it?

1.1.0 - silhouette images are not displayed

The silhouette images (webtrees\modules_v4\webtrees-pedigree-chart\resources\images) are not loaded in my browsers (latest versions of Edge and Firefox) on Win10 x64 20H2.

Edge shows a default picture:
image

Firefox shows no picture:
image

Any idea how to fix this?

Error en el módulo webtrees-pedigree-chart 1.4.0

I get the following error when requesting the graphic. I am using webtrees 2.1.7 and I have tried to upgrade to module version 1.4.0, but I still get the same error. Can you help me? Thank you.

DOMDocument::loadHTML(): Unexpected end tag : span in Entity, line: 1 …/modules_v4/webtrees-pedigree-chart/src/Traits/IndividualTrait.php:128
#0 [internal function]: Fisharebest\Webtrees\Webtrees::Fisharebest\Webtrees{closure}(2, 'DOMDocument::lo...', '/var/www/vhosts...', 128, Array)
#1 …/modules_v4/webtrees-pedigree-chart/src/Traits/IndividualTrait.php(128): DOMDocument->loadHTML('<span class="NA...')
#2 …/modules_v4/webtrees-pedigree-chart/src/Traits/IndividualTrait.php(79): MagicSunday\Webtrees\PedigreeChart\Module->getXPath('<span class="NA...')
#3 …/modules_v4/webtrees-pedigree-chart/src/Module.php(248): MagicSunday\Webtrees\PedigreeChart\Module->getIndividualData(Object(Cissee\WebtreesExt\IndividualExt), 3)
#4 …/modules_v4/webtrees-pedigree-chart/src/Module.php(258): MagicSunday\Webtrees\PedigreeChart\Module->buildJsonTree(Object(Cissee\WebtreesExt\IndividualExt), 3)
#5 …/modules_v4/webtrees-pedigree-chart/src/Module.php(258): MagicSunday\Webtrees\PedigreeChart\Module->buildJsonTree(Object(Cissee\WebtreesExt\IndividualExt), 2)
#6 …/modules_v4/webtrees-pedigree-chart/src/Module.php(172): MagicSunday\Webtrees\PedigreeChart\Module->buildJsonTree(Object(Cissee\WebtreesExt\IndividualExt))
#7 …/app/Http/Middleware/RequestHandler.php(54): MagicSunday\Webtrees\PedigreeChart\Module->handle(Object(Nyholm\Psr7\ServerRequest))
#8 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\RequestHandler->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#9 …/modules_v4/reminder/src/Modules/ReminderModule.php(97): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#10 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): UksusoFF\WebtreesModules\Reminder\Modules\ReminderModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#11 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsModule.php(277): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#12 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#13 …/modules_v4/faces/src/Modules/FacesModule.php(94): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#14 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): UksusoFF\WebtreesModules\Faces\Modules\FacesModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#15 …/app/Module/HitCountFooterModule.php(154): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#16 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Module\HitCountFooterModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#17 …/app/Module/CheckForNewVersion.php(115): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#18 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Module\CheckForNewVersion->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#19 …/app/Http/Middleware/CheckCsrf.php(80): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#20 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckCsrf->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#21 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#22 …/app/Webtrees.php(275): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest))
#23 …/app/Http/Middleware/Router.php(153): Fisharebest\Webtrees\Webtrees::dispatch(Object(Nyholm\Psr7\ServerRequest), Array)
#24 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\Router->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#25 …/app/Http/Middleware/BootModules.php(60): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#26 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BootModules->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#27 …/app/Http/Middleware/RegisterGedcomTags.php(54): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#28 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\RegisterGedcomTags->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#29 …/app/Http/Middleware/LoadRoutes.php(75): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#30 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\LoadRoutes->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#31 …/app/Http/Middleware/CheckForNewVersion.php(65): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#32 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckForNewVersion->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#33 …/app/Http/Middleware/UseTransaction.php(45): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#34 …/vendor/illuminate/database/Concerns/ManagesTransactions.php(29): Fisharebest\Webtrees\Http\Middleware\UseTransaction::Fisharebest\Webtrees\Http\Middleware{closure}(Object(Illuminate\Database\MySqlConnection))
#35 …/app/Http/Middleware/UseTransaction.php(46): Illuminate\Database\Connection->transaction(Object(Closure), 3)
#36 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTransaction->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#37 …/app/Http/Middleware/DoHousekeeping.php(73): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#38 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\DoHousekeeping->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#39 …/app/Http/Middleware/UseTheme.php(69): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#40 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTheme->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#41 …/app/Http/Middleware/CheckForMaintenanceMode.php(51): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#42 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckForMaintenanceMode->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#43 …/app/Http/Middleware/UseLanguage.php(71): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#44 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseLanguage->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#45 …/app/Http/Middleware/UseSession.php(78): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#46 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseSession->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#47 …/app/Http/Middleware/UpdateDatabaseSchema.php(57): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#48 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UpdateDatabaseSchema->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#49 …/app/Http/Middleware/UseDatabase.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#50 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDatabase->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#51 …/app/Http/Middleware/BadBotBlocker.php(233): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#52 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BadBotBlocker->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#53 …/app/Http/Middleware/CompressResponse.php(73): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#54 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CompressResponse->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#55 …/app/Http/Middleware/ContentLength.php(40): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#56 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ContentLength->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#57 …/vendor/middlewares/client-ip/src/ClientIp.php(65): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#58 …/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#59 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#60 …/app/Http/Middleware/HandleExceptions.php(90): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#61 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\HandleExceptions->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#62 …/app/Http/Middleware/BaseUrl.php(79): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#63 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BaseUrl->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#64 …/app/Http/Middleware/ReadConfigIni.php(68): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#65 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#66 …/app/Http/Middleware/SecurityHeaders.php(48): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#67 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#68 …/app/Http/Middleware/EmitResponse.php(57): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#69 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\EmitResponse->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#70 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#71 …/app/Webtrees.php(275): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest))
#72 …/app/Webtrees.php(262): Fisharebest\Webtrees\Webtrees::dispatch(Object(Nyholm\Psr7\ServerRequest), Array)
#73 …/index.php(51): Fisharebest\Webtrees\Webtrees->httpRequest()
#74 {main}

1.2.8 keep loading in webtrees 2.1.16

Describe the bug
the pedigree chart keep loading (inifinite turning wheel)

To Reproduce
Steps to reproduce the behavior:

  1. Go to one individual page
  2. select pedigree-chart

Expected behavior
loadin pedigre

Screenshots
image

Desktop (please complete the following information):

  • Chrome, Edge, Brave
  • Webtrees version 2.1.16
  • Version of pedigree chart 1.2.8

Additional context

More data on the chart

At the moment the persons are displayed like following:
grafik

Is it possible to change that to (or something simmilar):
grafik
The data above the two persons is the marriage, Date and Location
Inside the box it is:

  • Name
  • job
  • born Date
  • born Location
  • died Date
  • died Location

Thank you so much for your work. It's sooo great!!

Missing translation for German

There is one phrase which is not translated into German:

  • Show empty boxes for missing individuals. Caution: May slow down your system!
  • Leere Kästchen für fehlende Personen anzeigen. Achtung: dies kann ihr System verlangsamen!

Number of possible generations

Könnte die max. Generationsanzahl reduziert werden? Die aktuell wählbaren 25 Generationen lassen die Internetseite "einfrieren". Eine maximale Anzahl von 10-15 sollte an sich ausreichen, zumal die Lesbarkeit da schon stark abgenommen hat.

svg-Export bearbeiten

Ich habe ein exportiertes svg versucht mit Inkscape nachzubearbeiten.
In Inkscape werden die erzeugten svg nicht korrekt dargestellt.
Nur im Browser habe ich sie bisher korrekt gesehen.

Names

Name display seems weird especially if persons have middle names.

e.g. John /Smith/ is displayed as J. Smith which is OK i suppose.
John Peter /Smith/ is displayed as J. Peter Smith now is is completely incorrect as if we did have to shorten the name it should be John P Smith. So the middle name gets truncated no first

Uncaught TypeError: WebtreesDescendantsChart.DescendantsChart is not a constructor

I got the following error in the console when I open the page with the module. Nothing is render under the filters.
I have no error in the PHP error log.

VM309:15 Uncaught TypeError: WebtreesDescendantsChart.DescendantsChart is not a constructor

line 46 in module_v4/webtrees-descendants-chart/resources/views/modules/charts/chart.phtml

The "WebtreesDescendantsChart" object isn't in the original webtrees code, and it present only in the magicsunday plugins.

Context
Plugin version 1.4.0
Webtrees version 2.1.15
Tested under PHP 8.0 and 8.1

I migrated from my old to my new server.
I did a copy of the DB and the whole Webtrees directory, then I import it to my new server. More or less a recovery plan from a backup.

Everything works with my new server except for two plugins from Magicsunday. In both cases, I have the same javascript error.

I cannot find the difference between the two servers, which can lead to this bug in the interface. It is a strict copy in terms of files and DB, same PHP extensions.

The two plugins
github.com/magicsunday/webtrees-pedigree-chart/
github.com/magicsunday/webtrees-descendants-chart
Screenshot 2023-01-09 at 22 40 28

Chart is not displayed

Describe the bug
I like very much how the chart looks like. When I open the menu, chart is not displayed (I see the "loading circle" only).

To Reproduce
I'm using webtrees installed on https://webtrees.passion.sk and last version of pedigree chart
I was not able to fetch any xhr data. The behavior is the same on mobile phone and on win as well.

I'm using php 7.4 and apache 2.4 and mariadb 10

not an issue, a question

Hi magicsunday.
Thanks for your script.
I don't know if it's the best place to ask a thing, in the webtrees forum they said to go here.

I use this script and i search a solution to open a new window on click to go in the individual page.

I don't know javascript.
Maybe the the to modify is this?

function(){t.personClick(e.data)}))}))}personClick(t){1!==t.generation?this.redirectToIndividual(t.url):this.update(t.updateUrl)}redirectToIndividual(t){window.location=t}update(t){window.location=t}}

but how?

thank you

Installation instructions in the readme

Some feedback for you after I answered a forum post https://www.webtrees.net/index.php/en/forum/help-for-release-2-1-x/38067-issue-after-installing-webtrees-pedigree-chart-module

The readme with installation instructions is not very clear for typical non-technical end users.
Perhaps it's better to start with the steps they need to do. Currently it starts with Composer and Git, and there is no clue for the reader whether these are three ways to achieve the same, or whether all three paragraphs need to be executed in series.

Then after all the installation steps for end users are complete (they do want the manual install, right?) start a separate chapter for developers that want to run it from the raw source code or cloned repo.

Show hebrew names on pedigree chart analog webtrees native chart

The charts that you have created are splendid as they present much better and I can do up to 25 generations.

What I miss is the possibility to have my hebrew names on the box.
Even better would be the possibility to configure exactly what should be shown, which names, how formatted, which dates and places and how formatted.
Original:
pedigree chart webtrees
Your version:

pedigree chart magicsunday

Sorry about my previous issue, I hope this one makes it clear.

Black & White chart blocks

Describe the bug
Sometimes between 4bf28a5 and v1.6.1, charts added as blocks on pages became colorless.
Issue did not happen in previous version or when #59 was submitted

To Reproduce
Pre-requisite:
Modules:

  • default pedigree chart from Webtrees must be disabled
  • webtrees-pedigree-chart must be enabled

Steps to reproduce the behavior:

  1. Go to homepage tree
  2. Add a chart block of type "Pedigree"
  3. Come back to homepage
  4. See chart in black and white

Expected behavior
Chart should be colored.

Screenshots
image

Desktop (please complete the following information):

  • Browser: Chrome, Firefox
  • Webtrees version: 2.1.18
  • Version of pedigree chart: 1.6.1

Additional context
Real-life example here: https://gene.amenysta.net/tree/papasian

Error messages with pedigree chart 1.5.0

Describe the bug
Getting error messages when trying to use the latest version of the chart

To Reproduce
Steps to reproduce the behavior:

  1. upload to ftp-server
  2. open my page
  3. open the pedigree-chart
  4. seeing errors

Call to undefined method Fisharebest\Webtrees\Validator::attributes() …/modules_v4/webtrees-pedigree-chart/src/Module.php:138 #0 …/app/Http/Middleware/WrapHandler.php(66): MagicSunday\Webtrees\PedigreeChart\Module->handle() #1 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\WrapHandler->process() #2 …/modules_v4/faces/src/Modules/FacesModule.php(93): Middleland\Dispatcher->handle() #3 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): UksusoFF\WebtreesModules\Faces\Modules\FacesModule->process() #4 …/app/Module/HitCountFooterModule.php(157): Middleland\Dispatcher->handle() #5 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Module\HitCountFooterModule->process() #6 …/app/Http/Middleware/CheckCsrf.php(75): Middleland\Dispatcher->handle() #7 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckCsrf->process() #8 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle() #9 …/app/Http/Middleware/Router.php(166): Middleland\Dispatcher->dispatch() #10 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\Router->process() #11 …/app/Http/Middleware/BootModules.php(62): Middleland\Dispatcher->handle() #12 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BootModules->process() #13 …/app/Http/Middleware/LoadRoutes.php(76): Middleland\Dispatcher->handle() #14 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\LoadRoutes->process() #15 …/app/Http/Middleware/UseTransaction.php(45): Middleland\Dispatcher->handle() #16 …/vendor/illuminate/database/Concerns/ManagesTransactions.php(29): Fisharebest\Webtrees\Http\Middleware\UseTransaction::Fisharebest\Webtrees\Http\Middleware\{closure}() #17 …/app/Http/Middleware/UseTransaction.php(46): Illuminate\Database\Connection->transaction() #18 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTransaction->process() #19 …/app/Http/Middleware/DoHousekeeping.php(74): Middleland\Dispatcher->handle() #20 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\DoHousekeeping->process() #21 …/app/Http/Middleware/UseTheme.php(70): Middleland\Dispatcher->handle() #22 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTheme->process() #23 …/app/Http/Middleware/CheckForMaintenanceMode.php(51): Middleland\Dispatcher->handle() #24 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckForMaintenanceMode->process() #25 …/app/Http/Middleware/UseLanguage.php(70): Middleland\Dispatcher->handle() #26 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseLanguage->process() #27 …/app/Http/Middleware/UseSession.php(71): Middleland\Dispatcher->handle() #28 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseSession->process() #29 …/app/Http/Middleware/UpdateDatabaseSchema.php(58): Middleland\Dispatcher->handle() #30 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UpdateDatabaseSchema->process() #31 …/app/Http/Middleware/UseDatabase.php(117): Middleland\Dispatcher->handle() #32 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDatabase->process() #33 …/app/Http/Middleware/BadBotBlocker.php(223): Middleland\Dispatcher->handle() #34 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BadBotBlocker->process() #35 …/app/Http/Middleware/CompressResponse.php(75): Middleland\Dispatcher->handle() #36 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CompressResponse->process() #37 …/app/Http/Middleware/ContentLength.php(40): Middleland\Dispatcher->handle() #38 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ContentLength->process() #39 …/vendor/middlewares/client-ip/src/ClientIp.php(81): Middleland\Dispatcher->handle() #40 …/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp->process() #41 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ClientIp->process() #42 …/app/Http/Middleware/HandleExceptions.php(90): Middleland\Dispatcher->handle() #43 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\HandleExceptions->process() #44 …/app/Http/Middleware/BaseUrl.php(77): Middleland\Dispatcher->handle() #45 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BaseUrl->process() #46 …/app/Http/Middleware/ReadConfigIni.php(69): Middleland\Dispatcher->handle() #47 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni->process() #48 …/app/Http/Middleware/SecurityHeaders.php(48): Middleland\Dispatcher->handle() #49 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders->process() #50 …/app/Http/Middleware/EmitResponse.php(57): Middleland\Dispatcher->handle() #51 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\EmitResponse->process() #52 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle() #53 …/app/Webtrees.php(239): Middleland\Dispatcher->dispatch() #54 …/app/Webtrees.php(226): Fisharebest\Webtrees\Webtrees::dispatch() #55 …/index.php(44): Fisharebest\Webtrees\Webtrees->httpRequest() #56 {main}

Desktop (please complete the following information):

  • Browser: chrome
  • Webtrees version 2.0.25
  • Version of pedigree chart 1.5.0 shows errors
  • Version of pedigree chart 1.3.1-dev works fine

JSON-THROW-ON-ERROR

Hi,
I use Webtrees 2.0.16
As I activate the the pedigree chart custom module (v 1.2.5) and try to display it on my webtrees pages, the resuls is an error message :

"use of undefined constant JSON-THROW-ON-ERROR,
as shown in the image

image

Chart is not displayed #2

Describe the bug
I see the same as h4kk1 described in #41.
A "loading circle" is displayed, pressing any button (Show additional options; Display; Center; Export) doesn't work.

I am using php 8 and MariaDB 10 and webtrees 2.1.0-alpha.1 and webtrees-pedigree-chart 1.2.8.
The file /webtrees/data/config.ini.php contains base_url="https://mydomain.de/webtrees".
README.md says 'Requires webtrees 2.0'. Does that mean I should downgrade to webtrees 2.0?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.