Drupal for Education and E-Learning

5 (1 reviews total)
By Bill Fitzgerald
    Advance your knowledge in tech with a Packt subscription

  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Introduction

About this book

Social media in the classroom provide unique opportunities for teaching and learning. This book helps you break through the hype, and shows you how to build a site in Drupal that incorporates the Web in your class, on your terms, to achieve specific learning goals.

This book provides the essential details to get the most out of your Drupal site. In clear, step-by-step instructions, you will learn how to build a site that is easy to use, easy to navigate, and supports the teaching and learning you want to emphasize.

Drupal for Education and E-Learning provides a step-by-step overview of how to work with Drupal to build a feature-rich learning environment. In this book, you will learn how to configure the default Drupal installation, and how to extend your site to include social bookmarking, a podcasting and video sharing platform, image sharing, and interactive discussions around rich media content. You will also learn how to organize your site so that, as learning occurs over time, you and your students will be able to track their work history.

Publication date:
November 2008


Chapter 1. Introduction

Welcome to Using Drupal in Education and E-Learning!

The last several years have seen an incredible upswing in the popularity and adoption of Drupal. The size of the Drupal community, as of May, 2008, is approaching 300,000 registered users, and Drupal is used to power everything from personal blogs to online stores to learning platforms to sites for record labels.

This book provides details of how to install Drupal, and how to customize Drupal to support teaching and learning. This initial chapter provides a high-level overview of Drupal, along with details of how to get the most from this book.


What is Drupal

A concise definition of Drupal is difficult to come by, as many people use Drupal for many different things. The following definitions provide an incomplete cross-section of how different people use Drupal. Our working definition is the final one in the list.

  • Drupal is a database-driven web application written in PHP.

  • Drupal is an open-source Content Management System (CMS) freely available under the GPL.

  • Drupal is a community-building platform.

  • Drupal is a web development framework. You can use Drupal as a platform to build a broad range of web applications.


The above definitions, however, can also benefit from further explanation. For those interested in additional reading and background, the following links provide a more detailed overview, and some background information:

PHP: http://php.net/

Web content management system, defined: http://en.wikipedia.org/wiki/Web_content_management_system

The GPL, or the Gnu Public License: http://www.gnu.org; Drupal is covered under version 2 of the GPL: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Web development framework, defined: http://en.wikipedia.org/wiki/Web_application_framework

Background information on Open Source: http://www.opensource.org

Overview section, from the Drupal handbook: http://drupal.org/node/21951

Our definition: Drupal is a tool that helps people build interactive websites. It is free to download, install, customize, and use.


Drupal—A Short Historical Overview

Drupal was started in 2000 by Dries Buytaert when he was a student at the University of Antwerp. Dries, along with some friends at the university, wanted a way to communicate about the various details of their lives. To meet that need, Dries wrote a web-based application that allowed people to share notes. In January 2001, Dries decided to release the source code, and the Drupal project was born.

The Drupal handbook provides a more detailed overview: http://drupal.org/node/769


What Drupal Can Do For You

Drupal is not a traditional Learning Management System. Drupal started as a community-building platform, and these community-centered roots inform the range of possibilities available within Drupal today.

Drupal provides a wide variety of useful tools for educators. For the instructor, Drupal can serve as a blogging platform, allowing teachers to communicate directly with students, parents, and the larger school and internet community.

Drupal also offers a flexible range of privacy options that allow users to keep some—or all—of the content within a site private. However, a Drupal site can be used for far more than a secure blogging platform. Within a single Drupal site, you can set up social bookmarking, podcasting, video hosting, formal and informal groups, rich user profiles, and other features commonly associated with Social Web Communities. Building your site in Drupal allows you to start with precisely the features you want, and expand as needed. This book provides the information needed to build, maintain, and grow your site.


Drupal Terminology

Drupal, like most software applications, has a specific lexicon. Mastering Drupal jargon is useful for many reasons, not the least of which is that using Drupal-specific terminology can help you search for information more effectively. The glossary in this chapter will give you an overview of commonly used Drupal terms, and what they mean.

This list of terminology will cover our common tasks and features. For a glossary that delves into some of the technical aspects of Drupal, the Glossary page in the Drupal handbook is a useful resource: http://drupal.org/node/937.

Node: A node is a piece of content that has been created on your site. For example, if you create a page, you have created a node.

Content Type or Node Type: On your Drupal site, you will have different types of nodes, or content. The default install comes with two content types, Page and Story. As we progress through this book, we will create a variety of other node types, such as bookmarks, student blogs, audio nodes, and so on. While all types of nodes are content, different node types can have different functions on your site.

Post: A post is a piece of content of any content type. For example, if a user creates a page node, they have created a post.

Core: Core refers to the base install of Drupal. The core install consists of the essential modules and some basic themes for Drupal. Although any person who has an account on drupal.org can suggest a change to the core codebase, most changes to core are thoroughly reviewed by developers within the community, and only a small number of people have the rights to actually make changes to core. As a result, the core codebase is stable and secure. The core codebase can be downloaded from http://drupal.org/project/drupal.

