Major
Nice to have
Detail
Detail
#25633
Nach Layout-Export können Komponenten Duplikate entstehen
Konfiguriert man eine Sicht zu der bereits Layout Overlays existieren, so können Konflikte nach dem Export des Layouts entstehen. Wird bspw. ein neuer Tab in der Administrationssicht erstellt und anschließend ein Export des Layout durchgeführt, dann führt ein Neustart der Anwendung und erneutem Login zu Fehlern über Duplikate von Komponentennamen.
Das liegt daran, dass der Export immer Templateinstanzen von voll expandierten Layouts ins Dateisystem schreibt, also insbesondere alle Änderungen der Overlays enthält. Startet man die Anwendung nun neu, so werden die Overlays auf die gesammelten Layouts angewendet. Dadurch erhält man Duplikate von Komponenten, da der Inhalt der Overlays in dem exportierten Layout bereits vorhanden ist.
Umsetzung
- Layouts werden immer in das TopLevel Modul exportiert.
- Overlays werden nur für geerbte Layouts angewendet.
- Overlay-Dateien von exportierten Layouts, die im gleichen Modul, also das TopLevel Modul liegen, werden gelöscht, da sie ansonsten angewendet werden und möglicherweise die bereits genannten Konflikte produzieren.
- Der Overlay-Cache im LayoutStorage muss für die exportierten Layouts angepasst bzw. gelöscht werden. Andernfalls würde bei einem Relogin (ohne Neustart und somit Reset des Overlays-Cache!) das Layout neugebaut und die "veralteten" Overlays auf die "neuen" Layouts angewandt.
Test
Bspw. ist das Anlegen eines neuen Tabs in der Administration fehlerfrei durchführbar.