1. Trang chủ
  2. » Công Nghệ Thông Tin

wrox beginning drupal apr 2010

484 331 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Beginning Drupal
Tác giả Jacob Redding
Trường học Wrox
Chuyên ngành Drupal
Thể loại book
Năm xuất bản 2010
Thành phố New York
Định dạng
Số trang 484
Dung lượng 26,62 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

wrox.beginning.drupal.apr.2010

Trang 1

Drupal is an open source framework and content management

system used to create web sites that is known for its steep learning

curve This introduction offers you a clear and solid understanding

of Drupal so that you can get started programming a Drupal

site immediately Author Jacob Redding walks you through the

installation and configuration of a Drupal web site and presents

a clear understanding of Drupal’s hook system, theming layer,

views, and API Throughout the book, helpful examples and

step-by-step instructions provide you with a strong proficiency in the

power and capabilities of Drupal.

Beginning Drupal:

• Addresses ways to manage and moderate comments on your site

• Looks at why Drupal’s node system is the pivotal structure of Drupal

• Explains the basics of the views modules and shows you how to control

the output of your content

• Guides you through Drupal’s built-in themes and modifying them to

suit your needs

• Examines the power of Drupal’s community and demonstrates how

to become engaged with it

• Covers the entire module-development process, including creating

custom configuration settings, blocks, and database tables

Jacob Redding is an open source evangelist and technologist, and an active

member in the Drupal community In addition to managing several modules on

drupal.org and providing Drupal-related training and consulting, he is also a

board member on the Drupal Association

Wrox Beginning guides are crafted to make learning programming languages

and technologies easier than you think, providing a structured, tutorial format

that will guide you through all the techniques involved

quickly leverage the power of Drupal

wrox.com

Programmer Forums

Join our Programmer to Programmer forums to ask and answer programming questions about this book, join discussions on the hottest topics in the industry, and connect with fellow programmers from around the world

Code Downloads

Take advantage of free code samples from this book, as well as code samples from hundreds of other books, all ready to use

Read More

Find articles, ebooks, sample chapters and tables of contents for hundreds of books, and more reference resources on programming topics that matter

to you

Trang 2

ISBN: 978-0-470-54070-1 This valuable resource makes it easy to learn how to build web sites using the most up-to-date web standards Whether you’re a beginner eager to start writing your first web page or a more experienced programmer seeking to update your skills, you will find practical introductions to these essential languages, as well as invaluable tips and techniques used by experienced web professionals.

Beginning Joomla! Web Site Development

ISBN: 978-0-470-43853-4Written in an approachable and informative writing style, this hands-on book introduces you to Joomla! and gets you started with using this powerful, versatile tool for developing and managing web sites You’ll gain a clear understanding of Joomla! and learn how to get things done within the Joomla! framework Using this book, you will be able to harness the power of Joomla! to accomplish the goals you want to achieve with your web site

Beginning PHP5, Apache, and MySQL Web Development

ISBN: 978-0-7645-7966-0This book guides you through the entire process of setting up your own site and walks you through every step, from the installation

of PHP, Apache, and MySQL to database management, security, and integration with other technologies The multi-platform approach addresses installation and usage on both Linux® and Windows®, and two common-themed, reusable web sites are examined Upon completion of this book, you’ll be able to create well-designed, dynamic web sites using open source tools

Beginning PHP 5.3

ISBN: 978-0-470-41396-8

As one of the most popular open source web-programming languages in use today, PHP is an ideal server-side scripting language that connects HTML-based web pages to a backend database for dynamic content This guide introduces the PHP language and shows you how to write powerful web applications using PHP

Joomla! Start to Finish: How to Plan, Execute, and Maintain Your Web Site

ISBN: 978-0-470-570890This book walks you through the critical steps that must be taken in the planning process prior to establishing a Joomla! site Joomla! expert Jen Kramer reviews essential questions that need to be asked of a client, discusses technical solutions to a variety of challenges, and explains how a site structure should be organized Once the groundwork has been laid, you’ll discover how to host and install Joomla!, and upgrade and maintain your Joomla! site

Leveraging Drupal: Getting Your Site Done Right

ISBN: 978-0-470-41087-5Drupal allows you to create interactive, media-based, database-driven web sites that become a part of everyday activities and communications This unique book tackles the challenging task of leveraging Drupal to get a site done right and make that site work for you, based on industry-wide software development best practices

Professional PHP Design Patterns

ISBN: 978-0-470-49670-1This book bridges the gap between PHP and older programming languages by applying those tried and tested Design Patterns

to native PHP applications It starts with an introduction to Design Patterns, describes their use and importance, and details where you’ve seen them already The book continues through a host of Design Patterns with code examples and explanations Finally,

an in-depth case study shows you how to plan your next application using Design Patterns, how to program those patterns

