Updated: Comment #0

Problem/Motivation

Many block plugins are provided by derivatives. Menus, views, feeds, custom blocks.
These are declarative, and each provider is responsible for the logic behind their discovery.

However, each provider is also responsible for removing the block when the source of the plugin was removed.

The two I've tested (feeds and views) are broken, and have no coverage, hence the critical bug.

Proposed resolution

Write test coverage for deleting the things that provide a block, after an instance is placed.

Remaining tasks

Identify derivatives
Create issues
Write tests
Fix resulting bugs

User interface changes

N/A

API changes

Ideally none

Derivative Issue
Custom block N/A (has fix and coverage)
Category (aggregator)
Feed (aggregator) #1888702: Use configuration selection instead of derivatives for some blocks
Language #2078317: Language switcher block derivatives have no test coverage
Menu #2078295: Remove manual menu block cleanup code
View #2078247: Placed views blocks will throw errors if the view is deleted.
Views exposed filter #2078305: Include test for when views exposed filter blocks are changed

Comments

tim.plunkett’s picture

Issue summary: View changes

Added some issues

tim.plunkett’s picture

Issue summary: View changes

Add rows

tim.plunkett’s picture

Issue summary: View changes

Updated issue summary.

tim.plunkett’s picture

Issue summary: View changes

Updated issue summary.

tim.plunkett’s picture

Custom blocks actively prevent you from deleting the block type while there are blocks:
Basic block is used by 1 custom block on your site. You can not remove this block type until you have removed all of the Basic block blocks.

tim.plunkett’s picture

Issue summary: View changes

Updated issue summary.

tim.plunkett’s picture

Issue summary: View changes

Updated issue summary.

dawehner’s picture

Just writing it down:
All of them could actually be solved using #2031859: Invoke an event[s] when a plugin ID disappears

catch’s picture

Category: bug » task

Moving this to a task, we already have a bug report open for the bug itself.

tim.plunkett’s picture

Assigned: tim.plunkett » Unassigned
catch’s picture

Priority: Critical » Major
Status: Active » Postponed

I think we should postpone this on #2031859: Invoke an event[s] when a plugin ID disappears since that's going to change how this all works. If it doesn't need to be postponed and someone works on a patch we can un-postpone though.

catch’s picture

Issue summary: View changes

Updated issue summary.

dawehner’s picture

Don't we deal with this now automatically by using config dependencies?

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

catch’s picture

Status: Postponed » Closed (outdated)
Issue tags: +Bug Smash Initiative

Yes config dependencies fixed this, marking as outdated.