This week DZone releases the Getting Started with Drupal refcard showing you how to create a site using Drupal, and how to develop your own modules. I spoke with the author, Matt Vance, to find out more about Drupal, and what it involves.
James Sugrue: Hi Matt, could you please introduce yourself
Matt Vance: My name is Matt Vance and I am a Senior Web Developer for True Games Interactive. I have been working with Drupal for about three years now. I got involved with Drupal because I got a job as a web developer without having done much programming in a while. Drupal allowed me to build more complex sites, in a shorter time frame, than I would have been able to developing them from scratch.
Sugrue: How are you involved with Drupal?
Vance: I started out asking and answering questions on the Drupal.org support forums. From there, as I learned more, I branched out into helping out in the various issue queues, submitting patches, helping to upgrade modules, writing and editing documentation, and contributing themes and modules. I also help to organize the local Austin Drupal group.
Sugrue: And what exactly is Drupal? How long has it been in existance?
Vance: Drupal is a free, open source software package for building and managing websites. Some of its selling points are its extensibility, its modular architecture, its social networking features, and its large supportive community. Drupal started out over eight years ago as a hobby project by a then-graduate student named Dries Buytaert.
Sugrue: What are your favourite examples of sites using Drupal?
Vance: While we're still building out some of the features, I'm proud of the work that myself and others have done for True Games on the site for our first game, Warrior Epic. The site is multi-lingual, with content in English and Turkish. We use a variety of web services to communicate with the game servers. And we use the Ubercart module to provide a store where players can purchase gold that can be used in the game.
Beyond that, the Drupal handooks include a great section of Case studies that detail how other sites are using Drupal, such as Fast Company, Sony Music, and the New York Observer.
Sugrue: How easy is it to set up a site using Drupal?
Vance: For beginners, the hardest part of getting Drupal up can be setting up the platform it runs on. Drupal is often run on a LAMP stack, which stands for Linux, Apache, MySQL, and PHP. Fortunately, projects are available that take care of some of the headache of getting those various components set up and working together. Projects such as XAMPP, MAMP, and WAMP provide bundled platforms for various operating systems.
With a local environment or a suitably configured web host, it can take as little as a few minutes to get a new Drupal site up and running.
Sugrue: Can you give an example of some of the most popular Drupal modules?
Vance: The Drupal.org site maintains a list of the most popular projects, including modules and themes. The two most popular modules are the Content Construction Kit (CCK) module and the Views module.
CCK allows site builders to extend beyond Drupal's default page and story content types by extending, customizing, or creating new content types. CCK includes several sub-modules for adding a variety of custom field types such as select boxes, check boxes, text boxes, and more.
The Views module provides site builders a great deal of control and flexibility in presenting lists of content, also called "views", on a site. The Views module provides a graphical user interface that can output nodes, users, comments, and more.
Sugrue: Is it easy to create your own module?
Vance: Yes, Drupal modules can be as simple as a single function. The Refcard steps users through creating a very simple module.
Sugrue: How mature is Drupal? Is there any work planned for the core on the horizon?
Vance: Drupal is used on a variety of big name web sites, including Popular Science, Ubuntu, and the Electronic Frontier Foundation.
The next major version of Drupal, version 7, is still under development. One of the major development efforts under way is a project to improve the usability of Drupal. I believe the code freeze for the next version of Drupal is schedule for September. From there, it will likely take a few months of bug fixing before the official release of Drupal 7.
Sugrue: What is your top tip for Drupal configuration?
Vance: Set up a test site for evaluating modules. No module will work for every situation and some don't clean up after themselves when uninstalled. Once you've determined that a module meets your needs, then install it on your main site.
Sugrue: And what is your top tip for Drupal development?
Vance: Get to know the "Drupal way" of doing things. If you find yourself modifying core code, especially on your first project, ask an experienced Drupal developer how they might tackle the same problem. Chances are there is a way to do what you want in a stand-alone module.
Sugrue: Would you recommend any books or resources for developing Drupal modules?
Vance: The book "Pro Drupal Development" is an excellent resource for anyone interested in developing Drupal modules. The Refcard includes an extensive list of online resources.