Migrating to the 6.3 App Launcher design
The Magnolia 6.3 App Launcher uses a modern naming and groupings. The original Magnolia 6.2 classic naming and grouping is no longer available in Magnolia 6.3.
If you used a custom configuration of the App Launcher in Magnolia 6.2, you must migrate your definition for the 6.3 App Launcher.
Migration notes
-
In Magnolia 6.3, the
layoutproperty defines the grouping and layout of the App launcher. -
The respective YAML syntax differs from the compatibilityLayout property, which is no longer available in Magnolia
6.3. -
Migration is possible for on-premise Magnolia installations or PaaS (Platform as a Service) subscriptions that still use the
compatibilityLayoutproperty.
Definition changes
This section compares definitions for the compatibilityLayout property and the layout property. The compatibilityLayout property retrieves which apps are in which groups from the appLauncherLayout property.
Moving an app from one group to another
To move apps between groups, you must move the respective app(s) in JCR.
Node name |
Value |
⸬ appLauncherLayout |
|
⸬ groups |
|
⸬ <GROUP_NAME> |
|
⸬ apps |
|
⸬ <APP_NAME> |
An apps property can’t be added under the compatibilityLayout property in the YAML definition.
To move apps between groups, you must move the respective app(s) in JCR.
Node name |
Value |
⸬ appLauncherLayout |
|
⸬ groups |
|
⸬ <GROUP_NAME> |
|
⸬ apps |
|
⸬ <APP_NAME> |
Apps are listed for each group under the group name.
layout:
groups:
- name: <GROUP_NAME>
apps:
- name: <APP_NAME>
Hiding apps
You must add the respective app(s) under the hiddenApps node in JCR to hide apps.
Node name |
Value |
⸬ appLauncherLayout |
|
⸬ hiddenApps |
|
⬩ <APP_NAME> |
<APP_NAME> |
A hiddenApps property can’t be added under the compatibilityLayout property in the YAML definition.
You must add the respective app(s) under the hiddenApps property in JCR to hide apps.
Node name |
Value |
⸬ appLauncherLayout |
|
⸬ hiddenApps |
|
⬩ <APP_NAME> |
<APP_NAME> |
Add apps in the format below under the hiddenApps property.
layout:
hiddenApps:
<APP_NAME>: <APP_NAME>
Removing a row from the layout
There was no rows property before 6.2.22. To remove a row, you must delete the <GROUP_NAME> content node and its subnodes.
Node name |
Value |
⸬ appLauncherLayout |
|
⸬ groups |
|
⸬ <GROUP_NAME> |
There is one rows property under which each groups property represents a row in the App Launcher layout.
compatibilityLayout:
rows:
- groups: (1)
- edit
- target
cssClass: editor
- groups: (2)
- manage
cssClass: editor
- groups: (3)
- tools
- dev
- stk
cssClass: developer
| 1 | The first row in the App Launcher layout contains two groups. |
| 2 | The second row in the App Launcher layout contains one group. |
| 3 | The third row in the App Launcher layout contains three groups. |
The first example shows part of the config.yaml, which you can inspect in the Resource Files app.
The second example shows you how to decorate so that a row is not displayed.
layout:
groups:
- name: content
apps:
- name: pages-app
- name: dam
- name: stories
- name: tours
- name: contacts
- ...
rows:
- name: one
cssClass: editor
groups:
content: content
marketing: marketing
...
layout:
rows:
- name: one
displayed: false (1)
...
| 1 | Add the displayed property to your decoration and set it to false to hide the respective row. |