Bugfix
Major
#28252
Most engine-provided views cannot be incrementally extended due to final="true" in layout XML
The layout editor adds the annotation final="true" for all layouts by default when exporting. This is done so that the layout editor can also be used to edit a layout that has already been incrementally expanded and save it as a complete overlay. Without this annotation, inherited overlay layouts would be applied to the exported layout. However, this would lead to a conflict, as these changes are already contained in the exported complete layout.
However, the annotation final="true" should not be set for basic layouts, as otherwise the application has no chance of incrementally extending a standard layout. However, as the layout editor was also used to create all new basic layouts, these are now all final.
Solution
- Remove the annotation final="true" from all basic layouts. The situation that these completely overwrite other incrementally extended basic layouts must not occur.
- The layout editor may only set the annotation final="true" if there are already incremental extensions to the exported layout (at least as long as the layout editor cannot yet produce incremental overlay layouts instead of a complete overwrite).
Test
- Create and export a new view: Should not have a final annotation.
- Edit and export view from base that is composed via an overlay. The result should contain a final annotation.