GithubHelp home page GithubHelp logo

vesta-webtrees-2-custom-modules / vesta_shared_places Goto Github PK

View Code? Open in Web Editor NEW
13.0 3.0 3.0 1.64 MB

⚶ Vesta Shared Places (Webtrees 2 Custom Module)

Home Page: https://cissee.de/

License: GNU General Public License v3.0

PHP 82.11% HTML 17.60% Batchfile 0.21% CSS 0.08%
webtrees webtrees-custom webtrees2 gedcom

vesta_shared_places's Introduction

⚶ Vesta Shared Places (Webtrees 2 Custom Module)

This webtrees custom module supports shared places as level 0 GEDCOM objects, on the basis of the GEDCOM-L Addendum to the GEDCOM 5.5.1 specification. It displays data via the extended 'Facts and Events' tab, enhancing places with data obtained from the respective shared place. The project’s website is cissee.de.

This is a webtrees 2.x module - It cannot be used with webtrees 1.x. For its webtrees 1.x counterpart, see here.

Overview: Location data management

See here for an overview of location data management in webtrees, including different use cases for shared places.

Contents

Features

  • Shared places are handled as level 0 _LOC records, containing coordinates, notes, and media objects.
  • In combination with the Gov4Webtrees module, this module may also be used to manage GOV ids within GEDCOM data.
  • Shared places may be edited and viewed via an additional entry in the list menu.

Screenshot

  • Shared places also provide a place history tab, listing all events of specific types. This is particularly useful if you also use shared places for single buildings (e.g. farms), because it also shows the relationships between the respective individuals, thereby providing a 'line of succession' for the shared place.

Screenshot

  • On the (extended) facts and events tab, shared place data is displayed in addition to regular place data.

Screenshot

  • All shared place data is fully included in the gedcom exported by webtrees (and may also be imported from other sources supporting _LOC records), on the basis of the GEDCOM-L Addendum.

  • Location data is provided to other modules (e.g. for use in maps).

  • Shared places may be hierarchical, similar to regular places. Hierarchical relationships between shared places are modelled via explicit links (XREFs to higher-level shared places). This allows to model more complex relationships than via the place hierarchy itself, which uses comma-separated place name parts to indicate the hierarchy. When creating a shared place from a given place name, any missing higher-level shared places are created as well:

Screenshot

  • As hierarchical shared places have not been supported by earlier versions of this custom module, you may have to use a data fix in order to convert existing shared places (having comma-separated name parts), as a one-time migration. This will only affect shared place records of the respective GEDCOM file.

  • The Vesta Places and Pedigree Map module provides an extended place hierarchy list, which may be filtered to shared places. This is useful e.g. to show subordinate shared places.

Gedcom-L Addendum

The Gedcom-L Addendum to the GEDCOM 5.5.1 specification is available here. It defines the following structure for top-level place records:

LOCATION_RECORD:=
0 @<XREF:_LOC>@ _LOC {1:1}
1 NAME <PLACE_NAME> {1:M}
2 DATE <DATE_VALUE> {0:1}
2 ABBR <ABBREVIATION_OF_NAME> {0:M}
3 TYPE <TYPE_OF_ABBREVIATION> {0:1}
2 LANG <LANGUAGE_ID> {0:1}
2 <<SOURCE_CITATION>> {0:M}
1 TYPE <TYPE_OF_LOCATION> {0:M}
2 _GOVTYPE <GOVID_OF_TYPE> {0:1}
2 DATE <DATE_VALUE> {0:1}
2 <<SOURCE_CITATION>> {0:M}
1 _POST <POSTAL_CODE> {0:M}
2 DATE <DATE_VALUE> {0:1}
2 <<SOURCE_CITATION>> {0:M}
1 _GOV <GOV_IDENTIFIER> {0:1}
1 MAP {0:1}
2 LATI <PLACE_LATITUDE> {1:1}
2 LONG <PLACE_LONGITUDE> {1:1}
1 _MAIDENHEAD <MAIDENHEAD_LOCATOR> {0:1}
1 RELI <DENOMINATION> {0:1}
1 EVEN [<EVENT_DESCRIPTOR>|<NULL>] {0:M}
2 <<EVENT_DETAIL>> {0:1}
1 _LOC @<XREF:_LOC>@ {0:M}
2 TYPE <HIERARCHICAL_RELATIONSHIP> {1:1}
2 DATE <DATE_VALUE> {0:1}
2 <<SOURCE_CITATION>> {0:M}
1 _DMGD <DEMOGRAPHICAL_DATA> {0:M}
2 DATE <DATE_VALUE> {0:1}
2 <<SOURCE_CITATION>> {0:M}
2 TYPE <TYPE_OF_DEMOGRAPICAL_DATA> {1:1}
1 _AIDN <ADMINISTRATIVE_IDENTIFIER> {0:M}
2 DATE <DATE_VALUE> {0:1}
2 <<SOURCE_CITATION>> {0:M}
2 TYPE <TYPE_OF_ADMINISTRATIVE_IDENTIFIER> {1:1}
1 <<MULTIMEDIA_LINK>> {0:M}
1 <<NOTE_STRUCTURE>> {0:M}
1 <<SOURCE_CITATION>> {0:M}
1 <<CHANGE_DATE>> {0:1}

Download

