A name for everything
Drupal is an open-source content management system awash in accolades for its flexibility and power. That said, some of the terminology that Drupal's creators and users make use of can sound a bit odd. In fact, I'm tempted to go ahead and replace a bunch of those terms with more sensible ones, but that would cause you trouble when reading resources outside of this site.
So let's learn a few key words that Drupal uses. That will make it easy for you to understand instructions from any source, and talk with other users and experts.
Remember: Special "Drupal words" get capitalized in this manual (though not generally in other resources). A "page" is any web page; a "Page" is what Drupal calls a specific type of content. And so on.
If any of the definitions here are incorrect or if more words need defining, please speak up!
It's out of alphabetical order, but this one comes first. "Node" is a key piece of terminology in Drupal. Each "piece of content" you create is usually stored as a node. Typically this will be an "article" of some sort, such as a blog posting, a news story, a corporate info page, and so on. But Drupal allows many kinds of nodes, including polls, forum topics, ratable product reviews, and much more.
Building a site with Drupal is largely about creating and then manipulating nodes: you create the nodes that are the meat of your site, and then tell Drupal where and how to make those nodes appear as part of the site. Naturally, you can also tell Drupal to keep a node hidden (as a work-in-progress draft, for example), delete a node, and so on.
There's no need to capitalize "node" in this text, as it's not going to be confused with any other use of the word.
This is a "computer-sounding" word that puts fear into some newcomers, but it's nothing sinister. Managing your site – adding or changing what's on it, modifying how it works, and so on – is administering the site. That's what you'll be doing, with more ease than you may have thought possible. You're ready to become an...
administrator (or admin)
A person who is authorized to edit or otherwise manage the site. Drupal allows many levels of administrators – some with permission to tweak only a few things on the site, others with permission to do just about anything. Sufficiently high levels can set what lower levels are allowed to do. See roles.
Feel free to use abbreviations here, like most Drupal users: An administrator with administrative duties for the site she administers is an admin with admin duties for the site she admins.
See path, alias, and URL.
A typical site has its "main" information displayed as a node, or a list of nodes, in the center. But there may also be menus, lists, links, ads, and other information off to the sides of the page. These things are organized into "blocks", and you're in control of them on your site: you can create, modify, and relocate blocks. You can of course turn them on or off, too – even for specific pages only.
A sample block containing a site's main menu.
As used by Drupal, "block" shouldn't get confused with other uses of the word, so there's no need to capitalize it.
A browser is a program used for viewing web pages: Firefox, Safari, Internet Explorer, OmniWeb, and so on. (If you refer to that software as "the Internet", please stop.)
One of the great things about your Drupal site is that you also administer it using the same browser; no separate software is required.
Content is a vague word. It's the stuff you fill your web site with: news, stories, photos, you name it. Most content on a site is typically text or images, though your content may include streaming movies, downloadable files, and other more exciting things.
Much of your content will exist as nodes (see above), with each node being a specific story, article, blog post, poll, etc. But everything placed within blocks, menus, and so on is also content.
The strange name of the content management system you'll be working with. Drupal is used to make countless dynamic web sites, including this one. Drupal lets the administrator – you – command how and when your content appears, in what configuration, to what viewers. And that's just for starters. Drupal is a very flexible and powerful system. (It's not the easiest to get started with, though, which is where many beginners appreciate a helping hand.)
The online headquarters for Drupal developers and users is www.drupal.org.
A field is a text box, check box, etc. into which you (or another user) inputs data. When you log in, you type your ID and password into the appropriate fields. When you create a new node, you input its title, body text, and so on into the appropriate fields, inside a form that's full of fields. And so on.
I use this word to mean pages that are for editing content or settings. A form could be a page for creating content (a blog posting, an article, etc.), or could be a page for modifying site settings (such as setting the position of blocks).
The first page that site visitors see. Many sites use the front page to display a list of nodes: blog postings, news, products, anything. But users with a little skill can also create a custom front page, such as a single large "splash page" image.
A menu that appears to an administrator when logged in. The menu appears in a block headed by your user name, and contains links to all the important forms you need to create content, administer the site, log out, and more.
See node at the top of this list.
There's no accepted name for this, so I'm making one up. A node-list page is a page that doesn't present a single node as its focus, but rather lists several nodes, whether full nodes (like complete news stories) or teasers (like the first paragraph of news stories, followed by a 'Read More' link).
As mentioned many times in this manual, I'll try to avoid a common source of confusion, by using "Page" (capitalized) to mean a specific type of node that Drupal calls "page", and by using "page" (uncapitalized) to mean a web page in general.
If you're new to content management systems like Drupal, always keep in mind the big picture: You don't use Drupal to create whole pages, top to bottom, like webmasters did in the old days (you know, a few years ago). You use it to create the "components" of your web site – the nodes that contain your articles, info, etc.; the blocks that add other features; the menus for navigation; and other content – and tell Drupal how to put all those together into pages. Drupal does the actual page creation lifting from there.
A path is the internal "address" of a node, form, or other piece of content that can be specified via the browser. Your site will automatically give such content a path like node/14.
An alias is an alternative, friendlier path, which can be used in place of the less-friendly path that Drupal creates. For example, when Drupal gives your product info page the unexciting URL node/14, you can add the alias product_info.
Note that Drupal administration pages aren't always as consistent in their use of the words; some places freely mix "path" with "alias". Meanings should usually be clear, though. In any case, the usage in this manual is pretty standard tech usage, so capitalization isn't needed.
URL generally refers to the Internet address of a piece of content. For example, sticking with the above examples, visitors can reach your product info page at the URL <your site domain>/node/14 or the URL alias <your site domain>/product_info.
You don't want to give any stranger permission to add, change, or delete whatever they like on your site. A classic, old-fashioend web site lets only a logged-in administrator muck things up, while the rest of the world can only look at content. But in these days of an interactive and social Internet, that's no good; not only might you want to let multiple people perform different administrative tasks, you might even want to let complete strangers have a hand in things, such as leaving comments, creating accounts, and uploading content.
Drupal offers "roles" that let you set groups of users and what each group can or can't do. From the start, Drupal sets up two roles: anonymous user (someone with no user account, or not logged in), and authenticated user (someone with an account and logged in). (Actually, there's a third, though it doesn't show up on Drupal's list of roles: The first account created, called ID 1, makes up a special role that has permission to do anything on the site.)
You can create any number of added roles, and then set what each role can do. For example, you may decide that the anonymous user role can do little beyond look at content, vote in polls, and create comments, while the authenticated user role adds the ability to create image galleries and rate images. You could then create an editor role, which allows creation and organization of articles and polls, and deletion of spammy comments. Finally, you could create a top administrator role, with the ability to manage roles, edit or delete any content, and perform any other needed tasks.
There, a role for every need. Now place each user into the appropriate role, and voilá, chaos becomes order.
Drupal lets you assign keywords, or "Terms", to your nodes. The language it uses to discuss this, however, can be confusing. Here's your guide:
- Taxonomy: This is the overall name for the system Drupal offers to classify and organize nodes in your site by assigning them tags (called Terms; see below). You don't have to use Drupal's Taxonomy features to organize content, but it's usually extremely useful to do so.
- Term: A Term is a keyword or tag that you can associate with a node. Useful Terms include words like "news", "product", "pets", anything you can think of that classifies your content. With Terms to classify your content, you can easily organize it. For example, you can create a menu item called "News from the Pet World", which is set up to display any nodes that have the Terms "news" and "pets" attached – i.e., the articles you've written about pet-related news.
- Vocabulary: A Vocabulary is a number of Terms grouped together for convenience. For example, you might have a Vocabulary called "Product Type", containing Terms like "sweater", "jacket", "socks", etc., for use with any node that describes a product.
- Category: This is a confusing word: some Drupal documents say it means the same thing as Taxonomy, others seem to equate it with Vocabulary. Fortunately, it seems to be dropping out of use, and you may never come across it. This text will avoid it and stick to the words that Drupal is clear on: the "Terms" that act as tags for your nodes, and the "Vocabularies" that are groups of Terms. (But just to keep things complicated: to set and edit your Terms and Vocabularies in Drupal 5, you need to visit a form titled "Categories". Drupal 6 more sensibly labels this form "Taxonomy".)
A teaser (also called an excerpt) is a short form of a node's content, such as its first paragraph or first 100 words. Teasers are commonly used instead of full nodes in lists, as in blogs or news sites.
As an example, you might have a blog's front page display teasers from your last 10 posts, instead of the full posts. Each teaser might be the first paragraph or two from the full post. Readers would click on the post's title, or a "Read More" link, to jump to a page containing the full post.
A Theme is a set of instructions, stored as a number of files on the web server, that define a specific graphic design and layout for your site. The Theme specifies things such as text design, placement of site elements, background colors, and so on. You can choose freely from available Themes, changing the entire look of your site with a couple of clicks. Those with advanced programming and design skills can create new themes.
See path, alias, and URL.
A View is a very powerful, flexible way to create a list of nodes and display the list on a page. Using Drupal's Views function, you set criteria – say, all Blog entries published in the last month by user Jim – and Drupal will return those nodes as a list, called a View. You can also tell Drupal how to present the resulting list – say, titles only, or titles and teasers, all arranged alphabetically or arranged by date or however you like.
Views let you create pages or blocks listing the content you want to present, in the way you want to present, and are a great feature for the Drupal admin to learn.