Drupal Module creation intro


Executive Member
Jul 22, 2005
From IBM Developers Works:
In this day and age, every endeavor requires a Web site. A Web site is simultaneously a business card, a brochure, a portfolio, a catalog, an invitation, an annual report, an advertisement, and an outpost. Indeed, without a URL and adequate placement in a search engine, a business can go unnoticed.

However, not all Web sites require the same features, and the technical expertise of operators varies, as well. Hence, some content-management system (CMS) software is intentionally modest and simple to use, while others are expansive and commensurately intricate. Budgets vary, too. One Web site may have the resources to purchase an expensive commercial application, while another may have more modest means and expectations.

And although there is no single "right solution" — only the solution that's right for any circumstance — many choose the same software: Drupal. Drupal is open source, free to use (in all senses of the word), and easy to launch, but wildly extensible, making it a worthy option for small, large, emerging, and aspirational sites alike. Hundreds, if not thousands, of Drupal modules, or extensions, are available to customize a Drupal site, and if no suitable module exists, writing a new one is a reasonable undertaking.

Part 1 of this series demonstrates how to install and launch Drupal V6, the most recent revision of the popular package, on a UNIX®-like system. Part 2 shows how to add modules to a Drupal V6 site to incorporate new features. This final installment shows how to write and deploy a custom module to create a novel content type.

Like Drupal itself, a custom module is written in PHP, so familiarity with the programming language and its tools and libraries is beneficial. Typically, a module also accesses an underlying database. Some experience with a relational database and SQL is helpful, as well.

A nice intro to Drupal Module development. In this one, they create a simple twitter like module called flitter.