enhancement
major
minor
defect
critical
major
minor
major
#30079
Konfigurierte SecurityParents funktionieren nicht mit StructuredElementWrapper
Die Konfiguration der SecurityParent`s wird nicht angewendet auf `StructuredElement`s, da die Klasse `com.top_logic.element.structured.wrap.StructuredElementWrapper die Methode getSecurityParents() leer überschreibt und damit die Funktionalität der Super-Klasse aufhebt. Diese Überschreibung muss entfernt werden. Außerdem müssen alle weiteren Überschreibungen von getSecurityParents() geprüft und angepasst werden, so dass diese nicht die Standardfunktionalität deaktivieren.
Umsetzung
- StructuredElementWrapper überschreibt getSecurityParents() nicht mehr; die konfigurierten Security-Parents greifen damit auch für Strukturelemente.
- Document liefert den enthaltenden WebFolder zusätzlich zu den konfigurierten Security-Parents.
- Ein gelöschtes Objekt hat keine Security-Parents.
- Die mandantenbezogenen Kontakte werden entfernt: das Paket com.top_logic.contact.mandatoraware (u.a. COSPersonContact, COSCompanyContact, SAP- und Excel-Importer) und die mandantenbezogene Kontaktsuche com.top_logic.contact.search. Die Filter und Generatoren Supplier, Client, PersonContact verwenden die Basisklassen aus com.top_logic.contact.filter; Filter SupportsContacts und Generator CompanyContact entfallen.
- Das Kommentar-Feature wird entfernt: Modellmodul tl.comments mit dem Typ tl.comments:Comment, Tabelle Comment (TLCOMMENT), Paket com.top_logic.element.comment, Layout-Template commons/comments/comments.xml und CommentNamingScheme.
Migration
Kommentare: Die Migration tl-element:Ticket_30079_Remove_comments löscht das Modul tl.comments und die Tabelle Comment. Alle vorhandenen Kommentare werden dabei gelöscht.
Eine Anwendung, die in ihrem Modell Attribute vom Typ tl.comments:Comment deklariert, muss
- diese Attribute aus ihrem Modell (*.model.xml) und aus Layouts, Formularen und Sicherheitskonfiguration (Grants auf das Modul tl.comments) entfernen,
- eine eigene Migration anlegen, die von tl-element:Ticket_30079_Remove_comments abhängt und die Attribute in den pre-processors löscht, z.B.:
{{{#!xml <dependencies> <dependency name="Ticket_30079_Remove_comments" module="tl-element"/> ... </dependencies> <pre-processors> <-- Referenz: löscht auch die gespeicherten Verknüpfungen. --> <delete-reference name="my.module:MyType#comments"/> <-- Abgeleitete Eigenschaft. --> <delete-property name="my.module:OtherType#comments"/> </pre-processors> }}}
- Verwendungen des Templates commons/comments/comments.xml sowie der Klassen aus com.top_logic.element.comment entfernen.
Mandantenbezogene Kontakte: Eine Anwendung, die Klassen aus com.top_logic.contact.mandatoraware oder com.top_logic.contact.search verwendet (z.B. COSPersonContact / COSCompanyContact als Implementierung von Kontakttypen, die SAP-/Excel-Importer oder ContactSearchComponent), muss diese entfernen bzw. durch eigene Implementierungen ersetzen. Wer den Filter SupportsContacts oder den Generator CompanyContact der FilterFactory / GeneratorFactory verwendet, muss diese Verwendung entfernen. Ebenso entfallen com.top_logic.contact.filter.ContactListModelBuilder und com.top_logic.contact.external.importer.ExcelExternalContactImporter; Verwendungen in Layouts, Konfiguration und Code müssen entfernt werden.
Konfiguration: Die Datei WEB-INF/conf/contactConf.xml entfällt; metaConf.txt des Moduls tl-contact bindet direkt contactConf.config.xml ein. Eine Anwendung, die contactConf.xml in ihrer eigenen metaConf.txt überschreibt oder referenziert, muss das anpassen.