Drupalとは、
GNU GPL 2 ライセンスのもと、オープンソースとして開発・配布がおこなわれている非常に洗練されたCMS。(はてなキーワード)

先月から今月にかけてDrupal本を4冊程購入
まず、Drupal Pro Book CMSカスタマイズ&デザインガイド
を購入し、データベースを利用するモジュールを一度作ってみたら仕組みがわかってきたので以下3冊を追加購入。
Pro Drupal Development (Beginning from Novice to Professional)
技術参考書は数あれど、Drupal ということを抜きにして客観的にみても、Pro Drupal Development は「非常によくできている」としか言いようがない。(Perl Tips)

Contents
Copyright
Dedication
Foreword
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
How Drupal Works
What Is Drupal?
Technology Stack
Core
Administrative Interface
Modules
Hooks
Themes
Nodes
Blocks
File Layout
Serving a Request
Summary
Writing a Module
Creating the Files
Implementing a Hook
Adding Module-Specific Settings
Adding the Data Entry Form
Defining Your Own Administration Section
Presenting a Settings Form to the User
Validating User-Submitted Settings
Storing Settings
Further Steps
Summary
Hooks, Actions, and Triggers
Understanding Events and Triggers
Understanding Actions
Using the Context in Actions
Examining the Context
How Actions Are Stored
Calling an Action Directly with actions_do()
Defining Your Own Triggers with hook_hook_info()
Adding Triggers to Existing Hooks
Summary
The Menu System
Callback Mapping
Menu Nesting
Access Control
Title Localization and Customization
Wildcards in Menu Items
Altering Menu Items from Other Modules
Altering Menu Links from Other Modules
Kinds of Menu Items
Common Tasks
Using menu.module
Common Mistakes
Summary
Working with Databases
Defining Database Parameters
Understanding the Database Abstraction Layer
Connecting to the Database
Performing Simple Queries
Retrieving Query Results
The Schema API
Inserts and Updates with drupal_write_record()
Exposing Queries to Other Modules with hook_db_rewrite_sql()
Connecting to Multiple Databases Within Drupal
Using a Temporary Table
Writing Your Own Database Driver
Summary
Working with Users
The $user Object
Introduction to hook_user()
The User Registration Process
The Login Process
External Login
Summary
Working with Nodes
So What Exactly Is a Node?
Not Everything Is a Node
Creating a Node Module
How Nodes Are Stored
Creating a Node Type with CCK
Restricting Access to Nodes
Summary
The Theme System
Theme System Components
Installing a Theme
Building a PHPTemplate Theme
Understanding Template Files
Advanced Drupal Theming
Summary
Working with Blocks
What Is a Block?
Block Configuration Options
Block Placement
Defining a Block
Building a Block
Enabling a Block When a Module Is Installed
Block Visibility Examples
Summary
The Form API
Understanding Form Processing
Creating Basic Forms
Form API Properties
Summary
Manipulating User Input: The Filter System
Filters
Filters and Input Formats
Creating a Custom Filter
Protecting Against Malicious Data
Summary
Searching and Indexing Content
Building a Custom Search Page
Using the Search HTML Indexer
Summary
Working with Files
How Drupal Serves Files
PHP Settings
Media Handling
File API
Summary
Working with Taxonomy
What Is Taxonomy?
Kinds of Taxonomy
Viewing Content by Term
Storing Taxonomies
Module-Based Vocabularies
Common Tasks
Taxonomy Functions
Additional Resources
Summary
Caching
Knowing When to Cache
How Caching Works
How Caching Is Used Within Drupal Core
Summary
Sessions
What Are Sessions?
Usage
Session-Related Settings
Storage
Session Life Cycle
Session Conversations
Common Tasks
Summary
Using jQuery
What Is jQuery?
The Old Way
How jQuery Works
jQuery Within Drupal
Building a jQuery Voting Widget
Next Steps
Summary
Localization and Translation
Enabling the Locale Module
User Interface Translation
Starting a New Translation
Installing a Language Translation
Right-to-Left Language Support
Language Negotiation
Content Translation
Localization- and Translation-Related Files
Additional Resources
Summary
XML-RPC
What Is XML-RPC?
Prerequisites for XML-RPC
XML-RPC Clients
A Simple XML-RPC Server
Built-In XML-RPC Methods
Summary
Writing Secure Code
Handling User Input
Handling URLs Securely
Making Queries Secure with db_query()
Keeping Private Data Private with db_rewrite_sql()
Dynamic Queries
Permissions and Page Callbacks
Cross-Site Request Forgeries (CSRF)
File Security
Encoding Mail Headers
Protecting cron.php
SSL Support
Stand-Alone PHP
AJAX Security
Form API Security
Protecting the Superuser Account
Using eval()
Summary
Development Best Practices
Coding Standards
PHP Comments
Checking Your Coding Style Programmatically
Finding Your Way Around Code with egrep
Taking Advantage of Version Control
Creating and Applying Patches
Maintaining a Module
Mixing SVN with CVS for Project Management
Testing and Developing Code
Summary
Optimizing Drupal
Finding the Bottleneck
Installation Profiles
Where Profiles Are Stored
How Installation Profiles Work
Summary
Database Table Reference
access (user module)
accesslog (statistics module)
actions (trigger module)
actions_aid (trigger module)
aggregator_category (aggregator module)
aggregator_category_feed (aggregator module)
aggregator_category_item (aggregator module)
aggregator_feed (aggregator module)
aggregator_item (aggregator module)
authmap (user module)
batch (batch.inc)
blocks (block module)
blocks_roles (block module)
book (book module)
boxes (block module)
cache
cache_block (block module)
cache_filter (filter module)
cache_form
cache_menu
cache_page
cache_update
comments (comment module)
contact (contact module)
files (upload module)
filter_formats (filter module)
filters (filter module)
flood (contact module)
forum (forum module)
history (node module)
languages (locale module)
locales_source (locale module)
locales_target (locale module)
menu_custom (menu module)
menu_links (menu module)
menu_router
node (node module)
node_access (node module)
node_comment_statistics (comment module)
node_counter (statistics module)
node_revisions (node module)
node_type (node module)
openid_association (openid module)
permission (user module)
poll (poll module)
poll_choices (poll module)
poll_votes (poll module)
profile_fields (profile module)
profile_values (profile module)
role (user module)
search_dataset (search module)
search_index (search module)
search_node_links (search module)
search_total (search module)
sessions
system
term_data (taxonomy module)
term_hierarchy (taxonomy module)
term_node (taxonomy module)
term_relation (taxonomy module)
term_synonym (taxonomy module)
trigger_assignments (trigger module)
upload (upload module)
url_alias (path module)
users (user module)
users_roles (users)
variable
vocabulary (taxonomy module)
vocabulary_node_types (taxonomy module)
watchdog (dblog module)
Resources
Code
Handbooks
Forums
Mailing Lists
User Groups and Interest Groups
Internet Relay Chat
Videocasts
Weblogs
Conferences
Contribute
Chapter 1: Drupal and social networking — In this chapter we look at exactly what Drupal is, what social networking is all about, and why Drupal is suitable to create a social networking site, before we install the software itself.
Chapter 2: Preparing Drupal for a social networking site — You will be introduced to the concepts of Drupal with a tour of the administration tools, as well as planning your new social networking site.
Chapter 3: User content: Contributions, forums and blogs — This chapter focuses on the contributions of your users, via forums, blogs, comments, and files as well as taking a brief look at user management.
Chapter 4: Managing users and profiles — Following from Chapter 3, we look at how to manage users and their roles, as well as looking at our site from their perspective with Blog themes, Customizing user profiles, and Open ID.
Chapter 5: Enabling user interaction — This chapter looks at enabling user interaction on the site with Organic Groups as well as building connections between users with the Friends module.
Chapter 6: Communicating with users — This chapter goes through how to communicate with users directly, through mailing lists, Twitter feeds, and in-page messages.
Chapter 7: Improving our networking with custom modules — This chapter illustrates how Drupal can be extended to match the needs of almost any social networking site, by creating a custom module for the site. This serves as a primer to creating Drupal modules.
Chapter 8: Designing our site — The design of a site is very important to a successful site; this chapter covers customizing the default theme to make it more unique, as well as a basic primer on creating custom themes.
Chapter 9: Deploying and maintaining our site — This chapter covers deploying our Drupal installation, securing it, and maintaining it, along with combating spam and looking at the reports Drupal generates.
Chapter 10: Promoting our site — This chapter looks at how to promote the site with SEO, marketing, and social/viral marketing and also has a quick look at ways to monetize the site
Drupal 6 Themes: Create New Themes for Your Drupal 6 Site With Clean Layout and Powerful Css Styling
Chapter 1: The Elements of a Drupal Theme - In this chapter we examine how the theme system in Drupal works and examine the different approaches to working with Drupal themes.
Chapter 2: Theme set Up & Configuration - Here we look at all the various theming options that are available in the default Drupal system. By way of example, we take a default theme and customize it using only the options provided by the system.
Chapter 3: Working With Theme Engines - You will learn how the PHPTemplate theme engine works and how you can use this powerful tool,
Chapter 4: Identifying Templates, Style Sheets and Themable Functions - This chapter identifies all the themable elements in the Drupal system and tells you where to find the elements together with an explanation of their functions.
Chapter 5: Intercepts & Overrides - You will learn how to employ intercepts and overrides to modify the default styling in your Drupal theme.
Chapter 6: Modifying an Existing Theme - Here we look at how to implement extensive modifications to a default Drupal theme. This is a hands-on example of the techniques covered in previous chapters.
Chapter 7: Building a New Theme - In this chapter we examine how you can build from scratch a new theme employing the PHPTemplate theme engine.
Chapter 8: Dynamic Theming - You will learn how the Drupal system enables you to vary the styling between sections, pages or users.
Chapter 9: Dealing with Forms - This chapter covers the styling of forms in Drupal, one of the more complex areas in the system.
Appendix A: A Guide to Drupal Style Sheets – An inventory of the contents of all the style sheets in the Drupal system.
Appendix B: The Themers’ Toolkit – A listing of tools and extensions that make your work with themes easier and more efficient.





