The Drupal Cookbook (for beginners)

Last modified: November 25, 2008 - 05:06

German version
Download as PDF (October 25, 2008)

Purpose

To help Drupal "newbies" who seemed overwhelmed on Drupal.org at first.

Background
The tips in this book are based upon a test site on PC, running Windows (Windows-specific guidelines). Pretty much all of this is directly applicable to building a site directly on a web server. Although it was based on Drupal 5, most of the process is the same for Drupal 6, although a few of the navigation buttons may have been renamed or moved.
Myths
You don't have to know how to program (especially in PHP) to use Drupal. It's an advantage to have some basic knowledge of PHP, HTML, and CSS, but it is not required. Some good resources for you:

This tutorial uses HTML and tweaked CSS, but not one line of PHP code. Everything is precompiled under the hood of: Drupal!
Some may think the learning curve for Drupal is going to be steep and it will take you months, or even years, to get a web site up and running? Wrong. Hogwash! Your first, largely static, web site with 36 pages can be up in less than a week after you installed your first copy of Drupal. Then it's just a matter of sorting out hosting arrangements and domain names with a helpful hosting provider.

You can do it! Yes, YOU.

Using Drupal.org Site
A few things you need to know before you post anything on Drupal.org site:
  • Search to see if the subject you care about has already been covered. That is to avoid having duplicate postings & issues.
  • Put only one question subject for each posting, this can shorten the time and make it easier for you get an answer.
  • If you don't understand the responses to your question, don't hesitate to ask again and add "I'm a newbie, can you say this in easier to understand terms?"
  • When loking for help, read the tips for posting in the Drupal Forums. Try to completely describe your situation/case. Explain what you have done so far and exactly what you want to do.
  • For example, if a page is not showing up correctly, it could be:
    1. Browser problem, so make sure you tell the reader what browser you're using. (Name, Version ...Plugins ..)
    2. Always mention which release of Drupal you're using (4.7.x, 5.x, 6.x etc)
    3. Any contributed modules you're using(add version) that may be at play.
    4. Also wouldn't hurt to know which version of PHP and MySQL you're using(or your Hosting Provider).
Here some basic resources:
  1. Terminology (Terms).
  2. Drupal Jargon.
  3. Common english expressions & acronyms
  • Node: This is, in simple terms, a unit of content. It may for example be a "page," "story," "book page," or "blog entry." These different types of content are also referred to as "Content types".
  • Theme: This is the way your site is displayed (or rendered) to the end-user. The graphic look, layout and colors of Drupal sites are defined by the themes.
  • Block: This is a "container" for pieces of content on your displayed page. You may also have "Recent posts," "Sponsor links," or "Who's online."
  • Menu:A menu displays a list of links. Drupal menus are often located in a column on the left. For example, your navigation menu.
Typing Convention
Throughout this site, as well as the Drupal site, you will see things like Administer >> Access control >> User management >> Roles. This means click on "Administer" in the navigation menu, then "Access control," then "User management," and then "Roles."

Occasionally you will see refer to "production" or "live" sites. These terms are pretty much interchangeable. The latter term is more modern and accepted in reference to web sites and means: "the site that your end-users interact with". The former term is largely synonymous but is a more "traditional" data processing term.

Some Preliminary Advice

These are some recommendations before you start with Drupal:

  • Never try anything for the first time on a live site. Use a test site that uses the same modules and same data (different database).
  • Don't try to make the "perfect site" on your first shot. Muddle through for a while until you understand a better way. Stressing over the perfect solution will slow you down.
  • Start by learning and using the basic functionality of Drupal. Find what it can do first before working towards exactly what you want it to do. Once you are confident with "core" features, you may start to use more complex contributed modules like: Views, Category, CCK, and Organic Groups modules.
    These modules and some others require a good bit of understanding to master and it might discourage you if you try to dive in too fast. However, over time you will come to realize that these are some of the most powerful and flexible modules out there. [Nancy's note: also stay away from access control (security) modules until later. They can really destroy your site if you don't know what you're doing.]
  • Customize one of the default themes before creating your own, the Theme Developer's Guide in the handbook is a big help.
  • When you run into a problem with a module, make sure to read the "readme," then do several searches with different terms. Only rarely have my problems not already been answered in the forums or in an issues queue.
  • Use google search in this most effectively way:   subject    site:drupal.org You can often quickly find your issue - and solutions to it - already posted somewhere.
  • To make a site really successful, make it work for the users, not against them. Once you have the basic site set up, get your friends, family, or anyone who will talk to you to look at your site and give honest feedback, or do user testing for a more formal approach (I run a company intranet and I do user testing every couple of months).
  • Participate in the forums when you can. It's surprising how explaining something to someone else helps you understand it yourself.
  • Go easy on what I call "gadgets" such as useless blocks, images, and graphics that clutter the page. I prefer simplicity and I only place something on the page if it is needed. This of course depends on your application.

Good Luck!

Drupal Is Supposed to be Easy?

Drupal is very powerful and flexible. That means it must have a significant degree of complexity. Do you think the folks at Myspace don't have their terminology or managed to roll out that site in a day? I don't know who told you Drupal was easy, but many people make it harder than it has to be by thinking they need to understand everything at once.

Terminology is necessary in order to properly convey what one is trying to say or ask. If you talk about "that box-like thingy on the right side of my screen" you could be referring to many things. Contrast that with "the Author Information block in the right sidebar" - now you are precise and everyone knows exactly what you mean. You've told them what it is, where it is, and even how it got there and part of how you've styled it.

Start by trying to understand the basic parts of Drupal, don't try to understand everything at once. For example, it is imperative that you know what a node is (look in my book). Then understand what content types are. Learn the basic parts of the rendered page (header, footer, left and right sidebars, and the center, or content areas). Check out the administration pages so you have some idea where things are, even if you don't understand them all today.

It's all fine and good to have "MySpace" as your target, but you are one person with a new tool. The people that put that together are many and using tools that they already were familiar with. (BTW, I find MySpace to be rather illogical.)

Just start by getting something up and visible. Then celebrate that you've done that. Now you're ready to move on to more wonderful things, but do it one step at a time. Don't add tons of modules right away; get comfortable with what you have. Add modules one at a time and get familiar with them - one at a time.

As for making Drupal easier and more logical, you're welcome to submit feature requests or explain why something is not done in the most logical manner. But don't demand it, or threaten to abandon Drupal if you don't get it your way. And certainly don't resort to name calling or derogatory comments.

AttachmentSize
drupal_cookbook_10_25_2008.pdf634.87 KB

Encountered a problem in the cookbook

ataxia - November 19, 2008 - 21:12

In section "C. Creating Multiple Sites On a Local Computer", there are instructions for copying an existing database to create a test database.

I kept getting an error ("Duplicate entry '1' for key 1") when I copied the database with these options set as directed:

Verify that the radio buttons are clicked for:
o Structure and data
o CREATE DATABASE before copying
o Switch to copied database
Click on the Go button just below this area.

On my fourth attempt to copy the database, I found that if I selected "Add AUTO_INCREMENT value" in addition to the above options, I was able to copy the database without any problems.

Note: I'm using Drupal 6.x, so this could be something that doesn't apply to 5.x
Another Note: I'm running Linux, so that could also be the reason I was getting this error

 
 

Drupal is a registered trademark of Dries Buytaert.