Verbesserung
Top-Thema
Detail
Wichtig
Detail
Da im Layout-Editor für Tabellen und Buttons ein SecurityProvider konfiguriert werden kann, wäre es sinnvoll, dasselbe auch für Baum-Tabellen, Grids und Baum-Grids anzubieten.
Ferner sollte man die veraltete Konfiguration mit der Auswahl nur weniger vorgegebener Namen (master, slave und model) zunächst in der GUI **verstecken** und auf lange Sicht abschaffen, zumal die Namen nur Shortcuts für Pfade zum Objekt beschreiben, an dem die Sicherheit geprüft wird.
Dazu soll eine **zusätzliche** polymorphe Konfiguration entstehen, wo eine Implementierung von SecurityProvider direkt ausgewählt wird und eine höhere Priorität als die veraltete Konfiguration hat. Eine der Implementierungen sollte es ermöglichen, zum "Sicherheitsobjekt" über Komponentenkanäle zu navigieren.
Code-Migration
- Nach Template Aufrufen von "com.top_logic/table.template.xml", "com.top_logic/treetable.template.xml" und "com.top_logic/tree.template.xml" in "*.layout.xml" suchen.
- Diese Findet man auf mit dem RegExp template="com\.top_logic/(table|tree|treetable)\.template\.xml"
- In diesen securityProviderClass="" entfernen.
- Werte securityProviderClass="securityRoot",`securityProviderClass="model",`securityProviderClass="master" bzw. securityProviderClass="slave" ersetzen durch securityObject="securityRoot",`securityObject="path:model",`securityObject="path:master.currentObject" bzw. securityObject="selection(self())"
Daten-Migration
Wird automatisch beim Booten durchgeführt. Für Details: Ticket_26117_security_object.migration.xml
Test
Z.B. im Demo die Sicht Technisches Demo > Komponenten > Grid-Bearbeitbarkeit im Designmodus bearbeiten. Der Test ist bestanden, wenn man in der Eigenschaft Zugriffssteuerung statt eines Namen von SecurityProvider direkt eine Implementierung von SecurityProvider konfigurieren kann.