34,79 €
In Detail
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.
Create engaging learning experiences using Drupal. A friendly and clear guide from the creator of the DrupalEd distribution.Approach
The book focuses around creating educational activities in Drupal, with lots of examples of realistic courses and classroom ideas and how to implement them.
Who this book is for
This book is for anybody looking to use Drupal to support teaching and learning; more generally, the examples given in this book can also be used by anybody looking to use Drupal to publish social media. This book is not a developer's manual; you do NOT need to know code, or HTML, or CSS, to benefit from this book. People new to Drupal will find clear examples describing how to set up their site. More experienced Drupallers will find tips and tricks for extending their site, and step-by-step instructions on how to make the most out of Drupal's flexibility.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 360
Veröffentlichungsjahr: 2008
Copyright © 2008 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. The author, Packt Publishing, and its dealers and distributors will not be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: November 2008
Production Reference: 1181108
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-847195-02-9
www.packtpub.com
Cover Image by Vinayak Chittar (<[email protected]>)
Author
Bill Fitzgerald
Reviewers
Joel “Senpai” Farris
Michael Peacock
Peter M. Wolanin
Senior Acquisition Editor
David Barnes
Development Editor
Swapna V. Verlekar
Technical Editor
Dhiraj Chandiramani
Editorial Team Leader
Akshara Aware
Project Manager
Abhijeet Deobhakta
Project Coordinator
Brinell Lewis
Lata Basantani
Indexer
Monica Ajmera
Proofreader
Dirk Manuel
Production Coordinator
Shantanu Zagade
Cover Work
Shantanu Zagade
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 the education industry. 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.
This book took nearly six months to write, and I would not have been able to complete it without the support of numerous people. First, my wife Isabelle gave unending support and understanding throughout the entire process—when I was stressed, she helped me laugh, and that was a gift beyond words.
Additionally, Marc Poris and Jeff Graham, compatriots at FunnyMonkey, provided support of a different kind: when I was stressed, they wrote code, and their snippets and modules grace the pages of this text.
Finally, the team of people I worked with at Packt provided a great blend of guidance and support. David Barnes, Brinell Lewis, and Swapna Verlekar all worked with me to keep the project on track, and I thank them for the opportunity to write this book.
An avid user of the Drupal framework since 2006, Joel "Senpai" Farris is highly active in the Drupal Community as a Document Maintainer, Patch Tester, core and contributed modules Patch Creator, and an expert in the support of and care for new Drupalites.
Under the monicker Senpai (http://groups.drupal.org/user/4009), Joel co-led the charge for the Drupal Dojo training sessions (http://drupaldojo.net) for over a year, and was joined in that endeavor by some of the community's most famous personas, including Josh Koenig (http://groups.drupal.org/user/429) of Chapter 3, LLC (http://www.chapterthree.com), Addison Berry (http://groups.drupal.org/user/1607) of Lullabot (http://www.lullabot.com), Squidster (http://groups.drupal.org/user/3763), Dmitri Gaskin (http://groups.drupal.org/user/1322), and many, many others who gave freely of their time so that all people could learn ninja Drupal tactics in a cutting-edge and edifying environment.
Joel currently functions as the Chief Operations Officer for the new San Diego WorkHabit offices, and is passionate about any opportunity to get the company's staff involved in outreach operations. He is responsible for implementing and maintaining the WorkHabit Community Fridays, in which qualified individuals take an entire payday to work on one selected core or contrib patch in order to further Drupal's progress.
Thanks go to my parents, who were both lifelong educators and enabled me to begin learning computers from the dawn of personal computing, and my sister who's currently teaching grade school and loving it. Thanks also to Bill Fitzgerald, who's devotion to Excellence In Drupal has far surpassed what even he thought was possible only a year ago. Go, Bill, go!
Michael Peacock (http://www.michaelpeacock.co.uk) is a web developer from Newcastle, UK, and has a degree in Software Engineering from the University of Durham. After meeting his business partner whilst studying at Durham, he co-founded Peacock Carter (http://www.peacockcarter.co.uk) a Newcastle-based creative consultancy specializing in web design, web development, and corporate identity.
Michael loves working on web-related projects, and when he isn't working on client projects he is often tinkering in a web application of his own invention. He has been involved with a number of books, having written two books himself (and is working on his third!): Selling online with Drupal e-Commerce (Packt), Building websites with TYPO3 (Packt), and acted as a technical reviewer for Mobile Web Development (Packt) and Drupal Education & E-Learning (Packt).
You can follow Michael on Twitter: www.twitter.com/michaelpeacock.
Peter Wolanin has been programming since elementary school. He attended Princeton University and went on to earn his Ph.D. in Physics at the University of Michigan. Following his biophysics thesis work, Peter returned to Princeton University and conducted post-doctoral work in the Department of Molecular Biology. At Michigan and Princeton, Peter taught lab and seminar courses for undergraduate students.
Peter became interested in using Drupal through a friend who learned of it through its use by the Howard Dean Presidential campaign. He started contributing to Drupal core development in 2006, helped to rewrite the menu system, rewrote the book module for Drupal 6, is actively participating in Drupal 7 development, is a member of the Drupal security and documentation teams, and maintains several contributed modules.
Peter started working for Acquia, Inc., in the summer of 2008, as a senior engineer.
Drupal has its roots in building and supporting online communities. These roots have helped Drupal meet the needs of schools, teachers, and students in countless countries, and in countless different learning contexts. Compared to a traditional Learning Management System, Drupal can feel less restrictive; Drupal has been designed to interact with the Web, and to make the most of the array of possibilities offered by the Internet.
Drupal allows site administrators to set up as closed or as open a site as they desire. Using Drupal, a site administrator can create a learning environment where no content is visible outside of the site, and where all courses are entirely private. At the other end of the spectrum, a site administrator can create a learning environment where students and teachers have complete control over the content they share with classmates, other site members, and/or the entire Internet community. The purpose of this book is not to recommend one approach to teaching and learning over another, but rather to highlight the freedom that comes with having choices. In this text, we will cover the technical approaches to crafting the ideal social learning environment for your specific goals.
Chapter 1: Introduction provides an overview of Drupal, including a brief section on Drupal terminology.
Chapter 2: Installing Drupal covers how to install Drupal. This chapter takes you through the installation process, and covers how to enable some of the core modules you will use in this book.
Chapter 3: Getting Started begins by going through the options enabled in the core installation. From there, you will learn how to install additional modules and themes. Using these instructions, you will then install and configure two commonly-used modules: the Content Construction Kit (also referred to as CCK) and views. This chapter includes detailed instructions for creating new content types, adding fields to those content types, and displaying content using views. The foundation provided in this chapter is referenced extensively throughout the rest of the book.
Chapter 4: Creating a Teacher Blog describes how to set up a blog. This chapter includes instructions for setting up a text editor (also known as a WYSIWYG editor), and instructions for adding two new content types: one for blog posts, and a second for assignments. The chapter continues by covering how to create custom views to display content, and closes by showing how to clone an existing view to create a calendar to display assignments.
Chapter 5: Enrolling Students covers how to add users to your site. This chapter provides details on creating roles, and using roles to create granular permissions for the people who will use your site.
Chapter 6: Creating the Student Blog includes more details on using roles effectively to structure your site. Additionally in this chapter, more advanced techniques with views are covered, as we begin to use views to track student and teacher blog posts.
Chapter 7: Bookmarks describes some of the uses in the classroom of social bookmarking. In Chapter 3, we created a content type for storing and categorizing bookmarks, and this chapter goes through various methods of using bookmarks to support student learning.
Chapter 8: Podcasting and Images covers how to use your site to publish audio and images. In addition to covering the technical details of publishing a podcast, this chapter covers various uses of audio in the classroom. In particular, the chapter focuses on skills that can be honed through creating podcasts.
Chapter 9: Video describes how to embed media that is shared on the Web. As part of this chapter, we examine how to integrate video production into a curricula, and how video production can relate to other types of content stored on the site. As with podcasts, the emphasis in this chapter is on what can be learned through video production, and on how to use the medium of video effectively.
Chapter 10: Forums and Blogs describes how to set up and configure forums in Drupal. The chapter also explains the similarities and differences between forums and blogs.
Chapter 11: Social Networks and Extending the User Profile gives an overview of building user profiles. The chapter begins with the core profile module, and then goes deeper to show how to extend user profiles using the flexible Content Construction Kit and custom fields.
Chapter 12: Supporting Multiple Classes describes how to set up the Organic Groups module to support formal and informal learning spaces. The chapter covers using different privacy settings, group wikis, email notifications, and varying group types.
Chapter 13: Tracking Student Progress shows how people can find content created by other users within the site. The chapter starts by examining the core Tracker module, and then looks at using views and short code snippets to group users and make their work easier to find.
Chapter 14: Theming and User Interface Design provides some introductory details of how to create an intuitive navigational structure. The techniques described in this chapter are predicated on keeping your site as simple as possible by using customized menus. The chapter also introduces Drupal's theming layer, and describes how to get started modifying a theme.
Chapter 15: Backup, Maintenance, and Upgrades gets into one of the most commonly-overlooked aspects of running a website: making sure that you have a working backup, and keeping your codebase up-to-date. The goal of this chapter is to take the sting out of site maintenance. This chapter describes how to use the DB Maintenance module to automate the core tasks required for backup, as well as backing up using browser-based and command line tools.
Chapter 16: Working Effectively in the Drupal Community provides an overview of how to begin working with the Drupal community. One of the primary benefits of working with Drupal is the community of users and developers associated with the software. This chapter points out some of the methods of getting involved with and contributing back to the project.
This book describes how to build websites using Drupal. To use this book effectively, you will need Internet access, to be able to download Drupal and the contributed modules we describe in this book.
Additionally, you will need a place to host your website. Setting up a hosting environment is covered in Chapter 2: Installing Drupal.
This book is intended for teachers building a website to support their classes, and site administrators and technology integrators working within schools or training organizations. This book is also intended for technology directors at either the school or district level. The examples given in this book are appropriate for students and teachers at all levels, from elementary school, through higher education, to adult education and vocational training.
A secondary audience of this book includes people working to deliver curricula via online training or blended learning (a combination of online teaching and face-to-face meetings), or people interested in using social media in education. This text will also be of interest to general web developers looking to learn more about configuring Drupal without writing new code.
By design, this book is not a development manual. This text is intended to support people with little to no knowledge of PHP. No knowledge of development in PHP is required to use the explanations and tutorials in this text.
Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply drop an email to <[email protected]>, making sure that you mention the book title in the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email <[email protected]>.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Although we have taken every care to ensure the accuracy of the content of this book, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or in the sample code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent editions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to any existing list of errata. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately, so that we can pursue a remedy.
Please contact us at <[email protected]> with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.
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.
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 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.
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.
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!
This chapter describes how to install the base Drupal application, called Drupal core. By the end of this chapter, you will have a new Drupal site installed and ready to use.
To get Drupal up and running, you will need all of the following:
OR
For building sites, either a web host or a local testing environment will meet your needs. A site built on a web-accessible domain can be shared via the internet, whereas sites built on local test machines will need to be moved to a web host before they can be used for your course. The process of backing up and moving sites is covered in Chapter 15: Backup, Maintenance, and Upgrades.
In these instructions, we are assuming the use of phpMyAdmin, an open-source, browser-based tool, for administering your database. A broad range of similar tools exist, and these general instructions can be used with most of these other tools. Information on phpMyAdmin is available at http://www.phpmyadmin.net; information on other browser-based database administration tools can be found at http://dev.mysql.com/downloads/gui-tools/.
The domain is the address on the Web at which people can access your site. If you are building this site as part of your work, you will probably be using the domain associated with your school or organization. If you are hosting this on your own server, you can buy a domain for under US $10.00 a year. Enter purchase domain name into Google, and you will have a plethora of options.
Your web host provides you with the server space on which to run your site. Within many schools, your website will be hosted by your school. In other environments, you might need to arrange for your own web host by using a hosting company. In selecting a web host, you need to be sure that they run software that meets or exceeds the recommended software versions.
Drupal is developed and tested extensively in an Apache environment. Drupal also runs on other web servers, including Microsoft IIS.
Drupal 6 will run on PHP 4.3.5; however, many contributed modules require PHP 5.2. For this reason, PHP 5.2 is recommended. The Drupal 7 release will require PHP 5.2.
Drupal 6 will run on MySQL 4.1 or higher; 5 is recommended. The Drupal 7 release will require MySQL 5.0.
Your web host should also offer FTP access to your web server. You will need FTP (or SFTP) access in order to upload the Drupal codebase to your web space. Shell access, or SSH access is not essential for basic site maintenance. However, SSH access can simplify maintaining your site, so contracting with a web host that provides SSH access is recommended.
Alternatively, you can set up a local testing environment for your site. This allows you to set up Drupal and other applications on your computer. A local testing environment can be a great tool for learning a piece of software. Fortunately, open-source tools can automate the process of setting up your testing environment.
PC users can use XAMPP (http://www.apachefriends.org) to set up a local testing environment; Mac users can use MAMP (http://www.mamp.info).
If you are working in a local testing environment set up via XAMPP or MAMP, you have all the pieces you need to start working with Drupal: your domain, your web host, the ability to move files into your web directory, and PHPMyAdmin.
