Learnapalooza 2013 "Introduction to Drupal" Class Notes

This is the notes for the notes created for the "Introduction to Drupal CMS" class I did as part of the 2013 Learnapalooza event.  Learnapalooza recruits members of the community to teach 1-hour classes and arranges for venues in which those classes can be held. My class was held at the Elastic Arts Center from 2:30p - 3:30p on 9/22/2013 (World Carfree Day!)

Following are some notes and links I prepared for the class.  A single slip of paper with the URL of this node was distributed to the class.


Short bio, etc.

Find out about participants

During class, we'll go around and do a quick survey of where everyone is from a technical level and a 5 word statement on what brought them to the class.

Overview of class. 

Drupal is a huge subject -- one whose surface we will barely begin to scratch.  We'll cover main concepts from the 10k foot level.

We'll collect feedback on what factets of Drupal people would like to cover.  Class content will be stretched in those directions.

Why Drupal?


Big Picture

Drupal is a CMS.  Those Wikipedia definitions are pretty complete.  My own simplistic definitions is: Drupal is a computer program, written in the PHP programming language, that displays web-pages to site visitors over the Internet.  It also allows people with sufficient permissions to modify the content of that website without having to have access to the server.

Differences between traditional website

A "traditional" website is one composed primarily of (static) HTML files and the resources used by those HTML files (images, styles, etc.)  The website typically resides in a set of directories on a web server somewhere on the Internet.  When a visitor's browser requests a URL, the file corresponding to the URL is read off the disk and transmitted to the visitor's browser, along with necessary resources, where it is displayed.

A CMS system like Drupal is different.  Instead of disk files containing content, the Drupal installation consists of program files.  All requests are handled by this program which determines what content the visitor is requesting and processes the request appropriately.  All incoming requests are handled by this same program.  The content delivered back to the visitor will be based on the URL and what type of user the visitor is (anonymous visitor, admin, etc.)

Database content is typically stored in the database.  (Although files uploaded along with the content -- e.g. images for a blog post -- are stored directly on disk.)

Web Hosting

We'll touch on web hosting -- what it is and what to look for.


Components of a Drupal website

All Drupal websites are composed of the following components:

  • The Drupal software. 
  • Contributed software (modules)
  • Theme (template)
  • Site configuration
  • Uploaded resources (files)

Drupal Software



Extends functionality of core system.  They can be turned on and off

Core Drupal relies on several modules that are distributed along with Drupal.  Many of these cannot be turned off -- user module, node module

Themes (Templates)

A "Theme" controls the visual design of the website.

Ideally, it is isolated from the functionality of the website -- i.e. swapping in a new theme shouldn't affect website function; but sometimes this isn't the case.

Contributed Software

Much of the power of Drupal comes in the form of contributed software.

Drupal is thin by design -- can do lots without contributed modules; but it's limited.

Both modules and themes are made available by members of the Drupal community.  (Most often the case with Modules.)


Data Model

Everything is a node

Except for Users

And except for Comments



Free Tag: