[MGNLUI-5394] Migrate app launcher layout config into a non-deprecated module Created: 24/Sep/19  Updated: 23/Apr/21  Resolved: 06/Apr/21

Status: Closed
Project: Magnolia UI
Component/s: None
Affects Version/s: None
Fix Version/s: 6.2.8

Type: Task Priority: Neutral
Reporter: Aleksandr Pchelintcev Assignee: Roman Kovařík
Resolution: Fixed Votes: 0
Labels: VN-Testing
Remaining Estimate: Not Specified
Time Spent: 6h 32m
Original Estimate: Not Specified

Issue Links:
dependency
is depended upon by MGNLPN-537 Migrate app launcher config to YAML Closed
is depended upon by MGNLRES-364 Migrate app launcher config to YAML Closed
is depended upon by PAGES-421 Migrate app launcher config to YAML Closed
documentation
to be documented by MGNLUI-6669 DOC: Configuring App launcher via YAML Closed
supersession
supersedes MGNLUI-4188 improvement of hiddenApps and default... Closed
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Release notes required:
Yes
Documentation update required:
Yes
Date of First Response:
Epic Link: Migrate UI FW internals
Sprint: UI Framework 7, UI FW 25
Story Points: 3

 Description   

Currently the apps, old and new have to add app launcher registration bootstrap files that point to the now deprecated ui-admincentral module. We need to let at least the updated apps to avoid doing that and register themselves through updated admincentral (preferrably via YAML).

TODO:

  • investigate and try to find a best approach (can we leave the app-registration where they are and only use the updated app launcher config location for the updated apps?)
  • discuss the idea with the team

OUTCOME
An attempt at merging old and new app launcher configs wasn't found fully convincing https://git.magnolia-cms.com/projects/PLATFORM/repos/ui/pull-requests/1171/overview

Let's keep everything as is for 6.2. This will give us have time to decide if we’ll go with JCR or YAML for applauncher ordering support

  • we keep everything together and order is predictable (no logic when the new apps unconditionally precede the old ones)
  •  after 6.2 a migration task will take care of the migration to the new app launcher layout: when we’re ready, we roll it out and on installation, after all the bootstraps are applied, we will just take the whole layout config and port it to the new location. The layout manager will also be adjusted to look there. No effort from third party app developers will be needed.
  • no additional logic is required
  • we bootstrap the app registrations in a deprecated location. We use yaml but no decoration mechanism, as it can't provide order of apps and groups
  • the migration task needs to be run by the last module installing or updating. We currently don't have such a mechanism, we will need to come up with something.


 Comments   
Comment by Roman Kovařík [ 30/Sep/19 ]

Yes that was the idea, as we don't have time to migrate all modules plus we should support old customers modules as well.

Comment by Roman Kovařík [ 25/Mar/21 ]

For documentation:
https://docs.magnolia-cms.com/product-docs/Apps/App-configuration/App-launcher-layout.html

You can now configure appLauncher via decoration:

magnolia-personalization-personas-app/src/main/resources/personalization-personas-app/decorations/admincentral/config.yaml

appLauncherLayout:
  hiddenApps: 
    - notifications
  groups:
    - name: target
      apps:
        - name: personas-app

You can specify the order in a group by providing complete list of apps with !override
magnolia-personalization-segmentation-app/src/main/resources/personalization-segmentation-app/decorations/admincentral/config.yaml

appLauncherLayout:
  groups:
    - name: target
      apps: !override
        - name: preview-app
        - name: personas-app
        - name: segmentation-app

You can still use the old applauncher config in JCR. Be aware that the order of apps is merged from new and old config (first the app from YAML, next the apps from JCR).

Comment by Roman Kovařík [ 25/Mar/21 ]

PoC: https://git.magnolia-cms.com/projects/PLATFORM/repos/ui/pull-requests/1750/overview

Comment by Roman Kovařík [ 06/Apr/21 ]

Reopened due to migration diff https://jenkins.magnolia-cms.com/job/internal/job/migration-tests/job/6.2-to-6.2.x/260/Diff_20Report/

Comment by Roman Kovařík [ 23/Apr/21 ]

For release notes:

The pages app (PAGES-421), jcr-browser (MGNLUI-5394) were removed from JCR applauncher config and added via decoration instead.
In case of a custom app launcher config, you might need to hotfix this resource file or provide your own decoration to move it from the default location, e.g.

appLauncherLayout: 
  groups: 
    edit: #remove from default location
      apps: 
        pages-app: 
          enabled: false
    manage: #you can still use the old JCR config instead of this part
      apps: 
        pages-app: 
          enabled: true
Generated at Mon Feb 12 09:26:05 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.