in PHP, and how to revise and refactor an existing block of code using Design Patterns from the book

WordPress 24-Hour Trainer

ISBN: 978-0-470-55458-6 This unique book-and-video package provides you with beginner-friendly tutorials for building and maintaining a WordPress web site You’ll discover how to customize WordPress to meet your needs and you’ll see how critical—and simple—it is to expand and update content in order to make your site as effective as possible

Get more out of

Wrox Online Library

Hundreds of our books are available online

through Books24x7.com

Wrox Blox

Download short informational pieces and code

to keep you up to date and out of trouble!

Join the Community

Sign up for our free monthly newsletter at newsletter.wrox.com

Browse

Ready for more Wrox? We have books and e-books available on NET, SQL Server, Java, XML, Visual Basic, C#/ C++, and much more!

Contact Us

We always like to get feedback from our readers Have a book idea?

Need community support? Let us know by e-mailing wrox-partnerwithus@wrox.com

Trang 3

INTRODUCTION xxi

CHAPTER 1 Introducing Drupal 1

CHAPTER 2 Installing Drupal 9

CHAPTER 3 Your First Drupal Website 27

CHAPTER 4 Administration — Confi guration, Modules, and Reporting 49

CHAPTER 5 Administration — Blocks, Menus, and Themes 69

CHAPTER 6 Content 91

CHAPTER 7 User Management 125

CHAPTER 8 Taxonomy 157

CHAPTER 9 Search, Performance, Statistics, and Reporting 173

CHAPTER 10 Triggers, Actions, Workfl ow, and Rules 189

CHAPTER 11 Views 213

CHAPTER 12 Internationalization 241

CHAPTER 13 Theming 263

CHAPTER 14 Contributed Modules 299

CHAPTER 15 Custom Modules 315

CHAPTER 16 Development Hooks 331

CHAPTER 17 Module Development Start to Finish 347

CHAPTER 18 Advanced Drupal Installations 379

CHAPTER 19 Prefl ight Checklist 401

APPENDIX Exercises and Answers 417

INDEX 433

Trang 5

Jacob Redding

Trang 6

10475 Crosspoint Boulevard

Indianapolis, IN 46256

www.wiley.com

Copyright © 2010 by Wiley Publishing, Inc., Indianapolis, Indiana

Published by Wiley Publishing, Inc., Indianapolis, Indiana

Published simultaneously in Canada

ISBN: 978-0-470-43852-7

Manufactured in the United States of America

10 9 8 7 6 5 4 3 2 1

No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means,

electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108

of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization

through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers,

MA 01923, (978) 750-8400, fax (978) 646-8600 Requests to the Publisher for permission should be addressed to the

Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 6011, fax (201)

748-6008, or online at http://www.wiley.com/go/permissions.

Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with

respect to the accuracy or completeness of the contents of this work and specifi cally disclaim all warranties, including

without limitation warranties of fi tness for a particular purpose No warranty may be created or extended by sales or

pro-motional materials The advice and strategies contained herein may not be suitable for every situation This work is sold

with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services

If professional assistance is required, the services of a competent professional person should be sought Neither the

pub-lisher nor the author shall be liable for damages arising herefrom The fact that an organization or Web site is referred to

in this work as a citation and/or a potential source of further information does not mean that the author or the publisher

endorses the information the organization or Web site may provide or recommendations it may make Further, readers

should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was

written and when it is read.

For general information on our other products and services please contact our Customer Care Department within the

United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.

Wiley also publishes its books in a variety of electronic formats Some content that appears in print may not be available

in electronic books.

Library of Congress Control Number: 2009930281

Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related trade dress

are trademarks or registered trademarks of John Wiley & Sons, Inc and/or its affi liates, in the United States and other

countries, and may not be used without written permission Drupal is a registered trademark of Dries Buytaert All other

trademarks are the property of their respective owners Wiley Publishing, Inc is not associated with any product or

ven-dor mentioned in this book.

Trang 7

pleasure of working with Equally important is Diana Kuan She stuck by me while I wrote this book, pulled incredible hours with the Drupal Association, traveled

to countless Drupal events and went crazy trying to keep up with the intense development of Drupal 7

Thank you Diana

Trang 9

JACOB REDDING got his start in Drupal in 2005 after 10 years in the IT industry building custom software with everything from Microsoft to Linux and UNIX technologies He has since become heavily involved in the Drupal association and Drupal communities around the world, speaking and leading classes in not only New York, San Francisco, Boston, and Washington DC, but also far-fl ung locales such as China and Jordan An enthusiastic advocate

of open-source, he currently spends most of his time providing project agement and training on Drupal-based websites

Trang 10

man-DIANA KUAN DESERVES the top spot here Serving as a part-time editor, proofreader, supporter,

and impromptu student she helped set the fl ow of the book, proofread nearly every page, and tested

