Display disabled Block components in /admin/structure/component/status

Created on 30 October 2024, 4 months ago

Overview

Following 📌 Add support for Blocks as Components Active we only give reasons why SDC components are not available. We should do the same for Block components.

Proposed resolution

User interface changes

📌 Task
Status

Active

Version

0.0

Component

Config management

Created by

🇬🇧United Kingdom longwave UK

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

Comments & Activities

  • Issue created by @longwave
  • 🇮🇩Indonesia el7cosmos 🇮🇩 GMT+7
  • 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺

    AFAICT this bug reported by @el7cosmos in #3475584 is in scope of this issue to fix:

    When I disable a block component via /admin/structure/component, I can't enable it back again with an error message

    Drupal\Component\Plugin\Exception\PluginNotFoundException: The "local_tasks_block" plugin does not exist.

    .

    … or rather, fixing this issue AFAICT should fix that bug.

  • 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺

    I'm 95% confident that this is a duplicate of 📌 Capture all reasons why particular SDC is incompatible Active .

    Why?

    Because for the disabled SDC-sourced Components to be listed at /admin/structure/component/status, XB's decorated SDC plugin manager stores the necessary information in the State service under the \Drupal\experience_builder\Plugin\ComponentPluginManager::REASONS_STATE_KEY key.

    To make Block-sourced Components also get listed at /admin/structure/component/status, it'll also need to end up being stored in that same key-value pair.

    Conclusion: to make the UI treat both ComponentSources the same, the infrastructure needs to change. Which inevitably requires touching the same code paths.

    P.S.: this likely will also require refactoring experience_builder_block_alter() away in favor of XB decorating the Block plugin manager (just like it does for the SDC plugin manager).

  • 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
  • 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Production build 0.71.5 2024