Wichtig
Kleinigkeit
Fehlerbehebung
Wichtig
Verbesserung
Wichtig
#23170
"Vernünftige" Resource-Keys für Modellelemente
- Resource-Key für Klassifikationen und deren Elemente ist der blanke Name ohne Prefix.
- Resource-Key für Attribute ist hat als Prefix den Typ-Namen ohne weiteren Prefix.
- Resource-Key für Typen hat einen Prefix allerdings einen extrem ulkigen "element.typename".
Verbesserung
- Alle Modellelemente haben einen Resource-Key mit Prefix "model.".
- Alle Modellelemente haben den Modul-Namen als weiteren Prefix.
- Alle Teile eines Typs (Attribute, Klassifikationslistenelemente) haben den Typ-Namen als weiteres Prefix.
Code-Migration
- Tool test.com.top_logic.element.model.util.ModelResourceUpgrade im Projekt-Kontext laufen lassen. Es werden Resource-Dateien in allen Abhängigkeiten mit angepasst.
- <legacy-qualified-name>-Annotation aus Modell-Definitionen entfernen (es muss keine Datenmigration durchgeführt werden, die Annotation verbleibt vorerst aus Kompatibilitätsgründen)
- Das Type-Attribut von form:formPage-Tags muss umgestellt werden
- Suche \btype\s*=\s*"(?=<%) auf *.jsp.
- Wenn sich das Attribut auf einen MO-Typ bezieht, muss es type="<%= TLModelUtil.moType(Group.OBJECT_NAME) %>" lauten (für den MO-Typ Group.OBJECT_NAME).
- Wenn es sich auf einen Modell-Typ bezieht, muss es type="<%= TLModelUtil.findType(ContactFactory.STRUCTURE_NAME, ContactFactory.PERSON_TYPE) %>" für den entsprechenden Typ lauten.
- Diverse Resource-Provider mit absurden Strategien, wie für ein Objekt ein Icon gesucht wird, sind entfallen und müssen ersetzt werden:
- AttributedResourceProvider -> WrapperResourceProvider
- StructuredResourceProvider -> WrapperResourceProvider
- StructuredAttributedResourceProvider -> WrapperResourceProvider
- TypeBasedImageResourceProvider -> DefaultResourceProvider
- Wenn nach der Migration immer noch Ressourcen fehlen, kann das daher rühren, dass Modell-Resource-Keys an Stellen eingetragen sind, wo sie nicht hingehören:
- In I18NConstants-Dateien mit legacy...().
- In Layout-Konfigurationen beispielsweise in resPrefix="...".
- Auf JSPs.
Diese müssen dann ebenfalls umgestellt werden.
Test
Refactoring, kein zusätzlicher Test.