ConfigManager::getConfigEntitiesToChangeOnDependencyRemoval() refers in several places to "fixed" dependencies. This is a bit confusing because "fixed dependencies" is also terminology that was previously used for enforced dependencies. Furthermore, the inline documentation overall could use some clarification.

Proposed resolution

  • Maybe refer to "repairing" dependencies rather than "fixed" dependencies.
  • Improve the inline documentation to clarify what's being done throughout the method.

Remaining tasks



xjm created an issue. See original summary.

xjm’s picture

Title: Clarify "fixed" dependencies in ConfigManager::getConfigEntitiesToChangeOnDependencyRemoval() documentation » Clarify ConfigManager method documentation for handling dependencies

This method and others in the config manager are also confusing when referring to dependents and dependencies. For example, the method docs for findConfigEntityDependentsAsEntities():

Finds config entities that are dependent on extensions or entities.


string $type: The type of dependency being checked. Either 'module', 'theme', 'config' or 'content'.

array $names: The specific names to check. If $type equals 'module' or 'theme' then it should be a list of module names or theme names. In the case of 'config' or 'content' it should be a list of configuration dependency names.

Simply saying what to "check" doesn't clarify what the method does or which way it goes. It would help to be more explicit to understand which direction the dependencies go, e.g., "Find all configuration entities that depend on this entity or extension." An example would also help. Maybe that should be included in the scope as well.

Also related, I don't think the method name onDependencyRemoval() actually explains what that method does.

xjm’s picture

The method documentation is also unclear as to how we know whether the entity can be repaired or not.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.