Contributed Modules: These have been written and shared by members of the Drupal community. Unlike core, which represents the work of several hundred contributors, most contributed modules have been written by individuals, or small teams working together. Contributed modules extend the functionality of Drupal, and this book describes how to use various contributed modules effectively. However, you should be cautious when installing a new contributed module. Contributed modules have not been reviewed as thoroughly as core. An overview of all contributed modules is available at http://drupal.org/project/Modules.

Theme: Themes control the look and feel of your site. The core install comes with several base themes, and you can download a range of contributed themes from http://drupal.org/project/themes.

Menu: Menus provide lists of links, and can be used to create an organizational and navigational structure for your site. All menus can be seen and edited at admin/build/menu; additionally, all menus create blocks.

Block: A block displays content within a specific place on the page. All menus create blocks, but you can also embed HTML or PHP code within a block. Blocks can be administered at admin/build/block.

Region: Every theme defines specific regions; blocks can be placed into these different regions using the administrative menu at admin/build/block.


Menus, Blocks, and Regions are covered in Chapter14: Theming and User Interface Design.

Taxonomy: Taxonomy can be used to organize content within a Drupal site. Drupal permits site administrators to create different taxonomy categories to organize posts. For example, when posting an assignment, an instructor might want to create two taxonomies: one for the type of assignment, and another for the subject of the assignment.

Term: Terms, or tags, are specific items within a taxonomy. For example: a Physics instructor creates two taxonomies to organize assignments. The first is 'Type of Assignment' and the second is 'Subject'. If the instructor assigns his or her students to read an explanation of the Theory of Relativity, this assignment could be tagged with Reading (for Type of Assignment) and Relativity (for Subject).

User: This is the technical term for people using your site.

Role: All site users belong to one or more roles. Site administrators can assign different rights to different roles.

Anonymous user: Any person who visits your site and is not a member of your site is considered an anonymous user. The Anonymous user role allows you to specify how people who are not site members can interact with content and members of your site.


It is possible to remove all rights from anonymous users, making the content of your site fully private, or a 'walled garden'.

Authenticated user: All site members are authenticated users, and belong to the default authenticated user role. This default role can be used to assign a base level of rights to all site members. Then, other roles can be used to assign more advanced privileges to users.


Roles and access control are covered in more detail in Chapter 5: Enrolling Students.

UID1: This stands for User ID 1, or the first user on a Drupal site. UID1, by design, has full rights over your entire site. As a matter of best practice and security, UID1 should only be used as a back-up administrator account. Often, problems with your configuration will not be visible when logged in as UID1 because UID1 has more rights than other users.


Taking Notes

A final piece of advice before we launch into building your Drupal site: buy a notebook, and keep it next to your computer. Use this notebook in the same way a ship's captain uses her log: take brief notes on what you do, and why.

In the process of building your site, you will make decisions about module configurations, user roles, design tweaks, and so on. As you are making these decisions, you will be fully convinced that you will remember each decision you made, and why.

Unless you are the exception that proves the rule, however, you won't remember. And this is where your notebook comes in. Use the notebook to record the changes you make. A useful entry will include the URL where you made the change, and a brief description of why you made the change.

For example, if I am adjusting user privileges for the authenticated user role, I would enter the following in my notes:

At admin/user/access/2—adjust user privileges so that the authenticated user role needs to have comments approved.

This way, when you are trying to remember why you made a specific change, you will have a record of your decision making process.



This chapter provided an overview of Drupal, and of the functionality you will be able to include on your site. Now that we have covered the general details, it's time to begin working directly with the software. In the next two chapters, we will install Drupal, and start exploring the core functionality you will use to build your learning community.

So, keep your notebook handy, and let's start building your site!

About the Author

  • Bill Fitzgerald

    Bill Fitzgerald was born in 1968, and worked as a teacher for 16 years. During that time, he taught English and History, and worked as a Technology Director at the K12 level. Bill began using technology in his own teaching in the early 90s; from there, he moved on to database design and systems administration. During that time, Bill began developing strategies to support technology integration in 1:1 laptop systems, and in desktop computing environments.

    In 2003, Bill and Marc Poris founded FunnyMonkey, a Drupal development shop working primarily within education. Bill started and manages the Drupal in Education group on http://groups.drupal.org, and is active in various educational and open-source communities. Bill blogs about education and technology at http://funnymonkey.com/blog.

    When Bill is not staring deeply into computer screens, he can be found riding his fixed gear bicycle through Portland, OR, or spending far too much time drinking coffee.

    Browse publications by this author

Latest Reviews

(1 reviews total)
Very well authored books available at very reasonable price in the form of eBooks.
Drupal for Education and E-Learning
Unlock this book and the full library for $5 a month*
Start now