bartik.info.yml
'theme'
./themes
/core/profiles/standard
/core/$type
(2) /$profile/$type
(3) /$type
(4) /sites/$site/$type
$extension.info.yml
file, which contains meta information to describe the extension (package).
.git
.)Exactly two:
Previously, there was a 3rd condition of update.php, which was not able to assume that the installation profile of a previous major version of Drupal core still exists, but that case is obsolete and gone with Migrate in core.
-$settings['install_profile'] = 'standard';
+$settings['install_profile']['standard'] = 'core/profiles/standard';
The filesystem location of the installation profile is required in order to efficiently discover + rebuild extension lists.
This setting is not supposed to be touched by site builders/developers either way, so the exact data type/value in settings.php should not matter.
Additionally, this opens the door to add support for #1356276: Allow profiles to define a base/parent profile → , potentially even post-8.0.0.
-$conf['simpletest.settings']['parent_profile'] = 'openatrium';
+$settings['simpletest_parent_install_profile']['openatrium'] = 'profiles/openatrium';
...or completely obsolete with (1), because with that, reality is just this:
$settings['install_profile']['openatrium'] = 'profiles/openatrium';
$settings['install_profile']['standard'] = 'core/profiles/standard';
-system.module:enabled
-system.theme:enabled
+core.extension:modules
+core.extension:themes
→ /core/config/core.extension.yml
(← "core.extension" == Drupal\Core\Extension)
Introducing core configuration. (restricted to critical base system components)
Resolving a major circular dependency problem in the installer, tests, and elsewhere: System module cannot be installed through regular means, because System module itself supplies the system.module configuration file.
Likewise, #2184387: Remove SchemaStorage → discovered that System module defines some basic configuration schema data types that have to be available at all times. But yet, for concistency, DX, discovery, and code re-use purposes, it would be preferable to keep defining them in a YAML file like all other config schema files.
→ /core/config/schema/core.data_types.yml
The idea is to turn "core" into extension and extension type itself.
So as to allow it to be a regular data provider like any other extension type. The only exception is that there is only one core, so $extensionList->getPath('core', 'whatever')
will always return "core"
(the extension name is ignored).
Starting from core services (core.services.yml), to core libraries (core.libraries.yml), to base config schema, and base system extension (default) configuration, core already is a data provider like any other extension:
/core/config/schema
/core/config
/core/lib
/core/tests
/core/core.libraries.yml
/core/core.services.yml
The primary purpose of this meta issue is to (1) raise awareness of the (non-obvious) problem space, (2) discuss the concrete proposal presented here, and (3) come to an agreement ASAP.
Given that other issues required me to make myself familiar with all of this code/insanity, I'd be happy to volunteer on my own to code up these gems, but before doing so, I'd like to achieve at least some basic level of agreement. (The devil is in the details anyway.)
Active
11.0 🔥
The issue is available for high level reviews only. If there is a patch or MR it is not to be set to 'Needs work' for coding standards, minor or nit-pick changes.
Issue summaries save everyone time if they are kept up-to-date. See Update issue summary task instructions.
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.