Installation

  • Unzip the files and copy the contents of the modules_v4 folder to the respective folder of your webtrees installation. All related modules are included in the zip file. It's safe to overwrite the respective directories if they already exist (they are bundled with other custom modules as well), as long as other custom models using these dependencies are also upgraded to their respective latest versions.
  • Enable the extended 'Facts and Events' module via Control Panel -> Modules -> All modules -> ⚶ Facts and Events.
  • Enable the main module via Control Panel -> Modules -> All modules -> ⚶ Shared Places. After that, you may configure some options.
  • Configure the visibility of the old and the extended 'Facts and Events' tab via Control Panel -> Modules -> Tabs (usually, you'll want to use only one of them. You may just disable the oringinal 'Facts and Events' module altogether).
  • Configure the visibility of the old 'Locations' and the extended 'Shared places' list via Control Panel -> Modules -> Lists (usually, you'll want to use only one of them. You may just disable the original 'Locations' module altogether).

License

  • vesta_shared_places: a webtrees custom module
  • Copyright (C) 2019 – 2024 Richard Cissée
  • Derived from webtrees - Copyright 2022 webtrees development team.
  • French translations provided by Pierre Dousselin.
  • Dutch translations provided by TheDutchJewel.
  • Slovak translations provided by Ladislav Rosival.
  • Czech translations provided by Josef Prause.
  • Further translations contributed via weblate.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

vesta_shared_places's People

Contributors

artemmolotov avatar bernatbanyuls avatar bittin avatar comradekingu avatar greg40 avatar gunnar-go avatar hahalj avatar herzscheisse avatar irwanmarzuki avatar jefferson49 avatar jpretired avatar luca74 avatar mpwt avatar n073v3nm3 avatar nathanbnm avatar ngohuuthuan avatar oersen avatar ol810 avatar ric2016 avatar ro-la avatar thedutchjewel avatar trindal avatar tygyh avatar vdenis06 avatar webtrees-pesz avatar zaharchenko-yurka avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

vesta_shared_places's Issues

Linked Individuals/Families are problematic

For a shared place, we cannot determine linkedIndividuals/linkedFamilies efficiently for the entire hierarchy of lower-level shared places (which would be consistent with how placelinks table is filled) - This would require a helper table 'sharedplacelinks' (or a closure table for the links table? see e.g. here and here), analogous with or anyway at least as efficient as the 'placelinks' table. Recursive common Table expressions could also be used for efficient retrieval, but older DBs don't support them.

Therefore it's problematic e.g. to align the respective counts with the counts via the regular place. Ultimately we may have to split the place hierarchy after all.

The issue gets worse with indirect links from shared places to events - Do we now have to consider two potential separate hierarchies? We may have to deprecate indirect linking as well.

Enhancement: show subordinate places

Screenshot (14)_LI

When you present a shared place, this module shows already the shared place hierarchy (1). My suggestion is to show also all shared places one hierarchy level below this shared place (2) as a table. This would allow us to navigate in both directions of the hierarchy.

Two questions regarding the summary:

  • is "Breisgau-Hochschwarzwald, Baden-Württemberg, DEU" correct or should it be only "Breisgau-Hochschwarzwald"? Is this redundant to the above line "shared place hierarchy"?
  • is there a "shared place icon" missing in the GOV hierarchy line? That there are no icons in front of "Regierungsbezirk Freiburg" und "Europäische Union" is ok, because these two are no shared places in my database.

Error: <opening a person's record with shared places

I get an error message when I open the record of a person with a shared place (including GOV data) in one of the events. The error appears only in the role of a visitor. If I am logged in as a member, the error does not appear.
When I roll back the log, the error occurs the first time at 1st of March.

assert(): RuntimeException in …/app/Services/TreeService.php:137 Stack trace: #0 …/modules_v4/vesta_shared_places/patchedWebtrees/Services/SearchServiceExt.php(201): Fisharebest\Webtrees\Services\TreeService-&gt;find(19) #1 …/modules_v4/vesta_shared_places/patchedWebtrees/Services/SearchServiceExt.php(222): Cissee\WebtreesExt\Services\SearchServiceExt-&gt;Cissee\WebtreesExt\Services{closure}(Object(stdClass)) #2 …/modules_v4/vesta_shared_places/patchedWebtrees/Services/SearchServiceExt.php(147): Cissee\WebtreesExt\Services\SearchServiceExt-&gt;paginateQuery(Object(Illuminate\Database\Query\Builder), Object(Closure), Object(Closure), 0, 9223372036854775806) #3 …/modules_v4/vesta_shared_places/SharedPlacesModule.php(594): Cissee\WebtreesExt\Services\SearchServiceExt-&gt;searchLocationsEOL(Array, Array) #4 …/modules_v4/vesta_common/HookInterfaces/FunctionsPlaceUtils.php(373): Cissee\Webtrees\Module\SharedPlaces\SharedPlacesModule-&gt;gov2loc(Object(Vesta\Model\GovReference), Object(Fisharebest\Webtrees\Tree)) vesta-webtrees-2-custom-modules/vesta_gov4webtrees#5 …/app/Cache.php(59): Vesta\Hook\HookInterfaces\FunctionsPlaceUtils::Vesta\Hook\HookInterfaces{closure}() vesta-webtrees-2-custom-modules/vesta_personal_facts#3 …/vendor/symfony/cache/Adapter/ArrayAdapter.php(63): Fisharebest\Webtrees\Cache::Fisharebest\Webtrees{closure}(Object(Symfony\Component\Cache\CacheItem), true) vesta-webtrees-2-custom-modules/vesta_gov4webtrees#7 …/app/Cache.php(60): Symfony\Component\Cache\Adapter\ArrayAdapter-&gt;get('4e0c4f84976801b...', Object(Closure)) #8 …/modules_v4/vesta_common/HookInterfaces/FunctionsPlaceUtils.php(387): Fisharebest\Webtrees\Cache-&gt;remember('Vesta\Hook\Hook...', Object(Closure)) #9 …/modules_v4/vesta_common/HookInterfaces/FunctionsPlaceUtils.php(419): Vesta\Hook\HookInterfaces\FunctionsPlaceUtils::gov2plac(Object(Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsModule), Object(Vesta\Model\GovReference), Object(Fisharebest\Webtrees\Tree)) #10 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsService.php(132): Vesta\Hook\HookInterfaces\FunctionsPlaceUtils::placPplac(Object(Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsModule), Object(Vesta\Model\PlaceStructure), Object(Illuminate\Support\Collection)) #11 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsService.php(229): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsService-&gt;resolvePlace(Object(Vesta\Model\PlaceStructure), Array) #12 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsModule.php(167): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsService-&gt;getAdditionalFacts(Object(Cissee\WebtreesExt\IndividualExt), true) #13

Type of location

"Type of Location" is labeled as "Type of hierarchical relationship". This is wrong.
Screenshot (11)_LI

It is very good that this module now supports hierarchical locations. I just converted all my location records, but now I have several records with the same name on different hierarchical levels (e.g. as Stadt and Landkreis). In the list of all shared places, it is now not any longer possible to distinguish them. Even the tooltip does not help. So I suggest to use the "type of location" as an additional element, maybe in a second column in the table of the list of shared places.

Clippings Cart

"wenn ich eine Person in die Clipping-cart eingebe, wird der "3 _LOC @x2@"-tag nicht gespeichert, und man kann auch kein Shared-place in die Clipping-cart hinzufügen."

error with shared place after update to webtrees 2.0.9

When I try to edit a BURI record, which contains a shared place (without a _LOC reference to this shared place), there is an error:
autocomplete-place …/vendor/aura/router/src/Map.php:152 #0 …/app/Helpers/functions.php(169): Aura\Router\Map->getRoute('autocomplete-pl...') #1 …/modules_v4/vesta_shared_places/patchedWebtrees/Functions/FunctionsEditLoc.php(413): route('autocomplete-pl...', Array) #2 …/modules_v4/vesta_shared_places/patchedWebtrees/Functions/ExtendedFunctionsEditPlacHandler.php(54): Cissee\WebtreesExt\Functions\FunctionsEditLoc::addSimpleTagWithGedcomRecord(NULL, Object(Fisharebest\Webtrees\Tree), '2 PLAC Martin-L...', 'INDI', 'Bestattungsort') #3 …/modules_v4/vesta_shared_places/replacedWebtrees/Functions/FunctionsEdit.php(832): Cissee\WebtreesExt\Functions\ExtendedFunctionsEditPlacHandler::addSimpleTag(Object(Fisharebest\Webtrees\Tree), '2 PLAC Martin-L...', 'INDI', 'Bestattungsort') #4 …/modules_v4/vesta_shared_places/resources/views/edit/edit-fact.phtml(120): Fisharebest\Webtrees\Functions\FunctionsEdit::createEditForm(Object(Fisharebest\Webtrees\Fact)) #5 …/app/View.php(189): include('/mnt/web312/a3/...') #6 …/app/View.php(286): Fisharebest\Webtrees\View->render() #7 …/app/Helpers/functions.php(203): Fisharebest\Webtrees\View::make('edit/edit-fact', Array) #8 …/app/Http/ViewResponseTrait.php(51): view('edit/edit-fact', Array) #9 …/app/Http/RequestHandlers/EditFactPage.php(80): Fisharebest\Webtrees\Http\RequestHandlers\EditFactPage->viewResponse('edit/edit-fact', Array) #10 …/app/Http/Middleware/WrapHandler.php(83): Fisharebest\Webtrees\Http\RequestHandlers\EditFactPage->handle(Object(Nyholm\Psr7\ServerRequest)) #11 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\WrapHandler->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #12 …/modules_v4/vesta_classic_look_and_feel/ClassicLAFModule.php(151): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #13 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ClassicLAF\ClassicLAFModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #14 …/modules_v4/faces/src/Modules/FacesModule.php(93): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #15 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): UksusoFF\WebtreesModules\Faces\Modules\FacesModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #16 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsModule.php(212): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #17 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #18 …/app/Module/HitCountFooterModule.php(157): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #19 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Module\HitCountFooterModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #20 …/app/Http/Middleware/AuthEditor.php(57): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #21 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\AuthEditor->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #22 …/app/Http/Middleware/CheckCsrf.php(75): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))

Properly handle privacy restrictions

Restricted Shared Places are problematic because their names cannot be shown, which may lead to unintended entries in the Place database (containing name parts like 'Private').

For now, always return true for canShowName().
Ultimately handle this more sensibly.

unknown error in webtrees

I wanted to temporarily widen the access to the website for a user in Webtrees, so that she can temporarily see more data. To see if I did this correctly, I masqueraded myself as this user and then visited another family member's record. That resulted in an error message (see below). What is going on and what can I do about it?

Best regards,
Marianne

Return value of Cissee\WebtreesExt\SharedPlace::Cissee\WebtreesExt\{closure}() must be an instance of Cissee\WebtreesExt\SharedPlace, null returned …/modules_v4/vesta_shared_places/patchedWebtrees/SharedPlace.php:427 #0 [internal function]: Cissee\WebtreesExt\SharedPlace->Cissee\WebtreesExt\{closure}() #1 …/vendor/illuminate/support/Collection.php(1120): array_map() #2 …/modules_v4/vesta_shared_places/patchedWebtrees/SharedPlace.php(428): Illuminate\Support\Collection->map() #3 …/modules_v4/vesta_shared_places/SharedPlacesModule.php(736): Cissee\WebtreesExt\SharedPlace->getParents() #4 …/modules_v4/vesta_common/HookInterfaces/FunctionsPlaceUtils.php(471): Cissee\Webtrees\Module\SharedPlaces\SharedPlacesModule->locPloc() #5 …/modules_v4/vesta_common/HookInterfaces/FunctionsPlaceUtils.php(420): Vesta\Hook\HookInterfaces\FunctionsPlaceUtils::locPloc() #6 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsService.php(132): Vesta\Hook\HookInterfaces\FunctionsPlaceUtils::placPplac() #7 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsService.php(478): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsService->resolvePlace() #8 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsModule.php(167): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsService->getAdditionalFacts() #9 …/modules_v4/vesta_personal_facts/IndividualFactsTabModuleExtended.php(193): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsModule->hFactsTabGetAdditionalFacts() #10 [internal function]: Cissee\Webtrees\Module\PersonalFacts\IndividualFactsTabModuleExtended->Cissee\Webtrees\Module\PersonalFacts\{closure}() #11 …/vendor/illuminate/support/Collection.php(1120): array_map() #12 …/modules_v4/vesta_personal_facts/IndividualFactsTabModuleExtended.php(194): Illuminate\Support\Collection->map() #13 …/modules_v4/vesta_personal_facts/patchedWebtrees/Module/IndividualFactsTabModule_2x.php(163): Cissee\Webtrees\Module\PersonalFacts\IndividualFactsTabModuleExtended->additionalFacts() #14 …/app/Module/ModuleTabTrait.php(116): Cissee\WebtreesExt\Module\IndividualFactsTabModule_2x->getTabContent() #15 …/app/Http/RequestHandlers/ModuleAction.php(88): Cissee\WebtreesExt\Module\IndividualFactsTabModule_2x->getTabAction() #16 …/app/Http/Middleware/WrapHandler.php(83): Fisharebest\Webtrees\Http\RequestHandlers\ModuleAction->handle() #17 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\WrapHandler->process() #18 …/modules_v4/reminder/src/Modules/ReminderModule.php(98): Middleland\Dispatcher->handle() #19 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): UksusoFF\WebtreesModules\Reminder\Modules\ReminderModule->process() #20 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsModule.php(226): Middleland\Dispatcher->handle() #21 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsModule->process() #22 …/modules_v4/vesta_classic_look_and_feel/ClassicLAFModule.php(174): Middleland\Dispatcher->handle() #23 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ClassicLAF\ClassicLAFModule->process() #24 …/modules_v4/faces/src/Modules/FacesModule.php(93): Middleland\Dispatcher->handle() #25 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): UksusoFF\WebtreesModules\Faces\Modules\FacesModule->process() #26 …/app/Module/HitCountFooterModule.php(157): Middleland\Dispatcher->handle() #27 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Module\HitCountFooterModule->process() #28 …/app/Http/Middleware/CheckCsrf.php(75): Middleland\Dispatcher->handle() #29 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckCsrf->process() #30 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle() #31 …/app/Http/Middleware/Router.php(166): Middleland\Dispatcher->dispatch() #32 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\Router->process() #33 …/app/Http/Middleware/BootModules.php(62): Middleland\Dispatcher->handle() #34 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BootModules->process() #35 …/app/Http/Middleware/LoadRoutes.php(76): Middleland\Dispatcher->handle() #36 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\LoadRoutes->process() #37 …/app/Http/Middleware/UseTransaction.php(45): Middleland\Dispatcher->handle() #38 …/vendor/illuminate/database/Concerns/ManagesTransactions.php(29): Fisharebest\Webtrees\Http\Middleware\UseTransaction::Fisharebest\Webtrees\Http\Middleware\{closure}() #39 …/app/Http/Middleware/UseTransaction.php(46): Illuminate\Database\Connection->transaction() #40 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTransaction->process() #41 …/app/Http/Middleware/DoHousekeeping.php(74): Middleland\Dispatcher->handle() #42 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\DoHousekeeping->process() #43 …/app/Http/Middleware/UseTheme.php(70): Middleland\Dispatcher->handle() #44 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTheme->process() #45 …/app/Http/Middleware/CheckForMaintenanceMode.php(51): Middleland\Dispatcher->handle() #46 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckForMaintenanceMode->process() #47 …/app/Http/Middleware/UseLanguage.php(70): Middleland\Dispatcher->handle() #48 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseLanguage->process() #49 …/app/Http/Middleware/UseSession.php(71): Middleland\Dispatcher->handle() #50 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseSession->process() #51 …/app/Http/Middleware/UpdateDatabaseSchema.php(58): Middleland\Dispatcher->handle() #52 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UpdateDatabaseSchema->process() #53 …/app/Http/Middleware/UseDebugbar.php(67): Middleland\Dispatcher->handle() #54 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDebugbar->process() #55 …/app/Http/Middleware/UseDatabase.php(117): Middleland\Dispatcher->handle() #56 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDatabase->process() #57 …/app/Http/Middleware/BadBotBlocker.php(219): Middleland\Dispatcher->handle() #58 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BadBotBlocker->process() #59 …/app/Http/Middleware/CompressResponse.php(75): Middleland\Dispatcher->handle() #60 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CompressResponse->process() #61 …/app/Http/Middleware/RegisterFactories.php(74): Middleland\Dispatcher->handle() #62 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\RegisterFactories->process() #63 …/vendor/middlewares/client-ip/src/ClientIp.php(81): Middleland\Dispatcher->handle() #64 …/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp->process() #65 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ClientIp->process() #66 …/app/Http/Middleware/HandleExceptions.php(90): Middleland\Dispatcher->handle() #67 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\HandleExceptions->process() #68 …/app/Http/Middleware/BaseUrl.php(77): Middleland\Dispatcher->handle() #69 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BaseUrl->process() #70 …/app/Http/Middleware/ReadConfigIni.php(69): Middleland\Dispatcher->handle() #71 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni->process() #72 …/app/Http/Middleware/SecurityHeaders.php(47): Middleland\Dispatcher->handle() #73 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders->process() #74 …/app/Http/Middleware/EmitResponse.php(57): Middleland\Dispatcher->handle() #75 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\EmitResponse->process() #76 …/app/Http/Middleware/PhpEnvironment.php(49): Middleland\Dispatcher->handle() #77 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\PhpEnvironment->process() #78 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle() #79 …/index.php(57): Middleland\Dispatcher->dispatch() #80 {main}

Editing name of shared place not possible.

When I will edit the name of a shared place clicking on the edit icon makes nothing. I cann change this name only using edit gedcom. Not a big problem - name changes are not very often.
image

Editing Name/Married name in an individual works fine.
image

Thanks.

Ladislav

adding additional information: Too much concepts

If you like to add more information to a shared place there are three concepts:
1 add from pop up window
2 add predefined items
3 "add media object" as an own menu topic
Maybe it is possible to reduce this to one or two possibilities.
Screenshot (259)_LI

Enhancement: support for LANG tag in _LOC records

GEDCOM Addendum says

0 @<XREF:_LOC>@ _LOC {1:1}
1 NAME <PLACE_NAME> {1:M}
2 DATE <DATE_VALUE> {0:1}
2 ABBR <ABBREVIATION_OF_NAME> {0:M}
3 TYPE <TYPE_OF_ABBREVIATION> {0:1}
2 LANG <LANGUAGE_ID> {0:1}
...
<LANGUAGE_ID> := {Size=1:15} (Language Identification) All languages listed in 5.5.1 are accepted.

Up to now, this module does not support the tag LANG. It would be nice if a user which prefers for example "English" in his browser/webtrees language, will get the English location name if this one is specified in the _LOC record for the relevant time period. Up to now (when I'm right) the first specified name is used.

I see a problem related to the coding of languages. Addendum and GEDCOM 5.5.1 are using English language names. GOV is using ISO 639-2B (with the exception for German = deu and not ger). Browser language codes (HTML) are based on ISO 639-1.

By the way: I would prefer
2 LANG <LANGUAGE_ID> {0:M}
instead of
2 LANG <LANGUAGE_ID> {0:1}

Screenshot (337)_LI

Ok.. I installed "Shared Places and the Core code. What next?

So.. I see that I can add a new "Shared Place" and adds all of the levels to the PlaceLocation table and the Places table. It also updates the Other table with the _LOC records. This is great!

Now I also see that the Icon next to the location will take me to the Location Record where I can use my notes (rather than shared notes to tell stuff about a location. This is also great!!!

It would be great if you had a "fix it" that added selected PLAC tags to the Location Table so I can reuse the hierarchy already built. I probably don't need all of them at once just select ones.

error when showing an shared location record

When I try to show a location record, which I added today, I get an error:
Return value of Fisharebest\Webtrees\Services\TreeService::find() must be an instance of Fisharebest\Webtrees\Tree, null returned …/app/Services/TreeService.php:136 #0 …/modules_v4/vesta_shared_places/patchedWebtrees/Services/SearchServiceExt.php(138): Fisharebest\Webtrees\Services\TreeService->find(4) #1 …/modules_v4/vesta_shared_places/patchedWebtrees/Services/SearchServiceExt.php(158): Cissee\WebtreesExt\Services\SearchServiceExt->Cissee\WebtreesExt\Services\{closure}(Object(stdClass)) #2 …/modules_v4/vesta_shared_places/patchedWebtrees/Services/SearchServiceExt.php(93): Cissee\WebtreesExt\Services\SearchServiceExt->paginateQuery(Object(Illuminate\Database\Query\Builder), Object(Closure), Object(Closure), 0, 2147483646) #3 …/modules_v4/vesta_shared_places/SharedPlacesModule.php(642): Cissee\WebtreesExt\Services\SearchServiceExt->searchLocationsEOL(Array, Array) #4 …/modules_v4/vesta_common/HookInterfaces/FunctionsPlaceUtils.php(365): Cissee\Webtrees\Module\SharedPlaces\SharedPlacesModule->gov2loc(Object(Vesta\Model\GovReference), Object(Fisharebest\Webtrees\Tree)) #5 …/modules_v4/vesta_gov4webtrees/Gov4WebtreesModule.php(724): Vesta\Hook\HookInterfaces\FunctionsPlaceUtils::gov2plac(Object(Cissee\Webtrees\Module\Gov4Webtrees\Gov4WebtreesModule), Object(Vesta\Model\GovReference), Object(Fisharebest\Webtrees\Tree)) #6 …/modules_v4/vesta_gov4webtrees/Gov4WebtreesModule.php(649): Cissee\Webtrees\Module\Gov4Webtrees\Gov4WebtreesModule->getHierarchy(false, 1, true, Object(Fisharebest\Localization\Locale\LocaleDe), '2459248', '2021', Object(Vesta\Model\GovReference), Object(Fisharebest\Webtrees\Tree), 'shared place vi...', true) #7 …/modules_v4/vesta_personal_facts/FunctionsPrintWithHooks.php(56): Cissee\Webtrees\Module\Gov4Webtrees\Gov4WebtreesModule->factPlaceAdditions(Object(Vesta\Model\PlaceStructure)) #8 [internal function]: Cissee\Webtrees\Module\PersonalFacts\FunctionsPrintWithHooks->Cissee\Webtrees\Module\PersonalFacts\{closure}(Object(Cissee\Webtrees\Module\Gov4Webtrees\Gov4WebtreesModule), '_vesta_gov4webt...') #9 …/vendor/illuminate/support/Collection.php(1120): array_map(Object(Closure), Array, Array) #10 …/modules_v4/vesta_personal_facts/FunctionsPrintWithHooks.php(57): Illuminate\Support\Collection->map(Object(Closure)) #11 …/modules_v4/vesta_personal_facts/IndividualFactsTabModuleExtended.php(295): Cissee\Webtrees\Module\PersonalFacts\FunctionsPrintWithHooks->formatPlaceNameAndSubRecords(Object(Vesta\Model\PlaceStructure)) #12 …/modules_v4/vesta_common/HookInterfaces/FunctionsPlaceUtils.php(46): Cissee\Webtrees\Module\PersonalFacts\IndividualFactsTabModuleExtended->plac2html(Object(Vesta\Model\PlaceStructure)) #13 …/modules_v4/vesta_shared_places/patchedWebtrees/Http/RequestHandlers/SharedPlacePage.php(115): Vesta\Hook\HookInterfaces\FunctionsPlaceUtils::plac2html(Object(Cissee\Webtrees\Module\SharedPlaces\SharedPlacesModule), Object(Vesta\Model\PlaceStructure)) #14 …/app/Http/Middleware/WrapHandler.php(83): Cissee\WebtreesExt\Http\RequestHandlers\SharedPlacePage->handle(Object(Nyholm\Psr7\ServerRequest)) #15 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\WrapHandler->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #16 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsModule.php(213): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #17 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #18 …/modules_v4/faces/src/Modules/FacesModule.php(93): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #19 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): UksusoFF\WebtreesModules\Faces\Modules\FacesModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #20 …/modules_v4/vesta_classic_look_and_feel/ClassicLAFModule.php(161): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest)) #21 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ClassicLAF\ClassicLAFModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher)) #22 …/app/Module/HitCountFooterModule.php(157): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))

Question - Using Vesta Shared Places vs webtrees "Geographic data"

I've created a test server with PHP 7.4, webtrees 2.0.21 and Vesta 2.0.19.2.0

I've added to this server a GEDCOM with just PLAC tags (no _LOC tags).
I've added to this server a .csv containing nearly all of the places found in the PLAC tags of the installed GEDCOM.

I've set the following Vesta modules to active: Location Data Provider, Shared Places, Places and Pedigree Map, Families, Facts and Events, Common, Clipping Chart

I've ordered the Location Data Provider: Shared Places, webtrees. With GOV turned off

In the Vesta Shared Places module I've turned on: Displayed title, Shared place structure, Linking of shared places to places

My hopes are:

  1. Generate all "Shared Places" from the installed *.csv containing all LONG/LATI for PLAC tags
  2. Use the current PLAC tags for "shared places" lookup so that:
    a) maps will work showing pinned locations,
    b) eventually adding text to the "shared places" to describe the location.
  3. No additional 2 _LOC @xxxx@ tags added to the GEDCOM or GOV look ups.

Can this be done? What Fix do I run to generate the "Shared Places" records?

printAddNewFact: Make types configurable

addfacts, uniquefacts, quickfacts should be configurable.
(just like for other record types)

Note: Other records type are configurable per tree - Do we want to support this as well? Seems a bit excessive (and if we do, why stop here - All custom module preferences could be made configurable per tree ...)

Edit control on PLAC

For users prefering direct linking,

_LOC should be supported when editing PLAC within events, similar to shared notes etc (i.e. "create/select Shared Place").

Error after click on place name

wt 2.0.12, vesta 2.0.11.4.0
Individual's death: newly introduced place name.
It is not a shared place yet, it has no coordinates in geographic data yet.
image

Clicking on the name produces an error, see attached file:
20210312-error.txt

webtrees Geographic data after creating shared places

webtrees 2.0.11, vesta modules 2.0.11.2.1
I created shared places in a tree using Data fix > Create missing shared places from tree-independent data, and add missing XREFs.
After clicking 'Update all' all hierarchy of shared places was created with correct coordinates taken from Geographic data. But the list of places in Geographic data changed!

The list before Data fix:
image

The list after Data fix:
image

My question is: Is this an intended result?

Additional option in place hierarchy

"Exclude alternate names of shared places"

Original FR:
"Dabei habe ich festgestellt, dass in der Kartenansicht "Hierarchie der
Orte" dann jeder Ort mehrmals bzw. mit allen parallel vergebenen Namen
dargestellt wird, siehe Screenshot in der Anlage. Ist das Absicht, oder
kann man das evtl. einstellen? Ich möchte eigentlich, dass der Ort nur
mit dem ersten Namen angezeigt wird. "

Report of shared places

"Schön wäre nun ein Report, der alle LOC-Records mit den enthaltenen Daten (derzeit nur Notizen und Bilder) listet"

Feature request: owners of a shared place

Hi, I now use shared places for houses (eg. housenumber 1, street, village, region, country)
now housnumber 1 is assigned to more individuals by the owner opition.
would like to have a tab in the shared place where all owners are listed (like the person and family tab) with the years. eg.
1700-1750 person 1
1750-1800 person 2
...
...
is it possible to do?

Shared Places List: Hierarchy

List hierarchical shared places under higher-level places (similar to main places list).

(suggested via email on 2020-05-19)

Show location data on Shared Places page

"wenn da Koordinaten sind, konnten da auch die Icons für GoogleMap usw. sein"

Wahrscheinlich ist das Einfachste eine Zusammenfassung über den einzelnen Feldern des Gemeinsamen Ortes, wo alle Erweiterungen wie auf dem Facts & Events-Tab angezeigt werden.

Anderenfalls wäre nicht klar, wo genau am Gemeinsamen Ort man diese Icons anzeigen sollte (an den Koordinaten? An der GOV-Id?)

Location data providers

Location is not provided (depending on location data providers order) when a Shared Place is matched by name and by 3 _LOC @L123@.

Empty box for SOUR:DATA:TEXT is wrongly displayed

Editing form for a source text is displyed only as a single line box.
obrázok_2021-05-27_143950

This happens only when Vesta Shared Place modul is activated and there is a source without a text.

When the module is disabled it looks normal:
obrázok_2021-05-27_144129

Perhaps this forum thread was something related to this.

Error when not logged in

webtres 2.0.3, Vesta modules 2.0.3.6

Trying to display a shared place in a private tree (when not logged in) results in following error(s). It should give a notice - no such place, or no rights to see it.

assert(): assert($tree instanceof Tree) failed …/modules_v4/vesta_shared_places/SharedPlacesModule.php:447 #0 [internal function]: Fisharebest\Webtrees\Webtrees::Fisharebest\Webtrees\{closure}(2, 'assert(): asser...', '/home/html/just...', 447, Array) #1 …/modules_v4/vesta_shared_places/SharedPlacesModule.php(447): assert(false, 'assert($tree in...') #2 …/app/Http/RequestHandlers/ModuleAction.php(90): Cissee\Webtrees\Module\SharedPlaces\SharedPlacesModule->getSingleAction(Object(Nyholm\Psr7\ServerRequest)) #3 …/app/Http/Middleware/WrapHandler.php(83): Fisharebest\Webtrees\Http\RequestHandlers\ModuleAction->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}

image

Thanks,

Ladislav

Issues when editing coordinates

"I looked up one place and copied text “45.695833, -87.510833” but when I pasted it into the Lat space (intending to cut the long and paste it below), it changed to “N:45.695833,:E87.510833” With some difficulty (more on that later), I thought I had both correct, and I clicked Save. No error messages, but after, I noticed that one of the colons (:) was still in there. When I clicked the edit icon, I got a stack dump for “not a number” or something like that. I had to “edit raw GEDCOM” to fix it.

I mentioned "some difficulty”—I selected the default E0 and pasted W87.510833. The 0 went but the E stayed, giving me EW87.510833. I put the edit cursor after the E and hit delete. It moved the cursor to the end and deleted the last digit. In repeated attempts to edit near the beginning, sometimes it does the same, sometimes it deletes what I want then jumps to the end."

Convert newly introduced place to shared place

After adding place to an individual's event I edit the event:
By means of + I want to create a shared place:
image

A form pops up:
image

I fll in the name of shared place and click on 'save'. The form stays on with no message, have to cancel it to close.
But the shared place is created as can be seen afterwards in list of shared places!

I go on to edit the shared place to add a higher level shared place (which exists):
image

I try to type the name of higher level shared place but can't - 'The results could not be loaded.'

Please what is the right way to do this task?

Table 'placelinks' incomplete for shared places

A shared place must explicitly link to its parent places as well!

See how other records are linked: An individual with an event place "A, B" has to rws in the 'placelinks' table: one for "A, B" and one for "B".

Due to these links missing currently, the following happens for a shared place L1 with place P1 and with child place L2 with place P2:
During FunctionsImport.updateRecord, the placelink from P1 to L1 is deleted.
The place P1 isn't linked anywhere else, and therefore P1 is assumed to be orphaned and deleted in the table 'places'.
P2 in 'places' now points to a missing parent P1.
This inconsistency is propagated to the 'placelocations' table, where P2 now appears as a top-level entry.

[request] Collapse Information in Administration

The use of more than one extension results in doublette informations.

image

an addition of

 .wt-custom-module-info {    margin-top: -20px; padding-top: 20px;  height: 0; overflow: hidden; }
 .wt-custom-module-info:hover {    height: inherit; }

would result in:
image

with mouse hover over the line would look like this:
image

may it be an option?

Error in General Search for Shared Places

When I start a search with a GOV ID in the general search with "Shared Places" checked, the following error message appears:

assert(): assert($module instanceof SharedPlacesModule_20) failed …/modules_v4/vesta_shared_places/resources/views/search-results-ext_20.phtml:136
#0 [internal function]: Fisharebest\Webtrees\Webtrees::Fisharebest\Webtrees{closure}(2, 'assert(): asser...', '/var/www/web838...', 136, Array)
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#1 …/modules_v4/vesta_shared_places/resources/views/search-results-ext_20.phtml(136): assert(false, 'assert($module ...')
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#2 …/app/View.php(184): include('/var/www/web838...')
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#3 …/app/View.php(281): Fisharebest\Webtrees\View->render()
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#4 …/app/Helpers/functions.php(200): Fisharebest\Webtrees\View::make('search-results-...', Array)
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#5 …/modules_v4/vesta_shared_places/resources/views/search-general-page-ext_20.phtml(123): view('search-results-...', Array)
#6 …/app/View.php(184): include('/var/www/web838...')
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#7 …/app/View.php(281): Fisharebest\Webtrees\View->render()
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#8 …/app/Helpers/functions.php(200): Fisharebest\Webtrees\View::make('search-general-...', Array)
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#9 …/app/Http/ViewResponseTrait.php(51): view('search-general-...', Array)
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#10 …/modules_v4/vesta_shared_places/patchedWebtrees/Http/RequestHandlers/SearchGeneralPageExt_20.php(191): Cissee\WebtreesExt\Http\RequestHandlers\SearchGeneralPageExt_20->viewResponse('search-general-...', Array)
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#11 …/app/Http/Middleware/WrapHandler.php(83): Cissee\WebtreesExt\Http\RequestHandlers\SearchGeneralPageExt_20->handle(Object(Nyholm\Psr7\ServerRequest))
#12 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\WrapHandler->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#13 …/modules_v4/faces/src/Modules/FacesModule.php(93): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#14 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): UksusoFF\WebtreesModules\Faces\Modules\FacesModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#15 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsModule_20.php(231): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#16 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsModule_20->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))

Sticky: Webtrees dev build issues

The webtrees core code hasn't quite settled yet. Therefore ongoing changes in webtrees often break some functionality of the Vesta custom modules.

For now, in general the webtrees dev builds are not supported by the Vesta core modules - it is too much effort to provide releases that work with both the latest webtrees release and the latest webtrees dev build. Therefore it isn't required to report bugs that only occur when using a webtrees dev build. All other bug reports are very much appreciated!

unexpected tag _GOVTYPE

There was an illegal GEDCOM structure in a shared place record (manually entered by me):
1 _LOC X164
2 _GOVTYPE POLI

it should be
1 _LOC @X164@
2 TYPE POLI

When I tried to edit this element the following error was raised (maybe this error can be catched):

unexpected tag: _GOVTYPE …/modules_v4/vesta_shared_places/patchedWebtrees/Functions/FunctionsEditLoc.php:195 #0 …/modules_v4/vesta_shared_places/patchedWebtrees/Functions/FunctionsEditLoc.php(84): Cissee\WebtreesExt\Functions\FunctionsEditLoc::addSimpleTagWithGedcomRecord(Object(Cissee\WebtreesExt\SharedPlace), Object(Cissee\WebtreesExt\CustomTree), '2 _GOVTYPE POLI', '_LOC', '<span class="er...') vesta-webtrees-2-custom-modules/vesta_gov4webtrees#1 …/modules_v4/vesta_shared_places/resources/views/edit/edit-fact.phtml(36): Cissee\WebtreesExt\Functions\FunctionsEditLoc::createEditFormLoc(Object(Fisharebest\Webtrees\Fact)) vesta-webtrees-2-custom-modules/vesta_gov4webtrees#2 …/app/View.php(186): include('/mnt/web312/a3/...') vesta-webtrees-2-custom-modules/vesta_gov4webtrees#3 …/app/View.php(282): Fisharebest\Webtrees\View->render() vesta-webtrees-2-custom-modules/vesta_gov4webtrees#4 …/app/Helpers/functions.php(203): Fisharebest\Webtrees\View::make('edit/edit-fact', Array) vesta-webtrees-2-custom-modules/vesta_gov4webtrees#5 …/app/Http/ViewResponseTrait.php(51): view('edit/edit-fact', Array) vesta-webtrees-2-custom-modules/vesta_personal_facts#3 …/app/Http/RequestHandlers/EditFactPage.php(82): Fisharebest\Webtrees\Http\RequestHandlers\EditFactPage->viewResponse('edit/edit-fact', Array) vesta-webtrees-2-custom-modules/vesta_gov4webtrees#7 …/app/Http/Middleware/WrapHandler.php(83): Fisharebest\Webtrees\Http\RequestHandlers\EditFactPage->handle(Object(Nyholm\Psr7\ServerRequest))

Undefined Method: Filter::escapeHTML in SharedPlacedModule.php

PHP error: Call to undefined method Fisharebest\Webtrees\Filter::escapeHtml() …\modules_v4\vesta_shared_places\SharedPlacesModule.php:258

I have both the custom Vesta 'Facts and Events' and 'Shared Places' modules installed. Issue arises when Shared Places Module is enabled and Preferences tick-box is set to 'Restrict to Specific Facts and Events' - see screenshort.
NB: the issue is not seen if the tick-box is deselected.

error.log

preferences

Running webtrees 2 (beta 4)

Side Note: May be useful to prevent user from selecting 'Specific facts and events' tick-box where no Gedcom fact types are selected as this causes a PHP error

Error when opening the "List Media Object"

Undefined variable: form_type …/modules_v4/vesta_shared_places/resources/views/modules/media-list/page.phtml:41
#0 …/modules_v4/vesta_shared_places/resources/views/modules/media-list/page.phtml(41): Fisharebest\Webtrees\Webtrees::Fisharebest\Webtrees{closure}(8, 'Undefined varia...', '/volume1/web/we...', 41, Array)
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#1 …/app/View.php(189): include('/volume1/web/we...')
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#2 …/app/View.php(286): Fisharebest\Webtrees\View->render()
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#3 …/app/Helpers/functions.php(203): Fisharebest\Webtrees\View::make('modules/media-l...', Array)
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#4 …/app/Http/ViewResponseTrait.php(51): view('modules/media-l...', Array)
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#5 …/app/Module/MediaListModule.php(223): Fisharebest\Webtrees\Module\AbstractModule->viewResponse('modules/media-l...', Array)
vesta-webtrees-2-custom-modules/vesta_personal_facts#3 …/app/Http/Middleware/WrapHandler.php(66): Fisharebest\Webtrees\Module\MediaListModule->handle(Object(Nyholm\Psr7\ServerRequest))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#7 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\WrapHandler->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#8 …/modules_v4/vesta_classic_look_and_feel/ClassicLAFModule.php(146): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#9 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ClassicLAF\ClassicLAFModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#10 …/modules_v4/vesta_research_suggestions/ResearchSuggestionsModule.php(212): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#11 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Cissee\Webtrees\Module\ResearchSuggestions\ResearchSuggestionsModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
vesta-webtrees-2-custom-modules/vesta_common#2 …/app/Module/HitCountFooterModule.php(157): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#13 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Module\HitCountFooterModule->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#14 …/app/Http/Middleware/CheckCsrf.php(75): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#15 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckCsrf->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#17 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
vesta-webtrees-2-custom-modules/vesta_gov4webtrees#17 …/app/Http/Middleware/Router.php(134): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest))
#18 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\Router->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#19 …/app/Http/Middleware/BootModules.php(62): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#20 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BootModules->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#21 …/app/Http/Middleware/LoadRoutes.php(76): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#22 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\LoadRoutes->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#23 …/app/Http/Middleware/UseTransaction.php(45): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#24 …/vendor/illuminate/database/Concerns/ManagesTransactions.php(29): Fisharebest\Webtrees\Http\Middleware\UseTransaction::Fisharebest\Webtrees\Http\Middleware{closure}(Object(Illuminate\Database\MySqlConnection))
#25 …/app/Http/Middleware/UseTransaction.php(46): Illuminate\Database\Connection->transaction(Object(Closure), 3)
#26 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTransaction->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#27 …/app/Http/Middleware/DoHousekeeping.php(81): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#28 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\DoHousekeeping->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#29 …/app/Http/Middleware/UseTheme.php(70): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#30 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseTheme->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#31 …/app/Http/Middleware/CheckForMaintenanceMode.php(51): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#32 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\CheckForMaintenanceMode->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#33 …/app/Http/Middleware/RegisterFactories.php(73): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#34 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\RegisterFactories->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#35 …/app/Http/Middleware/UseLanguage.php(73): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#36 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseLanguage->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#37 …/app/Http/Middleware/UseSession.php(71): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#38 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseSession->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#39 …/app/Http/Middleware/UseFilesystem.php(58): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#40 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseFilesystem->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#41 …/app/Http/Middleware/UpdateDatabaseSchema.php(58): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#42 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UpdateDatabaseSchema->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#43 …/app/Http/Middleware/UseDebugbar.php(67): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#44 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDebugbar->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#45 …/app/Http/Middleware/UseDatabase.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#46 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseDatabase->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#47 …/app/Http/Middleware/BadBotBlocker.php(213): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#48 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BadBotBlocker->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#49 …/app/Http/Middleware/UseCache.php(74): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#50 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\UseCache->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#51 …/vendor/middlewares/client-ip/src/ClientIp.php(81): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#52 …/app/Http/Middleware/ClientIp.php(47): Middlewares\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#53 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ClientIp->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#54 …/app/Http/Middleware/HandleExceptions.php(90): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#55 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\HandleExceptions->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#56 …/app/Http/Middleware/BaseUrl.php(77): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#57 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\BaseUrl->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#58 …/app/Http/Middleware/ReadConfigIni.php(69): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#59 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\ReadConfigIni->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#60 …/app/Http/Middleware/SecurityHeaders.php(47): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#61 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\SecurityHeaders->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#62 …/app/Http/Middleware/EmitResponse.php(57): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#63 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\EmitResponse->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#64 …/app/Http/Middleware/PhpEnvironment.php(49): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#65 …/vendor/oscarotero/middleland/src/Dispatcher.php(136): Fisharebest\Webtrees\Http\Middleware\PhpEnvironment->process(Object(Nyholm\Psr7\ServerRequest), Object(Middleland\Dispatcher))
#66 …/vendor/oscarotero/middleland/src/Dispatcher.php(118): Middleland\Dispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#67 …/index.php(57): Middleland\Dispatcher->dispatch(Object(Nyholm\Psr7\ServerRequest))
#68 {main}

webtrees

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.