This module is impossible to use in a continuous integration workflow in Acquia Cloud, and probably in other workflows that have configuration splits. Module installs correctly and works correctly if installed on a production environment, but it does not work in environments that do a configuration import during deployment builds.

Error Output:
  ================
   [error]  Drupal\Core\Config\ConfigImporterException: There were errors validating the config synchronization.
   Configuration <em class="placeholder">brightedge.settings</em> depends on the <em class="placeholder">brightedge</em> 
   extension that will not be installed after import. in Drupal\Core\Config\ConfigImporter->validate() (line 755 of
   /mnt/www/html/acquiacloud/docroot/core/lib/Drupal/Core/Config/ConfigImporter.php).

The prefix of the config item referenced in code is brightedge.settings, but it should match the name of the module instead: be_ixf_drupal. The config importer determines a module dependency from this prefix, so it's expecting the config to require the be_ixf_drupal module, not the brightedge module.

CommentFileSizeAuthor
#4 3155238-4.patch359 bytesmahtab_alam
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

utcwebdev created an issue. See original summary.

utcwebdev’s picture

Issue summary: View changes
utcwebdev’s picture

Repeatable: Always
Steps to repeat:
1. Install and enable be_ixf_drupal; rebuild caches
2. Place BrightEdge Foundation Content Block in footer region; save
3. Export configuration
4. Uninstall module
5. Import configuration

Expected Results:
Configuration can be imported.

Actual Results:

Output:
  ================
  +------------+----------------------------------------------+-----------+
  | Collection | Config                                       | Operation |
  +------------+----------------------------------------------+-----------+
  |            | block.block.brightedgefoundationcontentblock | Create    |
  |            | core.extension                               | Update    |
  |            | brightedge.settings                          | Update    |
  +------------+----------------------------------------------+-----------+

   // Import the listed configuration changes?: yes.



  Error Output:
  ================
   [error]  Drupal\Core\Config\ConfigImporterException: There were errors validating the config synchronization.
  Configuration <em class="placeholder">brightedge.settings</em> depends on the <em class="placeholder">brightedge</em> extensi
  on that will not be installed after import. in Drupal\Core\Config\ConfigImporter->validate() (line 755 of /mnt/www/html/utccl
  oud/docroot/core/lib/Drupal/Core/Config/ConfigImporter.php).

  In ConfigImportCommands.php line 261:

    The import failed due to the following reasons:
    Configuration <em class="placeholder">brightedge.settings</em> depends on t
    he <em class="placeholder">brightedge</em> extension that will not be insta
    lled after import.

mahtab_alam’s picture

FileSize
359 bytes
utcwebdev’s picture

No real change in behavior with #4 patch applied. Settings file is still created as brightedge.settings.yml upon configuration export.

Additional error is introduced now when module is configured via saving the admin form:

Notice: Undefined index: capsule_mode in Drupal\be_ixf_drupal\Form\AdminForm->submitForm() (line 97 of modules/contrib/be_ixf_drupal/src/Form/AdminForm.php).
Drupal\be_ixf_drupal\Form\AdminForm->submitForm(Array, Object)
call_user_func_array(Array, Array) (Line: 114)
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object) (Line: 52)
Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object) (Line: 593)
Drupal\Core\Form\FormBuilder->processForm('brightedge_settings_form', Array, Object) (Line: 144)
Drupal\autosave_form\Form\AutosaveFormBuilder->processForm('brightedge_settings_form', Array, Object) (Line: 321)
Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 97)
Drupal\autosave_form\Form\AutosaveFormBuilder->buildForm(Object, Object) (Line: 91)
Drupal\Core\Controller\FormController->getContentResult(Object, Object)
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 151)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 38)
Drupal\webprofiler\StackMiddleware\WebprofilerMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
mahtab_alam’s picture

Status: Active » Fixed

Download latest version of this module.
The brightedge.settings.yml is changed with be_ixf_drupal.settings.yml

Thanks

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.