major
nice-to-have
defect
major
enhancement
- The resource key for classifications and their elements is the name itself, without a prefix.
- The resource key for attributes has the type name as its prefix, with no additional prefix.
- The resource key for types has a prefix, but it’s the extremely odd “element.typename.”
Improvement
- All model elements have a resource key prefixed with "model.".
- All model elements have the module name as an additional prefix.
- All parts of a type (attributes, classification list elements) have the type name as an additional prefix.
Code Migration
- Run the tool `test.com.top_logic.element.model.util.ModelResourceUpgrade ` in the project context. Resource files in all dependencies will be updated accordingly.
- Remove the<legacy-qualified-name> annotation from model definitions (no data migration is required; the annotation remains for now for compatibility reasons)
- The `type` attribute of ` form:formPage` tags must be updated
- Search for \btype\s*=\s*"(?=<%) in *.jsp files.
- If the attribute refers to an MO type, it must be type="<%= TLModelUtil.moType(Group.OBJECT_NAME) %>" (for the MO type Group.OBJECT_NAME).
- If it refers to a model type, it must be set to type="<%= TLModelUtil.findType(ContactFactory.STRUCTURE_NAME, ContactFactory.PERSON_TYPE) %>" for the corresponding type.
- Various resource providers with absurd strategies for finding an icon for an object have been removed and must be replaced:
- AttributedResourceProvider -> WrapperResourceProvider
- StructuredResourceProvider -> WrapperResourceProvider
- StructuredAttributedResourceProvider -> WrapperResourceProvider
- TypeBasedImageResourceProvider -> DefaultResourceProvider
- If resources are still missing after migration, this may be because model resource keys have been entered in places where they do not belong:
- In I18NConstants files with legacy...().
- In layout configurations, for example, in ` resPrefix="..."`.
- On JSPs.
These must also be updated accordingly.
Test
Refactoring, no additional testing.