When #1447686: Allow importing and synchronizing configuration when files are updated lands, we'll have a simple config_sync() mechanism.

however, we deferred handling module dependencies and a other issues of ordering of reload operations.

this issue will track that and implement these features.

CommentFileSizeAuthor
#8 drupal8.config-defer.8.patch9.68 KBsun
#6 1605460_6.patch3.02 KBchx
#4 1605460_4.patch2.39 KBchx
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

sun’s picture

Issue tags: +Configuration system
sun’s picture

Title: Implement dependencies and defer process for config_sync() » Implement dependencies and defer process for importing configuration

The last patch that implemented the dependency handling and DEFER flag was #105 on
#1447686-105: Allow importing and synchronizing configuration when files are updated

Personally, I think this issue should be postponed until we actually have any config objects with interdependencies though.
(which is blocked on #1668820: Concept, base class, and interface for Configurables (e.g., node types, image styles, vocabularies, views, etc))

sun’s picture

Somewhat related to dependencies, there is also:
#1677258: Configuration system does not account for API version compatibility between modules

It's filed as a separate issue, because

1) this issue here is mainly talking about interdependencies between multiple config objects

2) that issue is mainly about 1 config object, and 1 module API/version; whereas the config object might have been exported on a site that had a previous module API version installed and the config object is imported on a site that has a different/incompatible module API version installed.

chx’s picture

Status: Active » Needs review
FileSize
2.39 KB

I talked to heyrocker about this and he said that each module should deal on the inside with its own dependencies on the outside we just use the module dependency order. So...

Status: Needs review » Needs work

The last submitted patch, 1605460_4.patch, failed testing.

chx’s picture

Status: Needs work » Needs review
FileSize
3.02 KB

That's weird , I thought my HEAD was up-to-date. Anyways, the above recalculated modules thrice. Hardly what we want.

Status: Needs review » Needs work

The last submitted patch, 1605460_6.patch, failed testing.

sun’s picture

Attached patch is a 1:1 plain restore of the DEFER code from #1447686: Allow importing and synchronizing configuration when files are updated, extracted from git history.

The code needs to be adjusted all over the place to be functional and compatible with the current config code in HEAD.

However, I think we should definitely base further work on this code, since the defer/dependencies topic actually was the one we discussed most and spent the most time on to figure out. The solution @davidstrauss came up with still makes most sense to me.

chx’s picture

Status: Needs work » Needs review

I do not get it. This code adds calling MODULE_config_sync but does not remove the existing MODULE_config_import_$op callbacks. I think the latter is now superceded?

sun’s picture

alexpott’s picture

mtift’s picture

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

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

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

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

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

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.

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

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

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

alexpott’s picture

Status: Active » Closed (duplicate)

Config dependencies got implemented and we use this to build a tree and import in that order.