many of the exercises Without her assistance and support this book would have taken yet another

year, an outcome that would have surely sent the publisher’s henchmen out to get me

Jason Chinn, Mr Magicspark, helped me through the rough spots of theming including building the

nice Drupal chocolate theme used in Chapter 13 Without him the theming chapter would have been

a rambling mess

My students: To those in China: ԴӀᐂ៥ᕜ໮៥ᛇ䇈䴲ᐌᛳ䇶ԴӀDŽ ៥Ꮰᳯ៥Ӏৃҹ೼ᴹ㾕䴶DŽ My

students in Jordan caught me during a critical time of this book and unknowingly tested several of

the exercises in the book, thank you for secretly helping to create this book I can’t leave out those

in my home country of the United States, thank you for listening to me ramble about in class I hope

that I have been a useful part of your Drupal journeys

Joshua Brauer: My technical editor Although we have never met and I’m not entirely sure how we were

paired together, the odd in-book synergy somehow worked I was able to see through his

trying-to-be-nice commentary that brow beat me into thoroughly revising the chapters into something useable

Carol Long and Ed Connor at Wiley/Wrox: Oh boy These two had no idea what they signed up for

The book started on very early versions of Drupal 7 and was revised too many times for them to

count Their patience and tolerance of my “I’ll get it to you soon-ish” (heavy emphasis on –ish) and

“by the way Drupal 7 changed so I have to rewrite the entire chapter” is much appreciated

The entire Drupal community: You gals and guys are amazing From small meetups in Beijing,

large DrupalCamps in Los Angeles, collaborative working sessions in New York and the awesome

DrupalChix group, you (the Drupal community) are amazing individuals to know and to collaborate

with With the book fi nally complete I hope to see you all in IRC more often

Trang 11

INSTALLING DRUPAL

Getting Started with Drupal 10 Installing a Single Drupal Website 10 Installing Drupal 13

Acquia’s Stack Installer 16

Modifying Your Menus 31 Adding Blocks to Your Website 33 Getting in Contact 34

Trang 12

Exploring Your Site’s Permissions 38 Creating a Members-Only Site 39

Time for a New Look 43

Cron 45

Media 54

Explore the Filtered HTML Text Format 59

Apache 63

A Need for Speed 63

Trang 13

IIS 64

Creating Custom Content Types 93

Adding an Image Upload Field 98

Permissions 104

Revisions 105

Trang 14

Digging Deeper Into Fields 106

Fields 106

Content Construction Kit (CCK) 109 Views 110 Administering Nodes 110 Content Moderation 111

Nodes in a Nutshell 111 Comments 112 Permissions 113

Comment Approval Queue (A.K.A Comment Moderation) 114

WYSIWYG 117

Spam 117 RSS Aggregation 118

Canceling Accounts 129 Setting Up Account E-mails 129

Creating Roles and Permissions 132

Creating Custom User Profi les 135

Trang 15

Using the Core Profi le Module 137

Tracking User Activity 143

Using Views to Create Custom Tracking Pages and Blocks 144

Custom Administration Pages with Views 150 User Sessions 153

Summary 155

TAXONOMY 15

In Simple Terms 157 Terminology 158 Vocabularies 158 Terms 159

Useful Contributed Modules 169 Summary 170

SEARCH, PERFORMANCE, STATISTICS, AND REPORTING 17

Search 174

Trang 16

Triggers and Actions 190

Rules 200 Features of the Rules Module 201 Conditions 203 Scheduler and Rule Sets 206 Input Evaluators 209 Summary 210

VIEWS 21

Advanced Help 214 Overview of Views 214 The Frontpage View 215

Displays 218 Style Settings 220 Creating a Photo Gallery 222 Arguments 225 Exposed Filters 229

Relationships 234

Trang 17

Translating Your Content 258 Beyond the Basics 260 Summary 261

THEMING 26

Administering Themes 264

Template Files (.tpl.php) 286

page.tpl.php 286node.tpl.php 287

Trang 18

comment.tpl.php 287block.tpl.php 287

Preprocess Functions 288

Swapping Theme Functions and Template Files 290

Theme Registry 291 Theme Engines 294 Summary 296

Contributed and Custom Modules 299 Determining Your Needs 300 Fulfi lling Your Needs 301

Summary 312

Trang 19

CUSTOM MODULES 31

What Is a Module? 315 Hooks 317

Modules Step by Step 319

Creating a Page 321

Modifying Existing Modules 324

Adding Custom Confi guration Settings 351

Trang 20

Helping Your Users 356 Permission Handling 358 Storing Data in a Custom Table 359

Drupal Query Functions 361 Displaying the Results on the User’s Profi le 365 Database Summary 367 Creating a Bulletproof Site with SimpleTest 367

Using CVS to Manage Drupal 382

