Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Table of Contents

Introduction

Administrator in 4.5 have access to menu items (Admincentral pages) defined via ACLs. Now we have apps instead of pages in Magnolia 5. We have to provide update task to convert these permissions.

Mapping of Pages

Old URLNew app

Module

Ticket
/modules/adminInterface/config/menu/dms           /modules/dam/apps/assetsdam
Jira
serverMagnolia - Issue tracker
keyMGNLDAM-318
/modules/adminInterface/config/menu/data/Contact   /modules/contacts/apps/contactscontacts-app
Jira
serverMagnolia - Issue tracker
keyCNTCTSAPP-57
/modules/adminInterface/config/menu/data/category   /modules/categorization/apps/categoriescategorization

Jira
serverMagnolia - Issue tracker
keyMGNLCAT-100

/modules/adminInterface/config/menu/templating-kit   /modules/ui-admincentral/config/appLauncherLayoutapps/group/stkSTK

Jira
serverMagnolia - Issue tracker
keyMGNLSTK-1249

/modules/adminInterface/config/menu/templating-kit/etkSites

/modules/ui-admincentral/apps/stkSiteAppSTK
/modules/adminInterface/config/menu/templating-kit/stkThemes/modules/ui-admincentral/apps/stkThemesAppSTK
/modules/adminInterface/config/menu/templating-kit/stkDialogs/modules/ui-admincentral/apps/dialogsSTK
/modules/adminInterface/config/menu/templating-kit/stkChannels/modules/ui-admincentral/apps/channelsSTK
/modules/adminInterface/config/menu/templating-kit/stkTemplateDefs/modules/ui-admincentral/apps/stkTemplateDefsAppSTK
/modules/adminInterface/config/menu/templating-kit/templates   /modules/ui-admincentral/apps/templatesAppSTK
/modules/adminInterface/config/menu/templating-kit/resources   /modules/ui-admincentral/apps/resourcesAppSTK
/modules/adminInterface/config/menu/website        /modules/pages/apps/pagespages-app









Jira
serverMagnolia - Issue tracker
keyMGNLUI-2268
/modules/adminInterface/config/menu/data/company/modules/ui-admincentral/apps/CompanyAppui-admincentral
/modules/adminInterface/config/menu/data      /modules/ui-admincentral/config/appLauncherLayoutapps/group/dataui-admincentral -> data
/modules/adminInterface/config/menu/security/modules/apps/security-app/security-app
/.magnolia/trees/website-jcr /modules/ui-admincentral/apps/websiteJcrBrowserui-admincentral
/.magnolia/pages/configuration                    /modules/ui-admincentral/apps/configurationui-admincentral
/modules/adminInterface/config/menu/tools           

/modules/ui-admincentral/config/appLauncherLayoutapps/group/tools

/modules/ui-admincentral/config/appLauncherLayoutapps/group/dev

This menu is now splitted into these two -> we need Task with multiple newApp paths

ui-admincentral
/.magnolia/pages/messages* /modules/messages-app/apps/messages messages-app
/modules/adminInterface/config/menu/inbox  
   

Modules in process of migration

/.magnolia/pages/sendMail*          /modules/mail/apps/mailToolsmail
Jira
serverMagnolia - Issue tracker
keyMGNLMAIL-21
/modules/adminInterface/config/menu/data/RssAggregator/modules/ui-admincentral/apps/RssAggregatorApprssaggregator
Jira
serverMagnolia - Issue tracker
keyMGNLRSSAGG-108
/modules/adminInterface/config/menu/tools/groovyInteractiveShell/modules/ui-admincentral/apps/groovyConsolegroovy
Jira
serverMagnolia - Issue tracker
keyMGNLGROOVY-83
/modules/adminInterface/config/menu/templating-kit/templates   /modules/inplace-templating/apps/inplace-templatinginplace templating
Jira
serverMagnolia - Issue tracker
keyMGNLINTEMPL-37
/modules/adminInterface/config/menu/templating-kit/resources   /modules/ui-admincentral/apps/resourcesAppresources
Jira
serverMagnolia - Issue tracker
keyMGNLRES-70

Modules not yet migrated

/.magnolia/pages/cacheTools*/modules/ui-admincentral/apps/cacheToolscache
Jira
serverMagnolia - Issue tracker
keyMGNLCACHE-23
/.magnolia/pages/configuration* /modules/ui-admincentral/apps/configInfoui-admincentral





