Wichtig
Detail
Wichtig
Detail
#25612
Modell Editor zeigt bei Änderungen von Referenzen Verknüpfungsenden in der Attributtabelle an
#26382
Fehlermeldungen "Duplicate tag name..." beim Starten einer Anwendung in der IDE aus einem TL-Studio
#26402
Modell Editor: Diagramm: Fehler beim Ziehen einer Klasse aus einem anderen Modul ins eigene Arbeitsblatt
#26405
TTypeRewriter loggt Warnung "Unable to resolve items by external reference" auch unnötigerweise
#26431
Geänderte Oberklassenbeziehung führt erst nach Neustart zu geänderter Attributliste im Formulareditor
#26446
Generische Formulare: Sichtbarkeitsanpassungen überschriebener Attribute werden nicht berücksichtigt.
#26484
In-App Template für Grid und Tabellen: Funktion "Prüfer für Benutzung als Listenelement" bekommt Komponentenmodell nicht
#26536
Beim HTML-Rendern von TLScript-Expressions werden konfigurierte Renderer nicht berücksichtigt
#26569
Fehlende Constraint-Violation beim Löschen von Objekten die von Pflichtfeldern referenziert werden
#26663
TreeGridComponent: Selektion wird nach Verwerfen einer transienten Zeile nicht zurück gesetzt
#26797
Transaktion mit Nutzereingabe: Unsichtbare Eigenschaften des Formularmodells können nicht mit Werten belegt (initialisiert) werden
#26827
Keine Fehlermeldung beim Zugriff auf Fremdschlüsselreferenzen, wenn Fremdschlüssel nicht aufgelöst werden kann
#26884
Deklarative Formulare: Fehlendes GUI update bei programmatischen Änderungen eines List-wertigen Property
#26885
Constraints an deklarativen Formularen mit Argumenten aus einer Container-Referenz führen bei neuen Elementen zu Fehlern
#26890
Überschriebene Eigenschaften werden beim Booten aus Modelldefinition nicht richtig initialisiert
#26921
ClassCastException bei der Auswertung von Security-Regeln, die sich auf (Nicht-StructuredElement-)Singletons eines Moduls beziehen
#26922
Mit generierten Fachklassen erhält ein Default-Provider eines Attributs in einer Nicht-Struktur-Klasse keinen Create-Context
#26988
In-App-Dokumentations-Generator extrahiert keine Dokumentation für überschriebene Config-Properties
#27027
Deklarative Formulare: SelectField verschwindet nach Upload, wenn Optionsliste von mandatory Property abhängig ist
#27090
TreeTableComponent soll initial die erste sichtbare Zeile selektieren, wenn initial eine Zeile selektiert werden soll
Verbesserung
Detail
#26398
Automatisiertes Erstellen von TableInterfaces abschaffen
Für jede Datenbank Tabelle wird eine tl:TLClass, ein Table-Interface angelegt und alle !TLClass die in diese Tabelle speichern, bekommen diese Tabelle als Generalisierung gesetzt.
Dies soll nicht mehr sein.
Code-Migration
- Modell-Referenzen auf tl.tables müssen durch Referenzen auf "echte" Modellelemente ersetzt werden.
- Ersetzen von Modell-Referenzen:
- tl.tables:ExternalReferenceTableInterface => Ticket:ExternalReference
- tl.legacy.tabletypes:ExternalReferenceTable => Ticket:ExternalReference
- tl.tables:ActivityTableInterface => RiskItems:Activity
- tl.tables:ApproachingCurveTableInterface => ApproachingCurveStructure:ApproachingCurveType
- tl.tables:AssignedGoalTableInterface => AssignedGoals:AssignedGoal
- tl.tables:CommitteeTableInterface => CommitteeStruct:Committee
- tl.tables:CostTypeTableInterface => costStructure:CostAreaChild
- tl.tables:CostUnitTableInterface => costStructure:CostUnit.internal
- tl.tables:DecisionMemoTableInterface => Decisions:DecisionMemo
- tl.tables:ExportTemplatePlaceholderTableInterface => posElement:ExportTemplatePlaceholder
- tl.tables:ExportTemplateTableInterface => posElement:ExportTemplate
- tl.tables:FinalReportTableInterface => FinalReports:FinalReport
- tl.tables:GovernedTaskTableInterface => GovernedObjects:GovernedTask
- tl.tables:KPGroupTableInterface => KPI:KPI.Group
- tl.tables:MeetingTableInterface => Meetings:Meetings.all
- tl.tables:MilestoneTableInterface => Milestones:Milestones.all
- tl.tables:OrgUnitTableInterface => orgStructure:OrgUnit.base
- tl.tables:ProgramTableInterface => Programs:Program
- tl.tables:ProjectResultTableInterface => FinalReports:ProjectResult
- tl.tables:ProjectTableInterface => projElement:Project
- tl.tables:ScenarioTableInterface => ScenarioStruct:Scenario.all
- tl.tables:StatusReportDetailTableInterface => StatusReports:StatusReportDetail
- tl.tables:StatusReportTableInterface => StatusReports:StatusReport
- tl.tables:SubprojectTableInterface => projElement:Subproject
- tl.tables:TagTableInterface => Tag:Tag
- tl.tables:TargetProductTableInterface => Programs:TargetProduct
- tl.tables:TemplateActivityTableInterface => projectTemplate:Activity
- tl.tables:TemplateMilestoneTableInterface => projectTemplate:projectTemplate.Milestone
- tl.tables:WorkpackageTableInterface => projElement:Workpackage
- tl.tables:ObjectTableInterface => tl.model:TLObject oder besser durch etwas spezielleres
- Referenzen auf andere Klassen in "tl.tables" müssen durch sinnvolle Alternativen ersetzt werden. Die konservative Migration wäre zu schauen welche TLClasses in die entsprechende Tabelle (und Ableitungen) schreiben und den gemeinsamen Obertyp wählen.
- Wurden Modell-Dateien aus der Basis überschrieben müssen Änderungen dort nachgezogen werden.
Data-Migration
Wurden obige Code-Änderungen in eigenen Modell-Dateien vorgenommen, so muss ein Migrations-Skript erstellt werden, das diese Änderungen in der Datenbank vornimmt. Hier kann man sich z.B. an dem Skript. /com.top_logic.project.pos/webapp/WEB-INF/kbase/migration/tl-pos/Ticket_26398_remove_table_interfaces.migration.xml orientieren.
Test
Refactoring Kein Test.