Cover image for Using Drupal

Book description

With the recipes in this book, you can take full advantage of the vast collection of community-contributed modules that make the Drupal web framework useful and unique. You'll get the information you need about how to combine modules in interesting ways (with a minimum of code-wrangling) to develop a variety of community-driven websites. Each chapter describes a case study and outlines specific requirements for one of several projects included in the book -- a wiki, publishing workflow site, photo gallery, product review site, online store, user group site, and more. With Using Drupal, you will:

  • Get an overview of Drupal concepts and key modules introduced in each chapter, with a bird's-eye view of each module's specialty and how it works

  • Explore various solutions within Drupal that meet the requirements for the project, with details about which modules are selected and why

  • Learn how to configure modules, with step-by-step recipes for building the precise functionality the project requires

  • Get information on additional modules that will make the project even more powerful

  • Be able to access the modules used in the chapter, along with other resources

Newcomers will find a thorough introduction to the framework, while experienced Drupal developers will learn best practices for building powerful websites. With Using Drupal, you'll find concrete and creative solutions for developing the exact community website you have in mind.

Table of Contents

  1. Special Upgrade Offer
  2. A Note Regarding Supplemental Files
  3. Foreword
  4. Preface
    1. Audience
    2. Assumptions This Book Makes
    3. A Note About the Modules Used in This Book
    4. Contents of This Book
    5. Conventions Used in This Book
    6. Using Code Examples
    7. Downloading Drupal 6
    8. Safari® Books Online
    9. Comments and Questions
    10. Acknowledgments
  5. 1. Drupal Overview
    1. What Is Drupal?
      1. Who Uses It?
      2. What Features Does Drupal Offer?
    2. A Brief History of Content Management
      1. A Historical Look at Website Creation
      2. The Age of Scripts and Databases
      3. The Content Revolution
    3. How Does Drupal Work?
      1. Modules
      2. Users
      3. Content (Nodes)
      4. Ways of Organizing Content
      5. Types of Supporting Content
    4. Getting Help
    5. Conclusion
  6. 2. Drupal Jumpstart
    1. Case Study
      1. Implementation Notes
        1. Basics
        2. Easy content editing and image handling
    2. Spotlight: Content Management
      1. Content
      2. Comments
      3. Navigation
      4. Blocks
    3. Hands-On: Content Management
      1. Creating Content
      2. Managing Site Navigation
      3. Configuring Blocks
    4. Spotlight: Modules
      1. Module Administration Page
      2. Finding and Installing Modules
      3. Removing Modules
    5. Hands-On: Working with Modules
      1. Path Module
      2. Administration Menu Module
    6. Spotlight: Access Control
      1. Configuring User Access
      2. User Profiles
      3. User Settings
      4. Handling Abusive Users
    7. Hands-On: Creating Roles
    8. Hands-On: Configuring Permissions
    9. Hands-On: Contact Form
    10. Spotlight: Taxonomy
    11. Hands-On: Blog
    12. Spotlight: Content Moderation Tools
      1. Automated Spam Detection Tools
      2. Manual Content Moderation Tools
    13. Spotlight: Themes
      1. Finding a Theme
      2. Theme Installation
      3. Theme Configuration
      4. Blocks and Regions
      5. Administration Theme Setting
    14. Hands-On: Branding the Site
    15. Spotlight: Content Editing and Image Handling
      1. Content Editing
      2. Image Handling
    16. Spotlight: Input Formats and Filters
    17. Hands-On: Setting Up FCKeditor
    18. Summary
  7. 3. Job Posting Board
    1. Case Study
      1. Implementation Notes
        1. Custom input forms
        2. Listings
        3. File uploads
    2. Spotlight: CCK
      1. Fields
      2. Widgets
      3. Formatters
    3. Hands-On: CCK
    4. Hands-On: Job Content Type
    5. Hands-On: Customizing Field Display
    6. Hands-On: Job Application Type
    7. Spotlight: Views Module
      1. Displays
      2. Pieces of a View
        1. Fields
        2. Filters
        3. Arguments
        4. Sort criteria
        5. Relationships
    8. Hands-On: The Views Module
      1. Jobs View
      2. Job Applications View
        1. Create the View and Defaults displays
        2. Create the page display
        3. Create the Job tab display
        4. Create the Applications block display
    9. Taking It Further
    10. Summary
  8. 4. Product Reviews
    1. Case Study
      1. Implementation Notes
        1. Product information
        2. Product ratings
        3. Custom searching
    2. First Steps: Basic Product Reviews
      1. Creating the Product Review Content Type
    3. Spotlight: Amazon Module
      1. What’s Included?
      2. Locale
      3. Referral Settings
    4. Hands-On: Adding an Amazon Field
      1. Adding the Product Field
      2. Finding Product IDs
    5. Spotlight: Voting API and Fivestar
    6. Hands-On: Adding Ratings
      1. Adding the Rating Field
      2. Turning on Visitor Ratings
    7. Hands-On: Building a Product List
    8. Spotlight: The Search Module
      1. The Importance of Cron
      2. Searching with Views
    9. Hands-On: Make the Product List Searchable
    10. Spotlight: CSS Injector
    11. Hands-On: Polishing the Presentation
      1. Setting CCK Display Fields Options
      2. Configuring CSS Injector
    12. Taking It Further
    13. Summary
  9. 5. Wiki
    1. Case Study
    2. Implementation Notes
      1. Wiki Functionality
      2. Easy Text Formatting
      3. Easy Linking
      4. Tracking Changes
      5. Human-Readable URLs
      6. Listing Changes
    3. Hands-On: First Steps
      1. Creating a Wiki Content Type
      2. Removing the Author Information Display
      3. Configuring Access Permissions
    4. Hands-On: Wiki Input Format
      1. Configuring the Filters
      2. Creating the Wiki Input Format
      3. Setting Up Format Permissions
      4. Adding Content
    5. Spotlight: Pathauto
    6. Hands-On: Pathauto
      1. Configuring Settings
    7. Spotlight: Drupal’s Revision Tracking
    8. Hands-On: Revisions and Diff
      1. Make Revisions the Default
      2. Setting Permissions
      3. Viewing Revisions and Reverting
      4. Using Diff
    9. Hands-On: New Pages and Recent Edits with Views
      1. Recent Posts Listing
      2. Recent Edits Listing
    10. Taking It Further
    11. Summary
  10. 6. Managing Publishing Workflow
    1. Case Study
      1. Implementation Notes
        1. Editorial workflow
        2. Email notifications
        3. Overview pages
    2. Hands-On: First Steps
    3. Spotlight: Actions and Triggers
    4. Hands-On: Actions and Triggers
      1. Configure Actions
      2. Assign Triggers
    5. Spotlight: Workflow Module
    6. Hands-On: Creating a Workflow
    7. Spotlight: The Workspace Module
    8. Hands-On: Create Workspaces
    9. Spotlight: Views Bulk Operations
    10. Hands-On: Building an Administration Page
      1. Create Workflow Actions
      2. Configure the View
    11. Taking It Further
    12. Summary
  11. 7. Photo Gallery
    1. Case Study
    2. Implementation Notes
      1. Photo Uploads
      2. Thumbnail Generation
      3. Photo Galleries
    3. Spotlight: ImageField
      1. Configuration
    4. Hands-On: Uploading Photos
      1. Photo Content Type
      2. Image Galleries
    5. Spotlight: ImageCache
      1. Presets and Actions
        1. Crop
        2. Resize
        3. Scale
        4. Scale and crop
      2. Using a Preset
        1. CCK formatters
        2. Manually viewing a preset image
      3. Troubleshooting ImageCache
        1. Check Clean URLs
        2. Check GD library
    6. Hands-On: ImageCache
      1. Create ImageCache Presets
      2. Configure Photo Field Display
      3. Improve Image Quality
    7. Hands-On: Gallery View
    8. Hands-On: Latest Photos Block
    9. Hands-On: Custom Pagers
    10. Taking It Further
    11. Summary
  12. 8. Multilingual Sites
    1. Case Study
    2. Implementation Notes
      1. Forum Discussions
      2. Knowledge Base
      3. Translating User Interface Text
      4. Translating User-Generated Content
    3. Spotlight: Core Internationalization Features
      1. Locale
        1. Translations
        2. Interface translation
        3. Language switching
        4. Localized installer
      2. Content Translation
    4. Hands-On: Installing a Translation
    5. Hands-On: Configuring Locale Features
      1. Language Negotiation Settings
      2. Language Switcher
    6. Hands-On: Translatable Content
    7. Spotlight: Localization Client
    8. Hands-On: Translating the Interface
      1. Using the Locale Module
      2. Using the Localization Client
    9. Hands-On: Translating Content
      1. Translation
    10. Spotlight: Internationalization
      1. Content Selection
      2. Strings
      3. Site-Wide Language-Dependent Variables
      4. Module Helpers
      5. Synchronization
    11. Hands-On: Internationalization Features
      1. Content Selection
      2. Site-Wide Variables
      3. Content Types
      4. Taxonomy
        1. Forums
    12. Taking It Further
    13. Summary
  13. 9. Event Management
    1. Case Study
    2. Implementation Notes
      1. Event Management
      2. Attendance Tracking
    3. Hands-On: First Steps
      1. Creating an Event Content Type
      2. Access Control
    4. Spotlight: Date Module
      1. Date API Module
      2. Date Timezone
      3. Date Field Types
      4. Date Widgets
      5. Date Settings
    5. Hands-On: Adding Dates
      1. Set Up the Date Module
      2. Add the Date Field
    6. Hands-On: Upcoming Events View
    7. Spotlight: Calendar Module
      1. Calendar View Type
    8. Hands-On: Calendar View
    9. Spotlight: Flag Module
    10. Hands-On: Flag Configuration
    11. Hands-On: Attendee View
    12. Taking It Further
    13. Summary
  14. 10. Online Store
    1. Case Study
      1. Implementation Notes
    2. Spotlight: Ubercart Packages
      1. Ubercart—core
      2. Ubercart—core (optional)
      3. Ubercart—extra
    3. Spotlight: Ubercart’s Administration Panel
    4. Hands-On: Setting Up the Store
      1. Initial Setup Tasks
    5. Spotlight: Products, Product Classes, and Attributes
    6. Hands-On: Creating Products
      1. Initial Setup Tasks
      2. Configuring Product Classes
      3. Configuring Product Attributes
      4. Configuring Product Settings
      5. Configuring the Catalog
    7. Spotlight: The Ordering Process
    8. Hands-On: Processing Orders
      1. Shopping Cart
      2. Taxes
      3. Shipping
      4. Payment
      5. Placing a Test Order
      6. Fulfilling an Order
      7. Access Control
    9. Taking It Further
    10. Summary
  15. 11. Theming Your Site
    1. Spotlight: The Theme System
      1. .info Files
      2. Regions
      3. Features
      4. CSS
      5. JavaScript
      6. Template Files
      7. The template.php File
    2. Hands-On: Creating a Custom Theme
      1. Make a Copy of the Theme
      2. Changing CSS
    3. Spotlight: Template Files
    4. Hands-On: Working with Template Files
      1. Modifying a Template File
      2. Theming Specific Content Types
      3. Overriding a Module’s Template File
      4. Creating a New Region
    5. Spotlight: Advanced Overrides
      1. Template Variables
      2. Theme Functions
    6. Hands-On: Using template.php for Overrides
      1. Overriding a Template Variable
      2. Overriding a Theme Function
    7. Taking It Further
    8. Summary
    9. References
  16. A. Installing and Upgrading Drupal
    1. Before You Begin Installation
      1. Gathering Requirements
      2. Downloading Drupal
      3. Drupal’s Files and Directories
    2. Installing Drupal
    3. Keeping Drupal Up-to-Date
      1. Version Numbers
      2. Update Status Module
      3. Site Maintenance Mode
      4. The update.php Script
    4. Updating Drupal Core
    5. Updating Contributed Modules
    6. References
  17. B. Choosing the Right Modules
    1. Finding Modules
      1. Browse Module Listings
      2. Keyword Search
      3. Drupal.org Forums
      4. Case Studies
      5. Planet Drupal
      6. Third-Party Websites
    2. Assessing a Module’s Health
      1. Project Pages
      2. Issue Queues
      3. Code
    3. The People Behind the Code
      1. Maintainer Activity
      2. User Profiles
    4. Getting Involved
    5. Summary
    6. References
  18. C. Modules and Themes Used in This Book
    1. Chapter 1,
    2. Chapter 2,
    3. Chapter 3,
    4. Chapter 4,
    5. Chapter 5,
    6. Chapter 6,
    7. Chapter 7,
    8. Chapter 8,
    9. Chapter 9,
    10. Chapter 10,
    11. Chapter 11,
  19. Index
  20. About the Authors
  21. Colophon
  22. Special Upgrade Offer
  23. Copyright