Modules

In Drupal, a module is a plugin which provides some particular functionality for your site. Because Drupal is very flexible, modules can do many different things, so much so that it is difficult to classify them. Here is a selection of some of the types of functionality provided by existing modules (it is not exhaustive by any means):

  • Content, for example blogs and forums.
  • Organisation and navigation of content.
  • Search facilities.
  • Gathering page view statistics.
  • eCommerce solutions.

and many more. As you can see, some of these provide whole new content types, some provide extra functions in the sidebar, some are completely hidden from the user and work in the background.

Drupal is almost entirely built from modules, and there are also many more (hundreds, possibly thousands) which you can add to meet the specific needs of your site. Broadly there are three classes of module:

  • Core – required modules. These modules are so important to the core functionality of Drupal that you are not permitted to disable them. Essentially Drupal wouldn't work without them. When you install Drupal they are installed and enabled.
  • Core – optional modules. These provide important functionality, but are not necessarily required by every site. They are installed with Drupal. Some are enabled by default, some are disabled by default, but any of them can be turned on or off.
  • Contributed modules. These are not official Drupal modules, however many of then are listed on the official drupal.org site. They are developed and maintained by volunteer developers who are not necessarily Drupal core developers. However many of the better known contributed modules are as trustworthy and reliable as Drupal itself.

There is a limited amount of interdependency between modules, ie in order to use a module X you might also need modules Y and Z installed. This is generally well document for any modules affected, and it is unlikely to cause you any problems, it is just something to be aware of.