vesta-webtrees-2-custom-modules / vesta_shared_places

⚶ Vesta Shared Places (Webtrees 2 Custom Module)
https://cissee.de/
GNU General Public License v3.0
13 stars 3 forks source link

Editing of shared locations (_LOC) not possible #140

Closed hartenthaler closed 1 year ago

hartenthaler commented 1 year ago

When I try to edit a shared location record there is an error message

Fisharebest\Webtrees\Http\RequestHandlers\CreateLocationModal …/vendor/aura/router/src/Map.php:189
#0 …/app/Factories/RouteFactory.php(62): Aura\Router\Map->getRoute()
vesta-webtrees-2-custom-modules/vesta_classic_laf#1 …/app/Helpers/functions.php(132): Fisharebest\Webtrees\Factories\RouteFactory->route()
vesta-webtrees-2-custom-modules/vesta_classic_laf#2 …/app/Elements/XrefLocation.php(60): route()
vesta-webtrees-2-custom-modules/vesta_classic_laf#3 …/modules_v4/vesta_classic_look_and_feel/resources/views/edit/edit-gedcom-fields-ext2.phtml(86): Fisharebest\Webtrees\Elements\XrefLocation->edit()
vesta-webtrees-2-custom-modules/vesta_classic_laf#4 …/app/View.php(183): include('...')
vesta-webtrees-2-custom-modules/vesta_classic_laf#5 …/app/View.php(278): Fisharebest\Webtrees\View->render()
vesta-webtrees-2-custom-modules/vesta_classic_laf#6 …/app/Helpers/functions.php(145): Fisharebest\Webtrees\View::make()
vesta-webtrees-2-custom-modules/vesta_classic_laf#7 …/modules_v4/vesta_classic_look_and_feel/resources/views/edit/edit-gedcom-fields-switch.phtml(33): view()
ric2016 commented 1 year ago

I cannot reproduce this. 'XrefLocation' in the stack trace is suspicious - Is Vesta Shared Places disabled? In any case, which edit dialog causes this?

hartenthaler commented 1 year ago

This is a very specific case. I have to describe it in German.

Der Fehler passiert nur bei genau zwei Datensätzen, sonst nicht. Das Besondere an den beiden Datensätzen ist, dass ich dort eine Städtepartnerschaft hinterlegt habe: die Orte (_LOC-Datensätze) Ennetach und Zähringen sind über eine Partnerschaft verbunden, d.h. es gibt ein Event im Ort Zähringen, das sie gegenseitig referenziert.

Das hat in der neuesten Vesta- und webtrees-Version den oben beschriebenen Fehler zur Folge. Ich vermute, dass der Fehler vorher nicht existierte. Beschwören würde ich das aber nicht.

Das Eigenartige ist, dass der Ort Zähringen als dem Ort Ennetach untergeordnet aufgeführt wird, obwohl das so nicht in den Daten enthalten ist (Zähringen ist nur dem Ort Freiburg untergeordnet). Der Ort Ennetach ist sich selbst untergeordnet, was auch nicht in den Daten enthalten ist, denn Ennetach ist nur der Stadt Mengen untergeordnet.

Screenshot (95)

Die beiden _LOC-Datensätze sind:

