Getting Started with Drupal
Varioius friends have asked me for advice on how to get started developing websites using Drupal. I put together some information and thought I should post it to the web in case other people find it useful. For starters, there are three books I would recommend:
- Using Drupal by Angela Byron and a number of other authors.
- Pro Drupal Development, Second Edition, by John VanDyk & Matt Westgate. (Make sure you gets the current edition, which specifically covers Drupal 7.)
- The Definitive Guide to Drupal 7, edited by Benjamin Melancon and written by a team of 36 top Drupal developers, is indeed comprehensive and surprisingly readable for a book with that many authors.
Of the three, Using Drupal is by far the easier book to read, but Pro Drupal Development and The Definitive Guide to Drupal 7 offer much more in-depth information about Drupal's internal architecture and the technical details of Drupal programming. Using Drupal can get you started building websites before even learning any actual programming code. The authors of Using Drupal include some of the top Drupal programmers around, but you can actually get a couple of hundred pages into the book before they even make you read a line of computer code. The book is largely written as a how-to guide for "click-together" website developers who build website by simply installing and configuring code that other people have already written. It is structured as a series of tutorials that walk you step-by-step through the process of creating a number of websites with different features.
To use either book, of course, you'll need to get a copy of the Drupal code, which is available as a free download from the Drupal website at http://drupal.org.
Drupal consists of "core" code and "contrib" code. "Core" is the basic system that runs on every Drupal website. It is carefully maintained and managed by Drupal's community leaders and is therefore very stable and reliable. Much of Drupal's power, however, comes from the more than 17,000 contributed code projects that have been written to extend the core.
Broadly speaking, most "contrib" code falls into two categories: "modules" and "themes." Modules provide additional functionality: calendars, the ability to handle audio, video and other file formats; integration with other websites such as Facebook; an online shopping cart that can be used to sell merchandise online; photo galleries; etc., etc. Themes don't add functionality but change the appearance of the website — the layout of individual web pages, colors, positioning of elements, fonts, etc.
Drupal's contrib code is contributed by numerous numerous people and varies widely in terms of quality and reliability. Just about anyone can contribute a module or theme, and some are so badly done that they don't work at all, while others are very powerful and stable and are used on tens of thousands of websites. A big part of the art of Drupal development involves identifying the right modules to use when building a site. The Drupal website also has a lot of documentation, although sometimes it is less well-organized than I would like. Here are some recommended links:
In addition to the website, a number of Drupal-specific IRC chat rooms make it possible to ask questions and get them answered in real time. IRC (internet relay chat) is a form of real-time Internet text conferencing. You can access IRC chat with free software such as Colloquy or Limechat. I use Colloquy myself but have heard that Limechat is more user-friendly. Both Colloquy and Limechat were written for Macs, which is what I use. I'm sure that Windows computers also have IRC client software that would work, but I don't know offhand what to recommend. The best IRC chat room for general Drupal support is #drupal-support at irc-freenode.net, which usually has hundreds of people in the conference at any given time, so questions that you pose there will often get answered quickly. The Drupal website has additional information about their other IRC channels at: http://drupal.org/irc.
The Drupal website has several specialized subdomains that provide additional information. For example, you can find the full code of each individual Drupal function documented at http://api.drupal.org/.
"Drupal groups" has hundreds of discussion groups organized by area of interest (subject area, location, etc.): http://groups.drupal.org/.
The community page on Drupal.org can help you find local meetups and DrupalCamps where you can find people in your area who work with Drupal. The Drupal Association also sponsors two annual DrupalCons — one in the United States and one in Europe — each with thousands of attendees and dozens presentations on Drupal-related topics for all skill levels. You can find videos from past DrupalCon presentations at the Internet Archive.
Nuams' co-founder and CTO, Sheldon Rampton, previously served as the Senior Web Developer at the New York State Senate, where his responsibilities included...
Nuams' co-founder and CEO Andrew Hoppin previously served as Chief Information Officer of the New York State Senate from January 2009-January 2011. There, he led the successful effort to deploy...