Drupal @ PSU

T HE L ANGUAGE OF D RUPAL
Z ONE OF P ROXIMAL
D EVELOPMENT
Here
to
There
C ONTEXT
OF
D RUPAL
W HAT
IS

Open

Community

Content Management System

Content

Design

Technical Design
D RUPAL
D RUPAL C ORE

The basic features common to Content
Management Systems.

Includes modules, themes, maintenance, admin

Anything outside of the sites folder in a Drupal
installation
D ISTRIBUTIONS

Drupal 5.0

Drupal 6.0


Windows XP
Drupal 7.0

Improve
performance/scalability

Beef up core modules

Increase adoption

Drupal 8.0

Better HTML5

More mobile

More modern
framework
D RUPAL C ORE

Content

Blogs

File uploads/downloads

Forums

Menus

Polls

User Accounts

Search engine

Roles and Permissions

Language capabilities

Taxonomy

Logging and error
reporting
M ODULES

An add-on in Drupal that provides enhanced
features and functionality
Core
Contributed
C OMMUNITY

DrupalCon

Semi-annual event alternating between North
America and Europe


Over 3,300 attended latest event in Portland
Drupal Camp

Smaller events

Us!
N ODE


Piece of content

Based on same type of data structure

Have a title and body content

Comprised of fields
Node types

Extend the base node by adding data attributes

Not everything is a node

Users, blocks, comments
C ONTENT

Content Types

Predefined collection of data types (fields) which
relate to each other in an informational context.

Examples

Page

Article
C ONTENT T YPES


Basic Page

Title field

Body field
Article

Title field

Body field

Image field

Defined tags

Custom
F RAMEWORK
Page
Region
Region
Block
Block
B LOCKS

Snippets of text or functionality that live outside
main content areas

Left/right sidebars

Header/footers

Have a title/description

Not full-fledged content

Not a node

Can be amazingly complex
F IELDS

Reusable pieces of data

Name of field

Type of data
E NTITIES
Entity Types
• Nodes
(content)
• Comments
• Taxonomy
terms
• User
profiles
Bundles
• Subtypes
of entity
type
• Not all
entity
subtypes
have
Fields
• Reusable
piece of
content
• Helps
organize
data
Entity
• One
instance of
a particular
entity type
• Noun; not
a verb
TAXONOMY

A mechanism for organizing content of your site
(categories)

Vocabulary - Group of related terms

Term - Word or phrase that describes distinct
aspect of a vocabulary
Terms
Slapstick
Vocabulary
Movie Genre
Actors
Comedy
Romantic
Action
Action
Drama
V IEWS

An easy to use module that allows you to select
and display lists of content on your website.

Arrangement of data on a page to create desired
display
PANELS

Module that allows you to divide up your content
area beyond regions and blocks

Two-column stacked

Three-column

Flexible
T HEME

System

Collection of files that make up the look and feel of
your site


Come with core

Download from the web

Pay from the web

Design your own
Responsive

Omega
T HEME

Core

Free sites

Paid sites

Design Your Own
F ORM API

Application Programming Interface

Generate, validate, process HTML forms

Instead of HTML, you create an array and let the
engine generate the HTML

Very easy to modify

Map form elements to theme functions

Secure
E VENTS A ND T RIGGERS

Event


Hook


Specific process within the hook
Trigger


Modules hook into flow of execution
Operation


A message sent from one component of the system to others
Combination of the hook and operation that causes an action
Action

Something Drupal does
H OOKS

Internal Drupal events

“Callbacks”

Allow modules to “hook into” what is happening
in the rest of Drupal.

Most common way to tap into Drupal’s core
functionality.

Example: Log in and the user hook. Helps shape
the user experience at login
F ILE L AYOUT

The directory structure of a default Drupal
installation
B OOTSTRAP P ROCESS

How Drupal serves requests

Initializes configuration

Early page cache

Initialize database

Hostname/IP-based access control

Initialize session handling

Late page cache

Language determination

Path

Full

Processes request

Themes data
O THER T ERMS

Actions

Something Drupal does

Function

Clearly defined task

Users

Permissions
O THER T ERMS I

Drush

Cache
MISSED