How Drupal works

Before we start building our social networking site, it is important to take a step back and look at Drupal in a little more detail, to see how it works and the thought process behind it. Having a better understanding of this will help when planning, expanding, and managing our site!

An abstract framework

Although in the previous chapter Drupal was described as a content management system, it can more accurately be described as a content management framework. Whilst being a content management system—in that it is a system which is used for managing content within a website—Drupal places more emphasis upon the ability to easily customize and configure it.

Drupal is an abstract framework, because instead of focusing on specific types of site, and solutions to those, it focuses on more generic problems and approaches to them, which makes Drupal useful for more situations. With a little customization Drupal can be tailored more to a specific type of site.

Nodes

Nodes are what make Drupal an abstract framework. Most content types within Drupal are variants of a central concept within Drupal, the node. While different types of node (that is, different Content Types) are managed and handled differently, they are all stored together in the database. The Drupal website explains this best on their general concepts page:

A node in Drupal is the generic term for a piece of content on your website. (Note that the choice of the word "node" is not meant in the mathematical sense as part of a network.) Some examples of nodes:

Pages in books

Discussion topics in forums

Entries in blogs

News article stories

Each node on your site has a Content Type. It also has a Node ID, a Title, a creation date, an author (a user on the site), a Body (which may be ignored/omitted for some content types), and some other properties. By using modules such as the contributed Content Construction Kit (CCK) module, the core Taxonomy module, and the contributed Location module, you can add fields and other properties to your nodes.

For more information on nodes, visit http://drupal.org/node/19828.

Note

Much of the functionality related to the Content Construction Kit mentioned earlier, is now part of the Drupal 7 core, and not a separate module.

Although our default Drupal 7 installation only has provisions for Basic Page and Article content types (or types of node), the optional core modules which come included have provision for the following types of node:

  • Blog entries
  • Pages of a collaborative book (similar to a Wiki)
  • Forum topics
  • Polls

Tip

Drupal terminology

Drupal makes use of a technical vocabulary that has been documented in detail. While new phrases, words, and concepts are explained there may be some which are not covered in as much detail as they deserve. A detailed list of Drupal terminology is available online at http://drupal.org/node/937.

Modules and themes

Drupal's functionality is enhanced through modules . A number of modules are included as part of the Drupal core providing out-of-the-box, or optional out-of-the-box functionality, and the Drupal.org website features thousands of third party "contributed" modules which can be downloaded and installed to add new features to our Drupal installations.

The look and feel of our Drupal installation is determined by the theme . A few basic themes are included out-of-the-box with Drupal, with thousands available to download to change the design of the site. Drupal's theme system makes it relatively easy to completely customize the site's design.