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.
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:
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 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
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, 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.
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.
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.
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).
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.
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:
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!