Is Features still needed? What might a 4.x branch look like?

Created on 27 May 2020, almost 5 years ago
Updated 1 June 2023, almost 2 years ago

Problem/Motivation

What is the use case for Features in Drupal 9? How might a 4.x Drupal 9 version be built?

Considerations:

  • At present there are ~25,000 installs of the Drupal 8 version of Feature s.
  • Some distros are still using Features, including Open Social, which looks to be the 2nd most used distro in D8. Many other distros are using other tools.
  • The Configuration Development module provides a lot of what Features does with a much simpler code base that has better test coverage.
  • Features was written relatively early in the D8 cycle. Meanwhile, the toolset has changed significantly. Some potentially relevant pieces have been added as part of the CMI2 core initiative. Configuration management modules have proliferated in contrib.

Broadly, Features in D8 had the following origin and development:

  • In a separate module, Configuration Packager , Nedjo Rogers (nedjo) developed functionality for assigning configuration to packages.
  • This functionality was merged into Features for D8 and Mike Potter (mpotter) carried the work forward, upgrading and merging in much of the Drupal 7 interface for creating and editing individual features and more.
  • With multiple lead developers and sometimes divergent use cases, the code base expanded and became in some places relatively unwieldy.
  • Daniel Wehner (dawehner) contributed to stablizing and refining the module, adding test coverage and improving coding approaches.
  • Over time both dawehner and mpotter no longer had an active use case for Features. nedjo continued to do minimal maintenance while some community contributions emerged. Overall, the code aged and familiarity with the code based waned.
  • In May 2020 some work geared up in prep for D9, with a few longstanding issues being resolved and progress made towards removing deprecations.

Proposed resolution

For the short term, a limited aim is to get a D9 compatible version out so it isn't a blocker for sites using Features and wanting to upgrade to D9, see #3042642: Drupal 9 Deprecated Code Report . This work can proceed in the 3.x branch.

Going forward possibilities include:

  • Reduce/refine the use cases addressed by Features.
  • Integrate with other config management modules. Candidates: Update Helper, Config Distro, Configuration Synchronizer, Configuration Provider, Config Merge.
  • Use core APIs introduced by CMI2.

Related issues:

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

🌱 Plan
Status

Active

Version

5.0

Component

Code

Created by

🇨🇦Canada nedjo

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

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.71.5 2024