Drupal for Education and E-Learning - Second Edition

By James G. Robertson , Bill Fitzgerald
  • 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. Introducing Drupal

About this book

As social networks become more popular, their role in the classroom has come under scrutiny. Drupal offers a wide variety of useful tools for educators. 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.

"Drupal for Education and E-Learning - Second Edition" teaches you how to create your own social networking site to advance teaching and learning goals in the classroom, while giving you complete control over features and access. Communicate with students, share learning resources, and track assignments through simple tasks with this hands-on guide.

In this book you will learn to install and configure the default Drupal distribution and then extend it to include blogs, bookmarks, a media sharing platform, and discussion forums.

The book also covers how to organize your site to easily track student work on the site, and how to control who has access to that information. Additionally, it teaches you how to make the site easy to use, how to maintain the site, and how to ask for and receive help in the Drupal community.

Publication date:
June 2013


Chapter 1. Introducing Drupal

Welcome to the second edition of Drupal for Education and E-Learning!

In the last several years, we have seen an incredible upswing in the popularity and adoption of Drupal. The size of the Drupal community (as of June, 2013) is approaching 970,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):

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 at http://drupal.org/about/history.

Drupal has gone through many improvements over the years, and as of the writing of this book, Drupal 7 is the most recent major version. It is the version we will be using in this book.


What Drupal can do for you

Drupal is not a traditional Learning Management System (LMS). Drupal started as a community-building platform and these community-centered roots form 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, which can be found at http://drupal.org/glossary:

  • Entity: An entity is a new concept in Drupal 7 and it describes one instance of an entity type.

  • Entity type: An entity type groups together fields and is used to store and display data. Examples of entity types are nodes, users, comments, and taxonomy terms.

  • Field: A field is a reusable way to enter, store, and display information on the site, such as text, dates, and numbers.

  • Bundle: A bundle is a certain kind of an entity type.

  • 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. A node is an entity type and each individual node you create is an entity.

  • Content type or node type: On your Drupal site, you will have different types of nodes or content. The default installation comes with the two content types: the Article and Basic page. 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. A content type is a bundle for the node entity type.

  • 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 installation of Drupal. The core installation 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. The 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. The contributed modules have not been reviewed as thoroughly as core. An overview of all the contributed modules is available at http://drupal.org/project/Modules.

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

  • Menu: The menus provide a 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/structure/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 within a block. The blocks can be administered at admin/structure/block.

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


    Menus, blocks, and regions are covered in Chapter 14, Theming and User Interface Design.

  • Taxonomy: Taxonomies 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 the type of assignment and the second is a 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 the type of assignment) and Relativity (for the subject).

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

  • Role: All site users belong to one or more roles. The site administrators can assign different permissions 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 the 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 the 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 (User ID 1): This is 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 his/her log by taking 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/people/permissions/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 the functionality that 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 that you will use to build your learning community.

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

About the Authors

  • James G. Robertson

    James G. Robertson hasn't always been a developer. He started his long road to Drupal with a degree in history from Presbyterian College in Clinton, SC. After not being able to find a job that could use a history degree, he went to get his master's degree in journalism and public affairs from American University in Washington, DC. While working on his degree at AU, he worked as a teacher's assistant, taught himself Drupal, and developed his first website for The American Observer, American University's graduate journalism school publication. After internships at J-Lab and the Newseum, he worked for the National Geographic Society producing content and occasionally blogging for sections of nationalgeographic.com. After a year at National Geographic, he made the move to developing websites with Drupal full-time for Bravery Corporation, a public relations and marketing firm in Washington, DC. He now works at REI Systems, an IT services company in Sterling, VA.

    Browse publications by this 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
Book Title
Access this book, plus 7,500 other titles for FREE
Access now