Jira
serverMagnolia - Issue tracker
keyMGNLUI-2288
/.magnolia/pages/export*/modules/ui-admincentral/apps/exportui-admincentral
/.magnolia/pages/import*/modules/ui-admincentral/apps/importui-admincentral
/.magnolia/pages/jcrUtils*/modules/ui-admincentral/apps/jcrQueryUtilsui-admincentral
/.magnolia/pages/developmentUtils*/modules/ui-admincentral/apps/devToolsui-admincentral
/.magnolia/pages/permission*/modules/ui-admincentral/apps/permissionsui-admincentral
/.magnolia/pages/logViewer*           /modules/ui-admincentral/apps/logViewerui-admincentral
/.magnolia/pages/configuration* /modules/ui-admincentral/apps/configInfoui-admincentral

Pages not in 5.x yet

/.magnolia/pages/migrationReport*


         

 

  
/.magnolia/pages/activationTools*   
/.magnolia/pages/users*   
/modules/adminInterface/config/menu/forum   
/.magnolia/pages/backup*   
/.magnolia/pages/activationMonitor*   
/.magnolia/pages/allModulesList*   
/.magnolia/pages/flows*   
/.magnolia/pages/dependencies*   
/.magnolia/pages/password-reminder*   
/.magnolia/pages/user-validation*   
/.magnolia/pages/register*   
/.magnolia/pages/installedModulesList*   

/modules/adminInterface/config/menu/data/types

   
/modules/adminInterface/config/menu/data/navigate   
/modules/adminInterface/config/menu/data/config   

 

Tasks

Convert 4.5 Admincentral ACLs to apps permissions

GOAL: Proper permission to apps, old ACLs removed.

REQUIREMENTS:

  • none

STEPS:

  1. Run query in userroles workspace for finding all ACL nodes with certain pattern.
  2. Convert these ACLs to apps permission.
  3. Remove these ACLs from userrolesworkspace.
    • the permissions are in pairs for page and subpage, so we need to remove both permissions (path, path/*)!

EXAMPLE 1 - ACCESS GRANTED:

  • the URL ACL for role_admin is set to:  
    • path: /.magnolia/configuration
    • permission GET/POST

  • the new app permissions will be:
    • permissions
      • roles
        • role_admin

  • how to create task: 

new ConvertACLtoAppsPermissionTask("name", "description", "/.magnolia/configuration", /modules/ui-admincentral/apps/configuration);

 

EXAMPLE 2 - ACCESS DENIED:

  • the URL ACL for role_editor is set to:  
    • path: /.magnolia/configuration
    • permission DENY

  • the new app permissions should be set to:
    • permissions
      • roles
        • superuser

 

Class: ConvertACLtoAppsPermissionTask


Constructor attributes
:

PropertyDescriptionValid values
taskNameTask name used by the reporting tool, and to log/display informations related to this task.String 
taskDescriptionTask Description used to display informations in the admin. central update view.

String

oldUrlurl to an old pageString
newApppath to configuration of new appString

Questions (ehe)

How to map the 4.5 path to M5 application or sub app?:

  1. /modules/adminInterface/config/menu/inbox
  2. /modules/inplace-templating/
  3. /modules/resources/*
  4. /modules/adminInterface/config/menu/templating-kit

Answers

      I think any automatically mapping wouldn't be possible. But we know the default old 45 paths for Magnolia pages and corresponding paths to new apps. If someone have a page under different location or   if someone have any custom pages, he would need only to add ConvertACLtoAppsPermissionTask to his ModuleVersionHandler. He need to create new app anyway in case of a custom page and the name of his app can by anything so we can't rely only on app names.

  1. If someone have access to /modules/adminInterface/config/menu/inbox then we know he need access to Messages: ConvertACLtoAppsPermissionTask("", "", "/.magnolia/pages/inbox", /modules/messages-app/apps/messages )
  2. /modules/inplace-templating: ConvertACLtoAppsPermissionTask("", "", "/.magnolia/pages/configuration*", /modules/ui-admincentral/apps/templatesApp)
  3. /modules/resources/*: ConvertACLtoAppsPermissionTask("", "", "/.magnolia/pages/configuration*", /modules/ui-admincentral/apps/resourcesApp)
  4. /modules/adminInterface/config/menu/templating-kit: ConvertACLtoAppsPermissionTask("", "", "/modules/adminInterface/config/menu/templating-kit", /modules/ui-admincentral/config/appLauncherLayoutapps/group/stk)

    The tasks should be added in version handlers which bootstrap certain app. Most of them would be in AdmincentralModuleVersionHandler. Others..like tools should be in corresponding modules (for example access to groovy console should be set from groovy version handler).
    We can have parent task which takes map<oldURL, newApp> so we add only one task in case of a lot of URLs to convert.