0 @X164@ _LOC
1 NAME Ennetach
1 TYPE Ortsteil
2 _GOVTYPE 40
1 _GOV ENNACHJN48PB
1 MAP
2 LATI N48.052778
2 LONG E9.322222
1 _MAIDENHEAD JN69
1 EVEN Überfall durch Graf xxx
2 TYPE Brand
2 DATE 1340
1 _LOC @X166@
2 TYPE POLI
1 _DMGD 13
2 TYPE WOHNUNG
1 NOTE Links
2 CONT * [Wikipedia](https://de.wikipedia.org/wiki/Ennetach "Ennetach in der wikipedia")
2 CONT * [Ortsteil im Ortslexikon Baden-Württemberg](https://www.leo-bw.de/web/guest/detail-gis/-/Detail/details/ORT/labw_ortslexikon/21159/ort "Ortsteil Ennetach im Ortslexikon Baden-Württemberg")
1 EVEN
2 TYPE Brand
2 DATE 1340
2 NOTE ohne Ortsangabe
1 EVEN
2 TYPE Überflutung
2 DATE 1350
2 PLAC Ennetach; Mengen, Sigmaringen, Baden-Württemberg, DEU
3 _LOC @X164@
2 NOTE mit Ortsangabe
0 @X167@ _LOC
1 NAME Zähringen
1 _GOV ZAHGENJN38WA
1 _LOC @X168@
2 TYPE POLI
1 TYPE Stadtteil
2 _GOVTYPE 54
1 NOTE Links
2 CONT * [Wikipedia](https://de.wikipedia.org/wiki/Zähringen_(Freiburg_im_Breisgau) "Zähringen in der wikipedia")
2 CONT * [Teilort im Ortslexikon Baden-Württemberg](https://www.leo-bw.de/web/guest/detail-gis/-/Detail/details/ORT/labw_ortslexikon/7751/Z%C3%A4hringen+-+Altgemeinde~Teilort "Zähringen im Ortslexikon Baden-Württemberg")
2 CONT * [Zähringer Burg im Ortslexikon Baden-Württemberg](https://www.leo-bw.de/web/guest/detail/-/Detail/details/ORT/labw_ortslexikon/23040/Z%C3%A4hringen+Burg+-+W%C3%BCstung "Zähringer Burg im Ortslexikon Baden-Württemberg")
1 MAP
2 LATI N48.02315
2 LONG E7.86014
1 EVEN
2 TYPE Partnerschaft
2 DATE 01 JAN 1351
2 PLAC Ennetach; Mengen, Sigmaringen, Baden-Württemberg, DEU
3 _LOC @X164@
hartenthaler commented 1 year ago

'XrefLocation' in the stack trace is suspicious - Is Vesta Shared Places disabled? In any case, which edit dialog causes this?

Vesta Shared Places is enabled. Show _LOC record. Click on "Edit".

ric2016 commented 1 year ago

Das Eigenartige ist, dass der Ort Zähringen als dem Ort Ennetach untergeordnet aufgeführt wird, obwohl das so nicht in den Daten enthalten ist (Zähringen ist nur dem Ort Freiburg untergeordnet). Der Ort Ennetach ist sich selbst untergeordnet, was auch nicht in den Daten enthalten ist, denn Ennetach ist nur der Stadt Mengen untergeordnet.

Das liegt an den Links via

0 @X164@ _LOC
1 EVEN
2 PLAC Ennetach; Mengen, Sigmaringen, Baden-Württemberg, DEU
3 _LOC @X164@

usw. - diese werden anscheinend von webtrees in der Tabelle 'links' abgelegt und sind dort nicht unterscheidbar von "echten" Links der Hierarchie wie

0 @X164@ _LOC
1 _LOC @X166@

Da die Hierarchie der Gemeinsamen Orte aus Performancegründen auf der links-Tabelle aufbaut, sehe ich hierfür keine einfache Lösung.

Wie hier besprochen halte ich die LOC:EVEN:PLAC-Struktur sowieso für keine gute Idee und kann erstmal nur empfehlen, darauf zu verzichten.

ric2016 commented 1 year ago

Original issue (edit dialog error) is fixed in code. I have created a separate issue for the links problem, but I don't expect to be able to fix it easily/soon.

hartenthaler commented 1 year ago

Danke! Ich dachte zuerst es sei ein genereller Fehler bis ich dem Grund auf die Spur kam. Das ganze ist tatsächlich eine eher experimentelle Sache, die ich in meiner Testumgebung ausprobiert hatte. Mag sein, dass es etwas schräg ist, aber abwegig ist die Modellierung von Städtepartnerschaften eigentlich nicht. Aber eine Lösung dieses issues hat wirklich Zeit.