"Core" seems to cover over a multitude of things, encompassing all the modules that ship with the Drupal code base. But there seem to be levels of "core"-ness, and I'm wondering if there is official terminology to distinguish between these. For example:

  1. There is the code that is not part of any module. Does "core" include this officially? It's not clear to me.
  2. There are required modules: without these (at least in Drupal 7) you can't really build a Drupal site.
  3. There are all the default modules that are part of Core. You can turn many of these off without a problem, but they're still considered "core".
  4. There are modules that are turned off by default (PHP Filter) and which may even be considered a bad practice to use under normal circumstances (PHP Filter, again).

If I were naming these levels, I might call them

  1. The Drupal Kernel
  2. Deep Core Modules
  3. (Normal) Core Modules ("Core Modules" would include 2 and 4 as well)
  4. Outer Core Modules

But it seems like Dries may have an official terminology already. Is there such a thing?

  • 1
    You ask some very interesting questions :)
    – Chapabu
    Oct 3, 2012 at 21:11
  • I just noticed on the page I linked to, the sentence "This would make Drupal's actual core (the group of required modules) far lighter and a better choice for apps that don't need content management, for instance." It seems others are grasping for ways to make this distinction as well. I'm not sure that "actual core" is an accurate way of expressing it, though, as it implies the other core modules are somehow pretending to be part of core, imposters or something.
    – iconoclast
    Oct 3, 2012 at 21:14
  • Actual core could simply mean current core.
    – apaderno
    Nov 16, 2012 at 14:26

2 Answers 2


I'm not aware of any official definition of the various levels.

I will however, referring to your suggestions, explain a bit about what levels there are.

  1. The Drupal Kernel is actually a component in Drupal 8, which is a Symfony Kernel
  2. "Deep Core Modules" could be the include files that are not even modules. Some files, for example database.inc, bootstrap.inc and module.inc are so fundamental that core cannot function without them. (There are some more .inc files however that reasonably could become modules, I don't know why they are not)
  3. Core modules then, core parts that are written in the same style as contrib modules, but are still so fundamental that core wouldn't work without them. There's a system module that manages a lot of low level administrative functionality. The node module is (in D7) still required. Field sql storage cannot be turned of either.
  4. Outer Core Modules, are all the other things that are shipped with core because they are commonly used, but not necessary for Drupal to function. The forum, taxonomy terms, the user interface for the field system etc.

Again, I'm not familiar with any official terminology, other than all of it being "Core". When people work on core, I only hear references to the individual "components" of core, as specific in the Drupal issue queue.

When I hear "actual core", I think of levels 1 - 3.

  • So you've heard "actual core" used often?
    – iconoclast
    Oct 15, 2012 at 14:54
  • No, not until you've pointed the phrasing out. Hadn't noticed the choice of word either in the issue you've linked to, even though I've read it before.
    – Letharion
    Oct 15, 2012 at 18:29
  • Just as the Linux kernel is comprised of many files, if Dries asked me to define these terms ;) I'd consider the Drupal core to include database.inc, bootstrap.inc and module.inc as long as those are essential for Drupal's functioning.
    – iconoclast
    Oct 15, 2012 at 20:47

If you can't turn the module off, it's Actual Core. If you can, it's Extended Core.

  • 2
    -1 because you make it sound like this is official in some way, yet you have no references.
    – Letharion
    Oct 15, 2012 at 9:53
  • "Can't" meaning you're not allowed to, or meaning you break Drupal by doing so?
    – iconoclast
    Oct 15, 2012 at 15:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.