Improve the DX for migrating content entities: view modes, fields, formatters, widgets etc should be migrated per entity type + bundle

Created on 28 November 2019, almost 5 years ago
Updated 10 January 2024, 9 months ago

Problem/Motivation

Similar to #3096951: d7_node migration should have dependency on d7_node_title_label migration and #3097327: d7_node_title_label migration plugin incorrectly generating base_field_override for every node type, even those that don't have an overridden title label .

Right now there is only one:

  • "View Modes" (d7_view_modes) migration
  • "Field configuration" (d7_field) migration
  • "Field instance configuration" (d7_field_instance) migration
  • "Field formatter configuration" (d7_field_formatter_settings) migration
  • "Field instance widget configuration" (d7_field_instance_widget_settings) migration

… rather than one of those per entity type + bundle.

This is harder to understand, and harder to debug.

Furthermore, just like #3097314: d7_comment migration should have dependency on d7_comment_entity_display, same for d7_custom_block + block_content_entity_display , the concrete entity migration not having a dependency on the above configuration makes it harder to compare the data on the destination D8 site with the source D7 site, because equivalent formatters and widgets will be used.

Proposed resolution

  • Add a deriver to each of the aforementioned migration plugins.
  • Add optional migration dependencies. to the corresponding content entity migrations.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

📌 Task
Status

Needs work

Version

3.0

Component

Code

Created by

🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.71.5 2024