Support for Entity Construction Kit (ECK)

Created on 9 May 2023, about 2 years ago
Updated 10 May 2023, about 2 years ago

Problem/Motivation

In a recent client project, we've seen issues with ECK enforced configs, including:

1. Looping behaviour caused by a cache-rebuild triggered during configuration instantiation (fixed in πŸ› Resolve config_enforce "looping" behaviour Closed: outdated )
2. Dependencies not resolving properly
3. Possibly related to patches enabling ECK entities to be referenced by 'simple' Inline Entity Form (IEF) fields.

Steps to reproduce

TBD

Proposed resolution

TBD

User interface changes

N/A

API changes

N/A

Data model changes

N/A

πŸ› Bug report
Status

Active

Version

1.0

Component

Code

Created by

πŸ‡¨πŸ‡¦Canada ergonlogic MontrΓ©al, QuΓ©bec πŸ‡¨πŸ‡¦

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

Comments & Activities

  • Issue created by @ergonlogic
  • Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 7.4 & MySQL 5.7
    1:33
    1:33
    Queueing
  • @ergonlogic opened merge request.
  • Open in Jenkins β†’ Open on Drupal.org β†’
    Core: 10.0.7 + Environment: PHP 8.1 & MySQL 8
    last update about 2 years ago
    13 pass
  • πŸ‡¨πŸ‡¦Canada ergonlogic MontrΓ©al, QuΓ©bec πŸ‡¨πŸ‡¦

    We merged the latest commits from ✨ Provide Drush command to enforce configs Fixed , which allowed us to avoid the looping behaviour with ECK.

    We then added:

    1. Tests and a test module to ensure that Config Enforce supports Entity Construction Kit (ECK).
    2. Tests and a test module to ensure that Config Enforce supports nested references between ECK bundles.
    3. Tests and a test module to ensure that Config Enforce supports nested references between ECK bundles in the same target module.

    This appears to show that " 2. Dependencies not resolving properly" is not at issue.

    That said, we are seeing the following output at the end of each of our tests:
    ```
    β”‚
    β•³ The "test_eck_entity_type" entity type does not exist. (Drupal\Core\Entity\EntityStorageException)
    β”‚
    └─ @AfterScenario # CEI\CeiDrupalContext::cleanUsers()
    β”‚
    β•³ The "test_eck_entity_type" entity type does not exist. (Drupal\Core\Entity\EntityStorageException)
    β”‚
    └─ @AfterScenario # Drupal\DrupalExtension\Context\MessageContext::cleanUsers()
    β”‚
    β•³ The "test_eck_entity_type" entity type does not exist. (Drupal\Core\Entity\EntityStorageException)
    β”‚
    └─ @AfterScenario
    ```

    Despite this, the tests themselves are all passing.

  • πŸ‡¨πŸ‡¦Canada ergonlogic MontrΓ©al, QuΓ©bec πŸ‡¨πŸ‡¦

    The plan, at this point, is to add Inline Entity Form (IEF) to the mix (with its simple form). If that doesn't trigger dependency errors, we'll try adding in Conditional forms, then apply some of the patched in-use on the client project.

  • πŸ‡¨πŸ‡¦Canada ergonlogic MontrΓ©al, QuΓ©bec πŸ‡¨πŸ‡¦

    Running with extra verbosity (behat -vv) got us:

      β”‚
      β•³  Drupal\Core\Entity\EntityStorageException: The "test_eck_entity_type" entity type does not exist. in web/core/lib/Drupal/Core/Entity/Sql/SqlCo
    ntentEntityStorage.php:761
      β•³  Stack trace:
      β•³  #0 web/core/lib/Drupal/Core/Entity/EntityBase.php(347): Drupal\Core\Entity\Sql\SqlContentEntityStorage->delete()
      β•³  #1 web/core/modules/user/user.module(691): Drupal\Core\Entity\EntityBase->delete()
      β•³  #2 web/core/includes/batch.inc(295): _user_cancel()
      β•³  #3 web/core/includes/form.inc(955): _batch_process()
      β•³  #4 vendor/drupal/drupal-driver/src/Drupal/Driver/Cores/Drupal8.php(201): batch_process()
      β•³  #5 vendor/drupal/drupal-driver/src/Drupal/Driver/DrupalDriver.php(111): Drupal\Driver\Cores\Drupal8->processBatch()
      β•³  #6 vendor/drupal/drupal-extension/src/Drupal/DrupalExtension/Context/RawDrupalContext.php(266): Drupal\Driver\DrupalDriver->processBatch()
      β”‚
      └─ @AfterScenario 
    

    So, that's helpful.

  • Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 7.4 & MySQL 5.7
    last update about 2 years ago
    Not currently mergeable.
  • Open in Jenkins β†’ Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 7.4 & MySQL 5.7
    last update about 2 years ago
    13 pass
  • Open in Jenkins β†’ Open on Drupal.org β†’
    Core: 10.0.7 + Environment: PHP 8.1 & MySQL 8
    last update about 2 years ago
    13 pass
  • Open in Jenkins β†’ Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 7.4 & MySQL 5.7
    last update about 2 years ago
    13 pass
  • πŸ‡¨πŸ‡¦Canada ergonlogic MontrΓ©al, QuΓ©bec πŸ‡¨πŸ‡¦

    IEF tests are all passing. So presumably this has something to do with Conditional Fields.

  • Open in Jenkins β†’ Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 7.4 & MySQL 5.7
    last update about 2 years ago
    13 pass
Production build 0.71.5 2024