This page describes the current migration support of the data module, as of Magnolia 5.2.1.
Scope
What is in 5.2
- We configure content-apps for all existing types in the data module
- We use detail subapps to create/edit new entries
- We also migrate default data-module-based Company type for fresh install
- We don't migrate Contact and category, those are already migrated
- We don't migrate RssAggregator, module is currently being migrated to its own workspace
- We drop legacy admininterface classes and config
- where we provide proper replacement and migration to this replacement
What is NOT in 5.2
- We don't move content to new workspaces
- We don't change ACLs consequently
- We don't have an app to manage custom types
Migration concretes
1. Dialogs
We migrated Types dialog definitions to 5.0 dialogs
- and refer to their inner form from the data-types detail subapps
2. Content apps
We created migration tasks for creating content apps based on dataTypes
- creating basic app definition with a task + appLauncherLayout entry
- create browser subapps (workbench)
- add browser "default" actions + availability (edit)
- create detail subapps, link to dialogs' inner form definitions
- add actions to create items with different types
3. Multiple hierarchical types
We open the right subapp based on selected item type
For creation, we have multiple add actions for each available item type, displayed based on action availability
4. Mixin supertypes for data nodeTypes
- If mixins are missing, nodes are not decorated with LastUpdateContentDecorator, and lastModified properties are not updated
Node-types migrated:
- dataBase - added mgnl:created, mgnl:lastModified supertypes
- dataItem - added mgnl:activatable, mgnl:versionable supertypes
- dataItemNode - added mgnl:activatable supertype
- dataFolder - added mgnl:activatable supertype
5. Legacy code and configuration
We removed old DataModule 2.x legacy apps (as seen until Magnolia 5.1)
We removed legacy GUI classes and config (trees, pages)
Cleanup of legacy UI classes and config
Elements | Affected sources | Affected config | Changes / Replacement | Migration |
---|---|---|---|---|
Dependencies | pom.xml META-INF/magnolia/data.xml | |||
info.magnolia.module.data.TypeDefinition |
| |||
no longer used | ||||
Commands | info.magnolia.module.data.commands |
| ||
| Replaced with plain activation of data/apps and appLauncherLayout | |||
Controls | Replaced with fields | |||
DataButtonSet | Migrator exists | |||
DataFileControl | Support of migration to UploadField is unlikely to land in 5.2 | |||
DataMultiValueControl | No longer required | |||
SaveHandler |
| |||
Dialogs |
|
| ||
| ||||
Import | No changes | |||
Trees |
| Replaced with content apps | ||
Pages |
| Replaced with versioning actions in content apps | ||
Util | info.magnolia.module.data.util.DataUtil | @Deprecate the whole class:
|
Ideas
- Move and split app creation tasks to ui content app?
- Do customers prefer:
- auto-upgrade of custom datatypes with less control (e.g. icons)
- manual upgrade of custom datatypes with more control, but via groovy
- still defaults to all but you can pass additional config
- can we run such a migration twice to refine resulting app
- Dialog migration
- i18n, where does it come from? old i18nBasename still supported?
- missing label and description for e.g. company dialog
1 Comment
Samuel Schmitt
What is NOT in 5.2 will be in 5.2.x?
And what about the content if it is not moved?