LUI lui
Legacy User Interface
Background background
LUI
identifies the use of deprecated user interface elements that are not recommended or not supported in later versions of AEM and in AEM as a Cloud Service.
Subtypes are used to identify the different types of user interface elements that should or must be upgraded:
-
legacy.dialog.classic
: Classic UI dialogs based on ExtJS must be changed to Coral.- This is detected when the dialog name is “dialog” or “design_dialog” and when
thejcr:primaryType
property value or thextype
property value is “cq:Dialog”.
- This is detected when the dialog name is “dialog” or “design_dialog” and when
-
legacy.dialog.coral2
: Coral 2 dialogs should be updated to use Coral 3.- This is detected when the dialog and its child content node names are “cq:dialog/content”,
“cq:design_dialog/content”, “cq:dialog.coral2/content”, or “cq:design_dialog.coral2/content”
and thesling:resourceType
property value does not contain
“granite/ui/components/coral/foundation”.
- This is detected when the dialog and its child content node names are “cq:dialog/content”,
-
legacy.custom.component
: Components that inherit fromfoundation/components
should be updated to use Core Components.- This is detected when the
jcr:primaryType
property value is “cq:Component” and thesling:resourceSuperType
property value contains “foundation/components” or any of thesling:resourceSuperType
property values of the chain of supertype components contain
“foundation/components”.
- This is detected when the
-
legacy.static.template
: Static Templates should be upgraded to Editable Templates.- This is detected when the
jcr:primaryType
property value is “cq:Template”.
- This is detected when the
-
content.fragment.template
: Content Fragment Templates should create fragment models to replace the fragment templates.-
Content fragment templates can be found at the following locations :
- Out of the box content fragment templates are stored in
/libs/settings/dam/cfm/templates
- They can be overlaid in
/apps/settings/dam/cfm/templates
or/conf/.../settings/dam/cfm/templates
(… = global or “tenant”)
- Out of the box content fragment templates are stored in
-
-
translation.dictionary
: I18n dictionary present under /apps.- /apps is immutable at runtime and translator.html would no longer be available in AEM as a cloud service.
Possible implications and risks implications-and-risks
- The Classic UI is no longer available in AEM as a Cloud Service. The standard interface for authoring is the Touch-enabled UI.
- Relying on legacy custom components may increase maintenance costs over time.
- Content fragment templates were superseded by content fragment models in AEM 6.3. Migrating content fragments that are based on legacy templates to AEM as a Cloud Service will retain these fragments as functional, but it will not be possible to create new fragments based on the legacy template. It will also not be possible to deliver these fragments using AEM GraphQL, which requires content fragment models as schemas.
- /apps is immutable at runtime and translator.html would no longer be available in AEM as a cloud service. Thus I18n dictionaries need to come from Git via the CI/CD pipeline.
Possible solutions solutions
-
Utilize AEM Modernization Tools suite to reduce the effort needed to modernize your AEM Sites implementations. These tools include conversion of:
- Classic (ExtJS) Dialogs to Coral Dialogs
- Foundation Components to Core Components
- Static Templates and Column Control to Editable Templates & Responsive Grid
- Designs & Design Dialogs to Editable Template Policies
-
Review your project’s custom components library and transition, if possible, to the set of standardized Core Components to accelerate the development time and reduce the maintenance cost of your applications.
-
It is recommended to create content fragment models with equivalent capabilities to the legacy templates and use those models for content fragment creation moving forward.Refer to Content Fragment Models for more details.
-
I18n dictionaries need to come from Git via the CI/CD pipeline. Documentation
-
Please reach out to our AEM Support Team to get clarifications or to address concerns.