Postponed (maintainer needs more info)
Project:
Drupal core
Version:
main
Component:
extension system
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
9 Jul 2012 at 03:13 UTC
Updated:
15 Sep 2026 at 01:53 UTC
Jump to comment: Most recent
Comments
Comment #0.0
sunUpdated issue summary.
Comment #0.1
sunUpdated issue summary.
Comment #0.2
sunUpdated issue summary.
Comment #0.3
sunUpdated issue summary.
Comment #1
sunI clarified the impact of CMI on install profiles (in proposal B).
FWIW, I'd strongly prefer proposal B, since it allows us to remove tons of hacks and keep the architecture clean.
Essentially, proposal B degrades an install profile to a simple "pointer" to a (site) directory in which further modules/themes may be found. If that pointer or the directory happens to vanish - e.g., because the subdirectories have been moved into sites/all/* - then nothing bad happens — the system remains to stay functional and operable.
Comment #1.0
sunUpdated issue summary.
Comment #2
catchI added two more issues to the summary.
Comment #3
webchickTurning installation profiles into modules in D7 was an important DX improvement, IMO. They were special "thingies" in D6 and earlier and really difficult to work with. They need a way to declare dependencies, to perform tasks on install, to alter the forms during registration and add/change/remove fields, etc. All of which are things modules do. Why should I have to learn two different ways to do the same things?
At the very least, if we're going to go with option B, an analysis should be done of the top 20 or so distros and find out if it's actually true that "almost all PHP code in an install profile's hook_install() will move to configuration files in a ./config/ subdirectory." I have my doubts.
Comment #4
sunWell, we can happily inject some special code like the following into the Drupal installer:
... or even more custom and less hacky:
... plus probably a dozen other possible ways to achieve the same.
But the important part is:
That's a one-time hack/operation for a clearly defined scope. — We do not continue to support a hack that's an architectural disaster for the entire lifecycle of a Drupal site.
Comment #5
catchEverything that can't, can go in a profile-specific module that ships with the distribution no?
There are many, many places in core, where we have special casing of profiles to avoid them actually working like modules, those need to go.
Comment #6
dkl4 commentedFor background, see the following issue which I believe changed profiles into "full modules" :
Install profiles should be modules with full access to the Drupal API and all it entails(.install files, dependencies, update_x)
http://drupal.org/node/509398
Comment #6.0
dkl4 commentedAdding two issues to summary.
Comment #7
sunComment #8
andypostneeds update about current state of modules storage and hook invocation
Comment #12
andypostBeta is too close
Comment #20
quietone commentedHappened to find this after looking at one of the related issues in the IS. Adding those issues to related issues.
Comment #24
quietone commentedFound another related issue
Comment #26
smustgrave commentedWonder if this. ticket can be closed for #2595663: When installing a profile module it incorrectly gets added to the module list with type module as they have a patch over there.
Comment #28
taggartj commentedFor me in 10.1.3
I had to do something like this
in Drupal\Core\Extension\ExtensionList ....
was upgrading but drush cr was not working / throwing an error
just incase you see "The profile X does not exist."
Comment #30
nicxvan commentedAlthough this is older the other issue has a patch.
I think we should close this one as the duplicate.
#2595663: When installing a profile module it incorrectly gets added to the module list with type module
I'll leave this open for a bit in pmni in case others think we should close the other one.
Comment #31
smustgrave commentedMakes sense to close this one to me.
Comment #32
quietone commentedAfter reading the comments here I am not sure this should be closed as a duplicate. The implementation in the patch in #2595663: When installing a profile module it incorrectly gets added to the module list with type module goes against what is recommended in #5. Also, this issue has provides some history, and links, to why profiles are treated as modules.
Comment #33
nicxvan commentedThank you @quietone, I'll take a closer look.
I am not sure what you mean by 5 do you mean not removing the special casing?
We do want to do that and preserve the info, I think the goals are pretty close in the two issues.