Skip to content

Drupal Introduction

1. What's a drupal?

etymologically, technically, actually

Etymologically

druppel

Technically

  • categorized as a CMS
  • more accurately:

"A content management framework (CMF) is a system that facilitates the use of reusable components or customized software for managing web content."

Actually

  • drupal empowers, it puts you in the driving seat
  • by facilitating you to build data models for the structured content you want to manage, making abstraction manageable
  • goes a long way in solving the flexibility/simplicity dilemma
  • it's a modular construction kit

Simplicity

Optimus Tiny"Optimus Tiny" by aloshbennett is licensed under CC BY 2.0

Flexibility

Lego mining truck"Lego mining truck" by Marcus T Ward is licensed under CC BY-ND 2.0

  • this flexibility comes at a certain cost: a modular vehicle construction kit will by nature require you to read the instruction manual first
  • the building blocks are available, but you'll need to learn how they fit together

It's mature And it's big

So, why drupal?

  1. state-of-the-art CMS
  2. if you can do drupal, you can do anything
  3. the power of drupal: manageable abstraction

2. Installing drupal (FYI)

Client-server model

LAMP architecture

A number of folders on a webserver (hosted on a machine controlled by a linux operating system), written in php and connected to a database on a mysql-server.

  • __L__inux
  • __A__pache
  • __M__ysql
  • __P__hp

Drupal versions

  • At any given time, there are two major release series of Drupal which are supported. Currently, these are Drupal 7, 8 and 9. This is not an academic matter.
  • Drupal 8 (released 19/11/2015)
    • Drupal 8 releases
    • ships with enough functionality out of the box that for the first time site builders should be able to create fairly sophisticated sites
    • is in line with the web landscape of today, with its mobile-first approach
  • Drupal 9 - released on June 3, 2020
  • The Evolution of Drupal. Drop 1.0 to Drupal 8.

FYI: installing drupal on your own device
("localhost")

Installing drupal on ulyssis.org

3. Drupal Structure

TOC Drupal 8 documentation

  • flexibility through several layers of abstractions
    • nodes hold the structured information
    • the site's information architecture (including navigation structure) is designed separately by the menu system, taxonomy (tagging of content), views (lists of content), and blocks (side content which often have links to different site sections)
    • the theme system, along with display modules, controls how all this looks
    • layers are kept separate, so you can provide different navigation and presentation of your content to different users, various functions and content can be shown or hidden as needed
  • concepts to explain these abstractions (not always intuitive)
    • node: "A piece of content in Drupal, typically corresponding to a single page on the site, that has a title, an optional body, and perhaps additional fields."
    • entity: "Any defined chunk of data in Drupal. This includes things like nodes, users, taxonomy terms, files, etc"
  • get to know the basic building blocks for assembling a Drupal site and how they relate to each other

    • modules
    • content types, fields
    • blocks
    • menus
    • taxonomies
    • themes
    • (install profiles)
  • directory structure

Drupal building blocks

The difference between building and developing a drupal website.

3.1. Modules

Modules are functional plugins that are either part of the Drupal core (they ship with Drupal) or they are contributed items that have been created by members of the Drupal community.

Drupal 8 Core modules

Contributed module examples

Extend and customize Drupal functionality with contributed modules.

Contributed modules in default online publishing site

3.2. Contenttypes

The most important way that Drupal helps you manage content is with content types. Different types of content require different features = fields

"a Content Type is a pre-defined collection of data types (Fields) which relate to each other by an informational context."

  • tumblr content types

  • default contenttypes and contenttypes you make yourself

example contenttypes

3.3. Views

The Views module allows you to query your site’s database, and present the content you select.

Using the Views module, you can fetch content from the database and present it to the user as lists, posts, galleries, tables, maps, graphs, menu items, blocks, reports, forum posts, webfeeds, JSON text files etc. It provides a graphical interface to a SQL query builder that can access virtually any information in your database and display it in any format.

example views

3.4. Themes

  • Responsible for controlling both your site’s visual design and layout
  • A theme generally consists of
    • HTML markup,
    • CSS,
    • JavaScript,
    • and media (images, video, and audio).
  • Find a theme on drupal.org
  • Drupal8 W3CSS Theme
    • Drupal 8/9 theme that uses the w3.css framework.
    • Smaller and faster than other CSS frameworks.
    • Easier to learn, and easier to use than other CSS frameworks.
    • Uses standard CSS only (No jQuery or JavaScript library).
    • Speeds up and simplifies web development.
    • Demo

Installation Profiles and Distributions

"a distribution defines a packaged version of Drupal that upon installation, provides a website or application built for a specific purpose."

Documentation

Example distributions & install profiles

4. Building your site

Plan well

The admin interface - navigate your site

  • the admin menu - the drupal dashboard: almost everything you want to change and modify on your site can be accessed from here
  • content overview, add content

Create navigation on your site