Drupal Enterprise: System Setup

Drupal.org site's Drupal Overview page explains the basics of how Drupal works. Excerpts are below (© copyright 2000-2013 by Drupal.org; content can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0).

Model

Most Content Management Systems (CMS) are like a toy boat or truck - specific assumptions have been made about their use, assumptions that would be hard for you to override. Frameworks, on the other hand, provide you with the raw materials - you only need to know a programming language and have a clear design vision to put them together.

Drupal is like a Lego kit. Skilled developers have already made the building blocks (in the form of contributed modules) that you need to create a site that suits your needs, whether that is a news site, an online store, a social network, blog, wiki, or something else altogether.

How it works

People often think of a website as a collection of static pages, with some functions (like a blog or a news engine) thrown in to round it out. When they go to manage their site, they are thinking in terms of a tree-like hierarchy of pages that they will go in and edit.

Drupal, on the other hand, treats most content types as variations on the same concept: a node, which is a set of related bits of information. Static pages, blog posts, and news items (some possible node types) are all stored in the same way, and the site's navigation structure is designed separately by editing menus, views (lists of content), and blocks (side content which often have links to different site sections).

The Drupal flow

If you want to go deeper with Drupal, you should understand how information flows between the system's layers. There are five main layers to consider:

Schematic drawing showing the five layers of Drupal; Layer 1: Date (nodes, etc), Layer 2: Modules, Layer 3: Blocks and Menus, Layer 4: Permissions, Layer 5: Template

This directional flow from bottom to top controls how Drupal works. Is some new functionality you want not showing up? Perhaps you uploaded the module into the system but have not activated it yet, and this is making everything downstream non-functional (as in "A" in the diagram above).