4

"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 '12 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 '12 at 21:14
  • Actual core could simply mean current core. – kiamlaluno Nov 16 '12 at 14:26
3

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.

| improve this answer | |
  • So you've heard "actual core" used often? – iconoclast Oct 15 '12 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 '12 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 '12 at 20:47
-1

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

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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