Wichtig
Detail
Wichtig
Detail
Detail
#26495
Scripting: Objekte in Drag-Drop-Operationen kompakt referenzieren
Ein Objekt im Baum wird bei der Aufzeichnung typischerweise durch den kurzen Breadcrumb „Projekt > TP 1 > WP 1 > xyz“ identifiziert (com.top_logic.layout.scripting.recorder.ref.TreeLabelPathNaming$TreeLabelPathName)
Das ist für Tester leicht verständlich und hält die Templates kompakt und vor allem verwaltbar. Außerdem entspricht es mehr dem Blackbox-Ansatz, denn viel mehr ist für einen Benutzer im Baum nicht zu sehen.
Die Skripte zur Aufzeichnung von Drag und Drop verwenden hingegen einen deutlich technischeren Whitebox-Ansatz (com.top_logic.layout.scripting.recorder.ref.TLObjectTreeNaming$TLObjectTreeName). Dies benötigt die Angabe von Relationen für Vater-Kind-Beziehungen sowie eine verschachtelte Liste von <path><entry> Tags. Eine kompakte Angabe als Breadcrumb ist hier nicht möglich, obwohl die Kommandos auch auf Komponenten operieren. Das verhindert ein effektives Nutzen der D&D-Funktionen in Templates.
Verbesserung
Bei der Aufzeichnung für D&D soll auch (soweit möglich) die kompakte Breadcrumb-Syntax benutzt werden.
Test
Drag and Drop aufzeichnen, z.B. unter
- Technisches Demo > Komponenten > Drag & Drop
- Technisches Demo > Komponenten > Drag & Drop auf
Die Skripte sollen in Breadcrumb-Syntax aufgezeichnet sein, so es denn möglich ist, und abspielbar sein.
Code-Migration
TreeGridDragSourceByExpression und TableGridDragSourceByExpression in Layout-Dateien durch GridDragSourceByExpression ersetzen.
Daten-Migration
InApp erstellte Layouts müssen wie in der Code-Migration angepasst werden. Dies übernimmt das Migrations-Skript Ticket_26495_Removed_GridDragSource_extensions.migration.xml beim Boot der Anwendung.