magicsunday / webtrees-fan-chart Goto Github PK
View Code? Open in Web Editor NEWSVG based ancestor fan chart module for webtrees genealogy application.
License: GNU General Public License v3.0
SVG based ancestor fan chart module for webtrees genealogy application.
License: GNU General Public License v3.0
A user can click on an ancestor in the fan chart, the chart is then updated where this person becomes the proband (or root). This can be repeated to "zoom in" to deeper parts of the ancestry.
But, there is currently no means to reverse this process, eg. you can't click back to the "original" root. Maybe attach an right-click event to the root person of the chart which calls a "zoom out" function?
I try your module using webtrees 2.0 and i have this error:
Fatal error: Declaration of MagicSunday\Webtrees\FanChart\Traits\UtilityTrait::boot(Fisharebest\Webtrees\Module\ModuleThemeInterface $theme): void must be compatible with Fisharebest\Webtrees\Module\FanChartModule::boot(): void in ........\htdocs\webtrees\modules_v4\webtrees-fan-chart\src\Module.php on line 30
Thanks
With the last version od this addon there is a new issue:
The individual name is taken from given name + surname whereas it should be taken from name, i.e. from Name /Surname/
Your version of the fan chart has an option to change the font size.
In the standard version the equivalent option changes the entire fan size.
Is that a deliberate choice, to change only the font size?
The problem is changing the font size (larger) doesn't really work well when the fan size remains the same. It would seem better if the entire fan AND the font size changed together, or perhaps remove that option?
Using Webtrees 2.0, if you go to an individual, and then try to change the name using the pull down menu, it fails to go to the new individual. I saw #5 as a previous fix in 1.7, but this is broken in 2.x
I noted my fan chart was broken, and managed to trace the error to a person having a name suffix. Deleting the name suffix will fix the problem temporarily
Thank you for creating this module, Can you give me a Vietnamese version?
Hello Rico,
another idea (seen on webpages of another genealogy-SW PRO-GEN: http://www.pro-gen.nl/pg-d.pdf) is to add the marriage dates inbetween.
Regards, Markus
Allow the maximum number of generations possible.
The "grab" cursor doesn't display in Google Chrome. You should either add "cursor: -webkit-grab;"
or change to "cursor: move;"
(...../css/ancestral-fan-chart.css line:12)
latest master with webtrees 2.0.3-dev and php both 7.2 and 7.3 no fan chart displayed, no error.
Update d3.js from v3 to latest v4 version
ErrorException: Undefined variable: options in file /resources/views/components/select.phtml on line 19
Stack trace:
Same issue for has been fixed for the "standard" Pedigree Map and Fanchart in webtrees:
fisharebest/webtrees#3176
Ric, you have your own ged file hard-coded in ancestral-fan-chart.js line 485:
'module.php?ged=Sonntag&mod=ancestral-fan-chart&mod_action=update&rootid=' + d.data.id + '&generations=' + that.options.generations
"Full circle" and "half circle" are ok, but "theee-quarter circle" is less that 3/4.
Thanks Markus
May I ask for adding Czech translation of webtrees-fan-chart.
The .mo and .po should be put into /lang/cs folder.
Not working...
Fatal error: Class MagicSunday\Webtrees\AncestralFanChart\Module contains 6 abstract methods and must therefore be declared abstract or implement the remaining methods (Fisharebest\Webtrees\Module\ModuleChartInterface::chartBoxMenu, Fisharebest\Webtrees\Module\ModuleChartInterface::chartMenu, Fisharebest\Webtrees\Module\ModuleChartInterface::chartMenuClass, ...) in /home/.sites/123/site64/web/modules_v4/webtrees-fan-chart/src/Module.php on line 24
Another idea for enhance would be
save the setted options, so
generations, empty segments, view / degree, inner circle ...
would be the same and must not every time again set.
:)
Could you pls include either .po or .pot file into language folder of downloaded archive?
Thank you for the latest update!
Please find attached the two norwegian languages nn and nb
norwegian.zip
Load individual data by AJAX upon "onclick" event of an arc. Redraw the chart for that clicked individual.
Use of undefined constant JSON_THROW_ON_ERROR - assumed 'JSON_THROW_ON_ERROR' (this will throw an Error in a future version of PHP) …/modules_v4/webtrees-fan-chart/src/Module.php:175 #0 …/modules_v4/webtrees-fan-chart/src/Module.php(175): Fisharebest\Webtrees\Webtrees::Fisharebest\Webtrees\{closure}(2, 'Use of undefine...', '/var/www/Projek...', 175, Array) #1 …/app/Http/Middleware/WrapHandler.php(66): MagicSunday\Webtrees\FanChart\Module->handle(Object(Nyholm\Psr7\ServerRequest)) #2 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\WrapHandler->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #3 …/app/Module/HitCountFooterModule.php(157): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #4 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Module\HitCountFooterModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #5 …/app/Http/Middleware/CheckCsrf.php(75): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #6 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckCsrf->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #7 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #8 …/app/Http/Middleware/Router.php(134): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest)) #9 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\Router->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #10 …/app/Http/Middleware/BootModules.php(62): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #11 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BootModules->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #12 …/app/Http/Middleware/LoadRoutes.php(76): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #13 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\LoadRoutes->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #14 …/app/Http/Middleware/UseTransaction.php(45): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #15 …/vendor/illuminate/database/Concerns/ManagesTransactions.php(29): Fisharebest\Webtrees\Http\Middleware\UseTransaction::Fisharebest\Webtrees\Http\Middleware\{closure}(Object(Illuminate\Database\MySqlConnection)) #16 …/app/Http/Middleware/UseTransaction.php(46): Illuminate\Database\Connection->transaction(Object(Closure), 3) #17 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTransaction->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #18 …/app/Http/Middleware/DoHousekeeping.php(81): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #19 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\DoHousekeeping->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #20 …/app/Http/Middleware/UseTheme.php(70): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #21 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTheme->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #22 …/app/Http/Middleware/CheckForMaintenanceMode.php(51): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #23 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckForMaintenanceMode->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #24 …/app/Http/Middleware/UseLanguage.php(73): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #25 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseLanguage->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #26 …/app/Http/Middleware/UseSession.php(73): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #27 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseSession->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #28 …/app/Http/Middleware/UseFilesystem.php(58): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #29 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseFilesystem->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #30 …/app/Http/Middleware/UpdateDatabaseSchema.php(58): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #31 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UpdateDatabaseSchema->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #32 …/app/Http/Middleware/UseDebugbar.php(67): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #33 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDebugbar->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #34 …/app/Http/Middleware/UseDatabase.php(95): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #35 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDatabase->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #36 …/app/Http/Middleware/BadBotBlocker.php(194): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #37 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BadBotBlocker->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #38 …/app/Http/Middleware/UseCache.php(74): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #39 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseCache->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #40 …/vendor/middlewares/client-ip/src/ClientIp.php(81): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #41 …/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #42 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #43 …/app/Http/Middleware/HandleExceptions.php(76): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #44 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\HandleExceptions->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #45 …/app/Http/Middleware/BaseUrl.php(77): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #46 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BaseUrl->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #47 …/app/Http/Middleware/ReadConfigIni.php(65): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #48 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #49 …/app/Http/Middleware/SecurityHeaders.php(47): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #50 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #51 …/app/Http/Middleware/EmitResponse.php(57): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #52 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\EmitResponse->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #53 …/app/Http/Middleware/PhpEnvironment.php(49): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #54 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\PhpEnvironment->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #55 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #56 …/index.php(55): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest)) #57 {main}
Thanks for the module. Please find dutch translations added to this issue.
Uploading nl.zip…
When i touch more options button, im not getting options
Hallo, zuerst, es ist ein wunderbares Modul. Danke.
Kann es sein, dass die Größe des Eingabefeldes für die ID und die Schriftgröße etwas zu klein ist? Auf dem Tablet mit Safari wie auch mit Firefox unter MacOSX 10.9 sind die beiden Boxen etwas zu schmal für vier und mehr Zeichen.
Hello Rico,
one more idea to further improve your module, which one of the mostly used for my small tree. Thanks!!
Could you possibly add a confguration option to hide empty chart segments?
(Similar to
http://www.syniumsoftware.com/de/macfamilytree/visualize -> Diagramme -> Top-right-picture)
BR, Markus
af translation (.po file)
If displaying for instance a 3 generation chart and clicking on the parents of an individual the data of the next 3 generation should be loaded and displayed, not only the initial loaded data.
Hello Rico, could you add an option to scale the fonts? (e.g. "80% of default size)?
Thanks, Markus
If I click on the reset function in webtrees-fan-chart v2.0, nothing happens.
If I click on the reset button in webtrees-fan-chart v1.7.2, it reset the changes before if I haven't pressed the view button. But in v2.0 it doesn't do anything.
First- and last names of generation 8 and 9 should not initial splitted. They should automatic wrap depending on available space.
Rico, one more ;)
Seems that only the person connected to current login gets displayed. Selecting any other person in "Person-selection-feld" is not taken into account.
It would be useful to (optional configurable) have a download button, so an individual svg chart might be saved for other use.
In the whole rest of webtrees the primary name / nickname ist underlined.
It would be a nice to take the feature over to the fan-chart.
In this issue, my window frame displaying the chart is an inadequate height.
https://gyazo.com/ddf74ce5e5efe89dab1f547c027973fa
This appears this way from two different browsers that I've tested. Firefox and Chrome.
I not sure which version I'm using but the files are date March 2020. I tried using the files dated 5/4/2020 but I get the following error:
filemtime(): stat failed for …/modules_v4/webtrees-fan-chart-master/src/../resources/js/fan-chart.js …/app/Module/ModuleCustomTrait.php:160 #0 [internal function]: Fisharebest\Webtrees\Webtrees::Fisharebest\Webtrees\{closure}(2, 'filemtime(): st...', '/home/forsythe/...', 160, Array) #1 …/app/Module/ModuleCustomTrait.php(160): filemtime('/home/forsythe/...') #2 …/modules_v4/webtrees-fan-chart-master/src/Module.php(182): MagicSunday\Webtrees\FanChart\Module->assetUrl('js/fan-chart.js') #3 …/app/Http/Middleware/WrapHandler.php(66): MagicSunday\Webtrees\FanChart\Module->handle(Object(Nyholm\Psr7\ServerRequest)) #4 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\WrapHandler->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #5 …/app/Module/HitCountFooterModule.php(157): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #6 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Module\HitCountFooterModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #7 …/app/Http/Middleware/CheckCsrf.php(75): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #8 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckCsrf->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #9 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #10 …/app/Http/Middleware/Router.php(134): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest)) #11 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\Router->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #12 …/app/Http/Middleware/BootModules.php(62): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #13 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BootModules->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #14 …/app/Http/Middleware/LoadRoutes.php(76): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #15 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\LoadRoutes->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #16 …/app/Http/Middleware/UseTransaction.php(45): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #17 …/vendor/illuminate/database/Concerns/ManagesTransactions.php(29): Fisharebest\Webtrees\Http\Middleware\UseTransaction::Fisharebest\Webtrees\Http\Middleware\{closure}(Object(Illuminate\Database\MySqlConnection)) #18 …/app/Http/Middleware/UseTransaction.php(46): Illuminate\Database\Connection->transaction(Object(Closure), 3) #19 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTransaction->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #20 …/app/Http/Middleware/DoHousekeeping.php(81): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #21 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\DoHousekeeping->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #22 …/app/Http/Middleware/UseTheme.php(70): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #23 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTheme->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #24 …/app/Http/Middleware/CheckForMaintenanceMode.php(51): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #25 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckForMaintenanceMode->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #26 …/app/Http/Middleware/UseLanguage.php(73): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #27 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseLanguage->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #28 …/app/Http/Middleware/UseSession.php(73): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #29 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseSession->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #30 …/app/Http/Middleware/UseFilesystem.php(58): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #31 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseFilesystem->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(106): 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(208): 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/UseCache.php(74): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #41 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseCache->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #42 …/vendor/middlewares/client-ip/src/ClientIp.php(81): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #43 …/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #44 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #45 …/app/Http/Middleware/HandleExceptions.php(76): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #46 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\HandleExceptions->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #47 …/app/Http/Middleware/BaseUrl.php(77): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #48 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BaseUrl->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #49 …/app/Http/Middleware/ReadConfigIni.php(65): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #50 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #51 …/app/Http/Middleware/SecurityHeaders.php(47): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #52 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #53 …/app/Http/Middleware/EmitResponse.php(57): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #54 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\EmitResponse->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #55 …/app/Http/Middleware/PhpEnvironment.php(49): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #56 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\PhpEnvironment->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #57 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #58 …/index.php(55): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest)) #59 {main}
I just pulled down the zip file for the first time and unzipped into my modules_v4 directory, verified that the directory is named webtrees-fan-chart and went to enable the module. However, my site throws a 500 error. Here is what the log shows:
[Fri Feb 21 14:27:24.801106 2020] [php7:error] [pid 2073] [client 204.69.146.61:11547] PHP Fatal error: Class MagicSunday\\Webtrees\\AncestralFanChart\\Module contains 6 abstract methods and must therefore be declared abstract or implement the remaining methods (Fisharebest\\Webtrees\\Module\\ModuleChartInterface::chartBoxMenu, Fisharebest\\Webtrees\\Module\\ModuleChartInterface::chartMenu, Fisharebest\\Webtrees\\Module\\ModuleChartInterface::chartMenuClass, ...) in /tools/webdocs/genealogy/webtrees2/modules_v4/webtrees-fan-chart/src/Module.php on line 24
This is happening on both my production 2.0.2 site and my 2.0.3 development site.
Hoping it's something simple I'm missing.
Cheers,
Bill Anderson
Is it possible to show individuals with three sources (birth, marriage and death) by changing display color?
For example, like ancestral-fan-chart mod by Squatteur + Gustine.
This is very useful to see which individuals are missing sources.
There's a problem with webtrees-fan-chart v1.7.1 and zooming: in any Firefox version before v71.0, zooming works fine, but in Firefox v71.0 and higher, each zoom results in hidden text in the first five generations.
You can check it yourself with a portable version of Firefox, like:
You can check it with Ctrl+Scroll, or simply change the Firefox window size by double clicking in the header, which switches from window to full screen and vice versa.
Is it possible to fix this nasty problem?
Hallo Rico,
one m ore idea: The grey color of dividing lines look very much the same as sthe pink background of female anchestors. Could you in icrease the contracst of these two colors? E.g. dispay lines in white...
Thanks Markus
It would be really useful to have a button that creates a PDF file with a chart that fills the whole page with small margins. Page size could be selected, like A3 or A4. I've come to the conclusion that a 225° chart is optimal to utilize as much space as possible of an Ax proportioned page. It would save the hassle of exporting the SVG and later printing it to PDF and then cropping the PDF before printing it.
Auf dem Tablet mit Safari fiel mir auf, dass bei 7 und mehr Generationen das Diagramm sichtbar nach rechts rutscht. Bei 6 oder weniger ist es genau zentriert. Reine Grafiksache ...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.