One Drupal, Many Websites 387

Sites.php 392

Settings.php 392

$databases 393Scalability 394

$baseurl 395

$ini_set 395

$reverse_proxy 396

Trang 21

SEO 404

Analyzing Your Site with Google 411 Dashboard 413 Summary 415

APPENDIX: EXERCISES AND ANSWERS 417

INDEX 433

Trang 23

OVER THE PAST FEW YEARS, the Web has undergone dramatic changes What originally started as a handful of static web pages with a few e-commerce sites in the mix has now turned into a frenzy of collaboration and information sharing New websites are expected to meet a certain level of inter-activity and information-sharing RSS feeds, blogs, and podcasts are just a few of the current stan-dards Photo uploads with auto-resizing and cropping, video and audio embedding, and even web APIs are quickly becoming the new standard-website functions

Years ago, when I started creating dynamic websites, I began as most developers did, by writing my own custom content management system (CMS) My experience was not unlike that of others who followed the same path The system was light and fast, and did everything that I, and my clients, asked — until a new feature emerged on the Web, and my software had to play catch-up Soon I was buried under a pile of feature requests and bug fi xes, which left me with no time to innovate My quest for a better solution led me through a maze of software packages, until a friend told me about Drupal According to him Drupal has two really great things going for it The fi rst is that it’s built on a mod-ular structure, so it can quickly adapt to custom and unique scenarios The second is that it is built around a community that is growing every day When a new feature emerges on the Web, chances are someone has already gotten it to work within Drupal The community factor is what sold me Now that I have been working with Drupal for a few years, I am in awe at how well the community has organized itself and, as a result, kept itself and the Drupal project on the cutting edge of web technology Drupal has moved from being a piece of software that modularized the latest Internet technologies, to a platform that creates the latest technologies The community made this happen You are now a part of this awesome community Welcome

Who This Book Is For

This book was written for people who want a robust website and aren’t afraid to get their hands dirty Maybe you’re the leader of a nonprofi t who wants to organize your constituency through a community-driven website You have a bit of prior experience in creating HTML pages by hand

or with another CMS You’re now ready to dig in and create your community’s website, and Drupal is your tool of choice, but you want to be on the fast track

Perhaps you’re an established developer and possess the skills to create your own custom CMS

or have experience with other software packages You’re looking for defi nitions and examples on Drupal’s terminology and structure so that you can take advantage of Drupal’s fast development cycle that you hear so much about

To get the most out of this book, you should already possess or have a strong desire to obtain rience in web development with HTML, JavaScript, or PHP I did not set out to write a book that guides you step-by-step through building a specifi c website such as one for a restaurant or bakery Instead, I set out to write a book that will help you understand how you can use Drupal to take the

Trang 24

vision in your head and apply it to the Web For example, when you understand that you need a

new form of content, fl ip to Chapter 6, "Content," which discusses all aspects of content in depth,

including creating, administering, moderating, and controlling that content

Experienced developers who are looking to propel themselves on the fast track to custom

mod-ule development might fi nd it useful to skim Chapters 2 through 4, and then skip forward to the

later chapters on module development I would suggest that you spend a bit of time on Chapter 6,

"Content," and Chapter 10, "Workfl ow and Actions," and Chapter 11, "Views." A good

under-standing of these chapters may save you countless development hours

What This Book Covers

This book focuses on Drupal 7, but the changes since Drupal 6 are highlighted where

appropri-ate This book walks you through the entire process of creating a Drupal website It starts with the

installation, moves to administration and confi guration, and then covers users and permissions The

book also discusses content (including nodes, users, and blocks), Drupal’s infamous taxonomy

sys-tem, tips on how to make your site not look like a Drupal site, and instructions on expanding your

site with contributed and/or custom modules

How This Book Is Structured

I often train others on how to use Drupal, so this book is structured similar to a training manual

The chapters are ordered in a manner that builds upon the topics of the previous chapter For

example, the chapter on Views is after the chapters on users, content, and taxonomy, because a

view works with all of these items I believe this order will help you understand the overall fl ow and

structure of Drupal Each chapter, however, is a thorough examination of its topic

I don’t expect you to read the book cover to cover before building your website You should read

this book alongside your development and use it as an aid or reference

If you are new to Drupal, I recommend that you read at least the fi rst parts of each chapter, but you

can move to the next chapter if the topic becomes too complex or just plain boring You can then

revisit each chapter when you need clarifi cation or more information

Experienced developers or those with previous Drupal experience may fi nd it benefi cial to skip to

the chapters that matter most to them Each chapter is designed to be independent, although the

examples in one chapter may build upon the examples in the previous chapter If you fi nd this to be

the case, simply fl ip back one chapter and follow the last example to catch up

What You Need to Use This Book

The book covers Drupal version 7, which has the following requirements:

Webserver: Apache 1.3 or 2.x or IIS 6+

Trang 25

The XAMPP project for Microsoft Windows, Linux, and Mac OS X as well as the MAMP project for Mac OS X contain all of these requirements in a single downloadable package

Please visit http://drupal.org/requirements for up-to-date system requirements

CONVENTIONS

To help you get the most from the text and keep track of what’s happening, I’ve used a number of conventions throughout the book

Exercises that you can try out for yourself generally appear in a box like this:

What You Will Be Doing in this Exercise

TRY IT OUT

Each Try It Out consists of an exercise you should work through, following the text in the book.

1. They usually consist of a set of steps

2. Each step has a number

3. Follow the steps using your copy of the database

How It Works

After each Try It Out, the code you’ve typed will be explained in detail.

WARNING Boxes like this one hold important, not-to-be forgotten information that is directly relevant to the surrounding text

NOTE Notes, tips, hints, tricks, and asides to the current discussion are off set and placed in italics like this

This book also uses the following styles to set apart non-standard text:

New and important terms are

Trang 26

Separate lines of code are formatted in the following ways:

Monofont type with no highlighting is used for most code examples.

Bold is used to emphasize code that’s particularly important in the present

context.

SOURCE CODE

As you work through the examples in this book, you may choose either to type in all the code

man-ually, or to use the source code fi les that accompany the book All the source code used in this book

is available for download at http://www.wrox.com When at the site, simply locate the book’s title

(use the Search box or one of the title lists) and click the Download Code link on the book’s detail

page to obtain all the source code for the book Code that is included on the Web site is highlighted

by the following icon:

Listings include the fi lename in the title If it is just a code snippet, you’ll fi nd the fi lename in a code

note such as this:

code snippet fi lename

NOTE Because many books have similar titles, you may fi nd it easiest to search

by ISBN This book’s ISBN is 978-0-470-43852-7

Once you download the code, just decompress it with your favorite compression tool Alternately,

you can go to the main Wrox code download page at http://www.wrox.com/dynamic/books/

download.aspx to see the code available for this book and all other Wrox books

ERRATA

We make every effort to ensure that there are no errors in the text or in the code However, no one

is perfect, and mistakes do occur If you fi nd an error in one of our books, like a spelling mistake or

faulty piece of code, we would be very grateful for your feedback By sending in errata you may save

another reader hours of frustration and at the same time you will be helping us provide even higher

quality information

To fi nd the errata page for this book, go to http://www.wrox.com and locate the title using the

Search box or one of the title lists Then, on the book details page, click the Book Errata link On

Trang 27

this page you can view all errata that has been submitted for this book and posted by Wrox tors A complete book list including links to each book’s errata is also available at www.wrox.com/ misc-pages/booklist.shtml.

edi-If you don’t spot “your” error on the Book Errata page, go to port.shtml and complete the form there to send us the error you have found We’ll check the information and, if appropriate, post a message to the book’s errata page and fi x the problem in sub-sequent editions of the book

www.wrox.com/contact/techsup-P2P.WROX.COM

For author and peer discussion, join the P2P forums at p2p.wrox.com The forums are a Web-based system for you to post messages relating to Wrox books and related technologies and interact with other readers and technology users The forums offer a subscription feature to e-mail you topics

of interest of your choosing when new posts are made to the forums Wrox authors, editors, other industry experts, and your fellow readers are present on these forums

At http://p2p.wrox.com you will fi nd a number of different forums that will help you not only as you read this book, but also as you develop your own applications To join the forums, just follow these steps:

1. Go to p2p.wrox.com and click the Register link

2. Read the terms of use and click Agree

3. Complete the required information to join as well as any optional information you wish to provide and click Submit

4. You will receive an e-mail with information describing how to verify your account and plete the joining process

com-NOTE You can read messages in the forums without joining P2P but in order to post your own messages, you must join

When you join, you can post new messages and respond to messages other users post You can read messages at any time on the Web If you would like to have new messages from a particular forum e-mailed to you, click the Subscribe to this Forum icon by the forum name in the forum listing

For more information about how to use the Wrox P2P, be sure to read the P2P FAQs for answers to questions about how the forum software works as well as many common questions specifi c to P2P and Wrox books To read the FAQs, click the FAQ link on any P2P page

Trang 29

it a system or a framework? Here’s a simple defi nition:

Drupal is an open source software application that manages the content of and builds websites and web applications It can be used to create a web blog, e-commerce store, photo gallery, or social networking website.

That seems straightforward, right? In fact, it sounds a lot like Joomla!, Wordpress, Zope, and many other content management systems (CMSs) So why do people use the term content management platform or content management framework?

The use of the terms platform and framework is an attempt to describe Drupal as a base or a

