In my last blog post, I talked a little bit about the history of Drupal and why it's so cool. Be sure to check it out if you need a bird's-eye view of the forest. In this entry, we're going to get closer to the trees and cover some of the basics of site building.
Let's create stuff.
The vast majority of content created on a Drupal site are in the form of NODES. So if you were to create something like a blog post, the default URL of a node might be something like yoursite.com/node/108. The "108" would be the number of the content created, so it would be the one hundred and eighth node created on the site. In configuration, you can set up the URLs to have a different path, so that the node URL might read "yoursite.com/content/title-of-the-node" which is much cleaner and better for SEO.
CONTENT TYPES help us organize fields into meaningful templates for node creation so that we can funnel users into certain node-creating activity. Let's say you set up a "blog" content type and an "event" content type. To represent these different pieces of information, there will be some differences in the fields utilized. For instance, an event content type will probably have a "location" field where users can record the event address, whereas blogs only require basic information like author name and published date. Fields can also display media (e.g. photos and videos). You will go to the content type section to manage fields and how they are rendered or displayed on actual nodes.
Display all of this stuff.
These content types, fields and even nodes are then accessible by VIEWS. Views is really the most powerful aspect of Drupal, because it gives the site builder an interface to make database queries and basically create customized lists of stuff that can show up in a variety of ways. In my opinion, if you master Views, you master site building in Drupal.
Very simply, the site builder will use Views to create a list of any number of fields or nodes of a particular content type (or more), and then take this display and apply it to any number of areas on the site. The View display can be in the form of a PAGE, BLOCK or PANEL PANE, and it’s up to you to decide which display architecture you want to use. There’s debate as to which is best, but our bias is toward Panels, so check it out!
Fight for the user (and their stuff).
Users who are logged in to the website are called authenticated users, and each user account has an associated email address. Some of these user accounts have permission to do certain things on the site. These permissions are grouped together in these things called ROLES, which are then applied to certain user accounts. Roles can be configured to have the permissions to add some type of nodes, but not others, or see some pages, but not others, etc. An admin role will typically have most, if not all, permissions. An editor role may have many permissions, like approving unpublished content, but it might not have site building access.
Organize this stuff.
TAXONOMY is how we categorize and organize all this content. Taxonomy contains vocabularies that contain terms, which are somewhat like “tags”. One vocabulary might be called “News,” and its terms could be “Current Affairs,” “Business,” “Politics,” etc. Taxonomy is also accessible as a FIELD in the aforementioned content types. So if you're creating a content type you can add a taxonomy field and then configure which vocabulary is applied. This not only helps you organize content so users can easily find stuff, but it's also useful in Views. For instance, you can display a list of a particular content type with all nodes with the taxonomy term banana, so a bunch of event stuff related to bananas will be displayed.
There's a lot of stuff to play with.
Alright, so that was a broad overview. The best way to learn is to spin up a site and start playing around and getting used it yourself. One approach would be to spin up a free site at Pantheon. Pantheon hosts Drupal websites and allows you to start a site with a click of the button! You can spin up a basic Drupal 7 site, or you can (and probably should) play around with the Panopoly distribution. A distribution extends vanilla Drupal with pre-configured functionality that gets you making sites even faster.
Panopoly is still very much Drupal, but it provides a lot of cool customized tools out of the box. It uses Panel panes to organize and arrange displays of content, and it comes with a pop-up Customize This Page IPE (In-Place Editor) to add in fieldable panel panes - standalone fields without a content type - to pages without using Views. It also makes Views easy to interface with by exposing fields to this IPE, so that you can make quick Views on the fly without messing around with the ugly Views UI.
The future of stuff.
See, with distributions like Panopoly we have tools to help NON-site builders create Drupal sites now, but it's still really important to understand Drupal, which as you can see is more than just a CMS (like Wordpress). To reiterate what I said in part one of this series, Drupal is a content management framework. And a powerful one at that.
We are the future, Charles, not them.