Problem/Motivation

Draggable Dashboard module breaks Configuration Synchronization functionality.

While using Draggable Dashboard with drush config-export or the Configuration synchronization section built into Drupal 8, the configuration generated by Drupal will not import. This occurs because the configuration exported includes the blocks added to the dashboard (as expected), however the block configurations also include an empty theme dependency. When one tries to import configuration including configuration exported from Draggable Dashboard, the import errors out indicating that the theme (with an empty name) does not exist.

Example configuration export of a block added to a Draggable Dashboard:

uuid: 3a7bed18-1d7b-4883-a2df-330d1c6fe4c2
langcode: en
status: false
dependencies:
  module:
    - system
  theme:
    = ""
id: poweredbydrupal
theme: ''
region: draggable_dashboard_region
weight: null
provider: null
plugin: system_powered_by_block
settings:
  id: system_powered_by_block
  label: 'Powered by Drupal'
  provider: system
  label_display: '0'
visibility: {  }

Proposed resolution

Find a way to override configuration exports for blocks included in Dashboard entities to exclude the theme dependency. The example from above should instead appear like:

uuid: 3a7bed18-1d7b-4883-a2df-330d1c6fe4c2
langcode: en
status: false
dependencies:
  module:
    - system
id: poweredbydrupal
theme: ''
region: draggable_dashboard_region
weight: null
provider: null
plugin: system_powered_by_block
settings:
  id: system_powered_by_block
  label: 'Powered by Drupal'
  provider: system
  label_display: '0'
visibility: {  }

Remaining tasks

User interface changes

API changes

Data model changes

Comments

rbrownell created an issue. See original summary.

rbrownell’s picture

Issue summary: View changes
cmd87’s picture

Assigned: Unassigned » cmd87
Status: Active » Needs review
sanduhrs’s picture

Version: 8.x-1.0 » 8.x-1.x-dev
Status: Needs review » Needs work

Changing https://cgit.drupalcode.org/draggable_dashboard/tree/src/Form/DashboardM...
from
$block->set('theme', '');
to
$block->set('theme', 'seven');
does actually solve the problem.

  • cmd87 committed c9f8677 on 8.x-1.x
    Issue #3007125 by rbrownell, sanduhrs: Config Imports Not Working...
cmd87’s picture

Thanks guys! Patch applied.

cmd87’s picture

Status: Needs work » Fixed
cmd87’s picture

Status: Fixed » Closed (fixed)