foundation onto which you build your desired websites or web applications Out of the box, Drupal can be used to instantly create a website with users, articles, blogs, comments, and a forum With a few modules from http://drupal.org it can be transformed into an e-commerce site, a group photo gallery, and more Drupal is also built around a modular core and a strong

1

Trang 30

application programming interface (API) so you can quickly and easily extend Drupal to build the site

of your dreams This leads to the following, more technical defi nition:

Drupal is a modular framework written in the PHP scripting language that

contains a CMS, a module system, and an API for rapid development of websites

and web applications.

An example I’ve used often is Lego systems You can purchase the race car Lego set and build

the provided example race car You could also build a luxury car with the same Lego set If you

purchase the rocket ship Lego set, you could combine the two and build a luxury rocket race car

After all, it’s only a set of blocks that you put together using your imagination Drupal is built on

the same idea — it’s a set of modules that you mix and match to build your perfect website or web

application

HISTORY OF DRUPAL

In 2000, Dries Buytaert, a student at the University of Antwerp, needed a method to communicate

with his classmates and friends He built a small web application so that he and his friends could

leave notes for each other After Dries graduated he moved the software over to drop.org and used

it to experiment with new web technologies such as syndication, rating, and distributed

authentica-tion Dries also made the software freely available and licensed it under the GPL It didn’t take long

before the software’s unique modular structure gained notice and attracted a community of

develop-ers and usdevelop-ers

Why is the Name Drupal?

When searching for domain names Dries accidentally misspelled the Dutch word dorp (meaning

vil-lage) as drop Accepting his mistake he registered and started to use the drop.org domain In 2001

the project offi cially adopted the name Drupal The Dutch word for drop is druppel, which changed

to Drupal (pronounced “droo-puhl”) for easier pronunciation

Who is Drupal?

As of this book’s writing, thousands of developers have contributed to the Drupal project Many

have contributed by adding modules and themes, providing support on drupal.org and the Internet

Relay Chat (IRC) channels, and participating at meetups, DrupalCamps, and conferences around

the world Drupal has been recorded as having a developer base in almost every country in the

world It truly is an international open source project

THE DRUPAL COMMUNITY

Drupal is not just software — it’s a community! The Drupal community is one of the largest and

most supportive communities in the open source world In fact, the community is so strong that

it should be a major deciding factor when you’re choosing whether or not to use Drupal Imagine

building a site that requires a certain piece of functionality You found a module that does 90

Trang 31

percent of the work but isn’t quite right You can decide to code this functionality on your own or you could work with the current module owner to modify and build in the functionality you need

If you code it yourself, you will have to maintain it in perpetuity, but if you work with the current module owner and the community, you are sharing maintenance with the community The latter result is a more sustainable, longer lasting website and web application

There is no formal agreement with the community The agreement is much more tacit A user viding support one day may expect to receive support another day Likewise, other module develop-ers will maintain their module if you maintain yours, so that everyone’s site can grow and expand

pro-You do not have to be a developer to participate in the community There are groups of designers, users, administrators, and others at all levels working together to build great sites The worst thing you can do when starting out with Drupal is to ignore the community

WHERE IS THE COMMUNITY?

The Drupal community meets online and, better yet, in the real world Here are a few places where you can fi nd them:

