fix: #3635967 Make Drupal Website Dashboard compatible with Display Builder 1.0.0-beta9 and later

Display Builder 1.0.0-beta9 makes buildables implement access(), and override buildables getDefaultSources() and deleteOverride(). 1.0.0-beta10 drops the static instance ID helpers and makes getPrefix() non-static. Web Dashboard 1.0.6 fails with a PHP fatal error on both.

Issue: https://www.drupal.org/i/3635967

  • Both buildables implement access() in place of the static checkAccess(), as the page layout buildable does. collectDisplays() returns nothing without it.
  • DashboardOverrideBuildable: getDefaultSources() and deleteOverride() replace revert(); the reset form calls deleteOverride().
  • toUrl() for beta10. The prefix is a class constant, so the static helpers beta9 asks for also run on beta10.
  • composer.json: drupal/display_builder:^1.0.0-beta9. Beta8 no longer works.
  • Kernel tests use the new methods.
  • StatusUpdates uses the update manager's getAvailable() and calculateProjectData() where core has them (11.5 and later; the procedural functions are deprecated there), and the functions on earlier cores.
  • Drupal 12: DashboardUiTest::testAdministration() and testPersonalize() skip when core has no Htmx::prompt(). Display Builder's save preset button still calls it (1.0.x too), and Drupal 12 removed it, so every builder page answers 500 there. That is Display Builder's to fix; the skip comes out once it does.

Pipeline 1035445 is green, the Drupal 12 lanes included. test-only changes is red by design: it runs the updated kernel tests against the old code, which fails with the beta9 fatal error.

AI-Generated: Yes

Checkpoints:

  • File an issue
  • Addition/Change/Update/Fix
  • Testing to ensure no regression
  • Automated unit testing coverage
  • Automated functional testing coverage
  • UX/UI designer responsibilities
  • Readability
  • Accessibility
  • Performance
  • Security
  • Developer Documentation
  • User Guide Documentation
  • Reviewed by human
  • Code review by maintainers
  • Full testing and approval
  • Credit contributors
  • Review with the product owner
  • Release notes snippet
  • Release
Edited by Rajab Natshah

Merge request reports

Loading
Loading