Forums on Drupal.org (

Installation, confi guration, migration, translation, upgrading, and module development are just some of the topics covered in the forums Forums are a great place to start when fi rst learning about Drupal and its community

IRC channels

Because it functions in real time, IRC can provide the fastest support, communication, and collaboration IRC can be accessed using IRC software such as Mirc (Windows), Colloquy (Mac OS X), or xChat (Linux) The server is irc.freenode.net and the top three channels are (note that many more exist):

➤ — Hosts high-level development discussions on Drupal core and modules

Once you have used Drupal for a while and are developing modules, use this channel

to collaborate with other developers

You can fi nd more channels and the rules to IRC etiquette at http://drupal.org/irc.Drupal Groups at

➤ http://groups.drupal.org

The Drupal Groups website is the Grand Central station of the Drupal community minded users and developers meet and collaborate on common topics and projects on this website Regional groups from New York City, Paris, Wisconsin, Peru, and Texas schedule regular meetups Topic-based groups such as High Performance and Drupal in Education are great for fi nding others who are in similar situations as you At the time of this writing, there were over 360 active groups Find a local group and get involved!

Trang 32

Like-Regional and language-based websites

There are several regional websites that enable users to communicate in their local language

or connect within a geographic region Examples include drupalchina.org, wan.org, drupalitalia.org, and ladrupal.org Language-based communities can be found at http://drupal.org/language-specific-communities, and geographic commu-nities can be found at http://groups.drupal.org/groups

drupaltai-Camps and conferences

Drupalcon brings together developers, designers, users, and other Drupal professionals from all over the world Currently Drupalcon is held once a year in Europe and North America but is quickly expanding to other parts of the world Check http://drupalcon.org for the latest event schedule

Drupalcon may be the biggest Drupal-based conference, but it is not the only one

DrupalCamps, meetups, and other community-organized events happen daily around the world Check http://groups.drupal.org/events for the most recent events

PROFESSIONAL SUPPORT

The Drupal community forums and IRC channels are fi lled with wonderful volunteers working day

and night to help each other build and troubleshoot their websites Although working with the

com-munity is the best way to learn Drupal quickly, you may or may not have your questions answered

or problems fi xed in a timely manner; these channels can require patience Fortunately the

compa-nies of the Drupal community are there to help you

Drupal is a software application that runs on a server platform, meaning a host For this reason

sup-port packages are divided into three general categories: Drupal-only, server-only, Drupal + server

Many hosting companies provide server-only support and do not support the Drupal software,

whereas Drupal professionals may provide Drupal-only support When purchasing support it is best

to ask what is and what is not supported to fi nd the right combination for your project and budget

You can fi nd a list of hosting companies that specialize in Drupal at http://drupal.org/hosting

and a list of companies providing support, consulting, and development at http://drupal.org/

services To help get you started here a few of the more popular options:

Acquia Drupal

Created by the founder of Drupal, Dries Buytaert, this company provides a distribution of Drupal that bundles some of the most popular contributed modules and a custom Acquia module to connect your website to Acquia’s automated monitoring and support network

Because Acquia’s distribution is built on top of Drupal, it is 100 percent compatible with all

of Drupal’s modules, themes, translations and other items, including every exercise in this book In fact, you can use Acquia’s Drupal distribution with this book

Acquia Drupal can be found at http://acquia.com.Hosted Drupal solutions

A hosted Drupal solution is different from a regular host A hosted Drupal solution is a host that installs, confi gures, and fi ne-tunes Drupal for you Often these companies will continu-ally monitor your installation for updates to Drupal and its modules Although Drupal is

Trang 33

compatible with many hosts the difference is the specialty in Drupal, which you’ll appreciate when your site goes down in the middle of the night Many other Drupal companies will only host sites they build or help you build But a hosted Drupal solution takes your site, your code, and your system and makes sure it’s rock-solid.

Check out the following hosted Drupal solutions:

Hot Drupal (

➤ http://hotdrupal.com)Workhabit (

➤ http://workhabit.com)Acquia Drupal (

For high availability, high traffi c websites check out Acquia, Four Kitchen’s Pressfl ow Drupal distribution http://pressflow.org, Pantheon, an EC2/Cloud computing distribution (http://getpantheon.com), or Firehose at http://stationindustries.com

You can browse many more hosted Drupal solutions or Drupal-compatible web hosts at

http://drupal.org/hosting.Drupal professionals

The Drupal community is teeming with dedicated professionals that are ready to help you build your website, provide a bit of custom development, or give you advice Companies exist for customers with nearly any budget, from the hobbyist to the Fortune 500 enterprise customer If you choose to hire a professional be sure to inquire about their launch and on-going support options

You can browse a list of Drupal professionals at http://drupal.org/services.Confused? Don’t be The community is there to help you If you have questions simply log into IRC channel #drupal-support, ask your question in the Drupal forums at http://drupal.org/forums, or pick up your phone and talk to one of the many Drupal professionals listed at http://drupal.org/

services

Of course you don’t need to hire a professional to build, support, or even host your website Keep reading to become your own Drupal professional

THE DRUPAL ASSOCIATION

Standing to the side of the community and directed to support and protect your rights as a munity member is the Drupal Association Originally created to purchase hardware to support the drupal.org infrastructure, the Association quickly became a defender of the Drupal trademark from an erroneous claim against it This all community- and volunteer-run nonprofi t works to ensure that Drupal continues to be free and available for everyone to enjoy A few of the activities that the Association performs are:

com-Purchasing infrastructure (servers, etc.) that the drupal.org websites use

Trang 34

Redesigning and creating functional upgrades to the drupal.org website

And many other supporting activities!

The Association does not write or maintain the Drupal software or control the content on any

of the drupal.org websites The Drupal project is solely owned and run by the community As

a community-run organization all users are able and encouraged to participate in the Drupal

Association to help Drupal continue as one of the greatest open source projects!

The Drupal Association can be found at http://association.drupal.org

SUMMARY

It should be clear that Drupal is much more than great software; it is also a great community The

Drupal software, built upon a modular architecture, allows you to build great websites with relative

ease And the community of users, designers, and developers, as well as great Drupal companies, are

all there to help you support your website both now and in the future You need no special skills or

invitation to join the Drupal community, just a bit of time to participate in it Drupal is more than

software Drupal is you!

Welcome to the community!

In the next chapter you’ll explore Drupal’s installation process and begin your Drupal journey

EXERCISES

1. What website can you use to connect with other Drupal users, developers, and professionals with

similar interests or located near you?

2. Where can you communicate with other Drupal users or developers in real time over the Internet?

3. What nonprofi t organization helps to protect the Drupal community’s code from GPL copyright

infringement, protects the Drupal trademark, and supports the http://drupal.org infrastructure?

4. Drupal is a great CMS, but developers also love it because of its great ? (three letter

acronym)

Answers to the Exercises can be found in the Appendix

Trang 35

WHAT YOU LEARNED IN THIS CHAPTER

in-person at locations around the world Find out more at http://groups.drupal.org.

From the hobbyist to the Fortune 500, companies exist at all levels to give you professional

service

You are now part of the Drupal community!

Trang 37

Installing Drupal

WHAT YOU WILL LEARN IN THIS CHAPTER:

Installing a Drupal website

This chapter reviews the installation process of a single Drupal website You will explore the

fi les and folders of Drupal to better understand its structure and to learn what you can and cannot modify You’ll explore Drupal’s system of inheritance and overrides and learn how to install Drupal in a language other than English

After completing this chapter you can continue on in the book or skip over to Chapter 18, which covers advanced Drupal installations Chapter 18 covers installing multiple websites with a single download of Drupal, sharing users between multiple Drupal websites, explores the settings.php fi le, and how to use CVS to simplify updates to your Drupal website

2

Trang 38

GETTING STARTED WITH DRUPAL

The fi rst step to getting started with Drupal is to make sure that you meet all of the requirements

Drupal 7 requires the following:

Web server: Apache 1.3/2.x or IIS 6+

If you are using a web host that advertises compatibility with Drupal, most of these are likely already

set up Be aware however that many hosts use PHP 4 by default and not PHP 5 Often a quick call to

their support line is all that is needed to get them to switch your account over to PHP 5

To use Drupal locally on your computer you will need to install these items separately I highly

recommend the XAMPP software for Windows (http://apachefriends.org) or the Mac OS X

equivalent, MAMP (http://mamp.info) These free software packages provide everything you need

in a single download This chapter and the remainder of the book will assume that you are using

XAMPP or MAMP for your Drupal website The chapters and exercises will work the same if you

choose to use a web host instead

Another option that is great for evaluating Drupal is Acquia’s DAMP stack installer (DAMP =

Drupal, Apache, MySQL, PHP) Discussed later in this chapter Acquia’s stack installer provides a

ready-to-go Acquia Drupal website with only a few clicks You may use the Acquia Drupal

distribu-tion to follow along in this book

INSTALLING A SINGLE DRUPAL WEBSITE

You’ll start with a generic installation of Drupal and then take a look at each step and explore how it

all works To begin you need to have a database as well as a username and password with access to

this database If you are working with XAMMP or MAMP, you can use the included phpMyAdmin

application to create the database as well as a username and password phpMyAdmin is a popular

open source application for managing the databases and users of a MySQL server If you are using a

web host, consult their documentation to determine how to create these items

The following set of activities will walk you through creating a database and a username/password

for use with Drupal If your host has supplied you with these items you may skip ahead

Trang 39

Creating a Database using phpMyAdmin

2. Login to phpMyAdmin using the credentials provided with your XAMPP/MAMP installation

3. Click Databases from the front menu

4. At the bottom of the Database page type “drupal” into the Create new database form then click

Create as shown in Figure 2-1

FIGURE 2-1

How It Works

The phpMyAdmin application makes it easy to create a new database on a MySQL database server If

you created your database from a tool provided by your web host or if your web host simply gave you

the name of a database the result is the same as creating one with phpMyAdmin You only need a few

items in order to install Drupal

This exercise walks you through creating a username and password for Drupal

1. Navigate back to the front page of phpMyAdmin, then click Privileges

2. On the Privileges page click “Add a new user” near the middle of the page, shown in Figure 2-2

3. Fill in a username and password, as shown in Figure 2-3, then

near the bottom right of the screen click Go

Do not assign permissions on this page The permissions listed on this page are global permissions and will apply to all databases

FIGURE 2-2

Trang 40

FIGURE 2-3

4. On the resulting page, the user’s property page, fi nd the Database-specifi c privileges form in the

middle of the page and choose Drupal from the drop-down menu as shown in Figure 2-4

FIGURE 2-4

5. Select the following permissions, as shown in Figure 2-5, SELECT, INSERT, UPDATE, DELETE,

CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, and LOCK TABLES, then

In the previous exercise you created a database and in this exercise you created a user account with

access to that database Web hosts often combine these two actions using the same name for the user

and the database but it is important to understand that these are separate items A user may have access

to multiple databases and multiple users may be able to access a single database

Ngày đăng: 06/08/2013, 17:35

TỪ KHÓA LIÊN QUAN