Drupal Lingo: Modules, and Nodes, and Views! Oh my!

Drupal Lingo: Modules, and Nodes, and Views! Oh my!

When LevelTen was introduced to Drupal back in 2008, I was pretty hesitant. Learning a new CMS is always tedious, but with words like "CCK," "Nodes," and "Modules" being thrown around the office, I thought Drupal was extremely complex. Soon, I realized these words are just fancy names for simple concepts. Drupal Core: The plain-vanilla Drupal install downloaded from Drupal.org. Modifying code in Drupal core is a big NO-NO in the Drupal world. You wouldn't want to kill a kitten now, would you?

Modules: You can think of modules as plug-ins that extend Drupal core. There are two main types of modules: Core modules are included in the default Drupal install and are located in the main "modules" directory in the root directory of the Drupal install. These are do-not-touch-the-code modules, but settings for core modules can be changed in the Drupal admin interface.

Contributed modules extend the features not currently in Drupal core or core modules. These are modules that have been created by users in the Drupal community who have made their code available for use via the Projects section on Drupal.org, like Tom's Content Analysis module. These modules are placed within the "sites" directory instead of the main modules directory.

Themes: Layout and design for a website. Examples:

Themes include template files (to designate what content displays where), CSS, and images for a design. There are three main types of themes: Core themes are themes included in the default Drupal install and are located in the main "themes" directory in the root directory of the Drupal install. These are themes that should not be modified in their place, but they can be copied to a "themes" directory within "sites" in order to modify them. Contributed themes are themes contributed by users in the Drupal community and can be downloaded from the Projects section on Drupal.org. These themes are placed within the "sites" directory and can be modified as needed. Custom themes are themes created by scratch or modified contributed themes. LevelTen usually creates custom themes for our clients based on Photoshop mockups. Regions: The specific areas of a website that content can be placed. You may want content to appear in the "Right Sidebar" region, the "Header" region, or the "Footer" region, for example. Regions can be customized and styled in the theme.

Blocks: Containers of content (either static or dynamic) which can be placed into Regions.

Nodes: A piece of content. A node can be as simple as a Page with fields for only a title and body or as complex as a Event with additional fields for image, date, time, location, price, etc.
CCK/Content Types: CCK stands for "Content Construction Kit" and is a contributed module that allows you to create new Content Types and fields for those Content Types. New Content Types can be created when Page fields (title and body) do not suffice. For example, in the Node example above, I could add a new "Event" Content Type and add fields for image, date, time, etc. using the CCK module. Note: The CCK module is a core module in Drupal 7.

Views: Allows you to manipulate what content is displayed on a page, block, and more. If you are familiar with database queries, Views is essentially creating database queries based on settings you have made in the Views user interface. For example, if you wanted an Event listing to pull in only the Date and Title of the Event, and limit it to 5 listings, you could accomplish this with Views.

Taxonomy, Vocabulary, Terms: "Taxonomy" is a Drupal core module which allows you to create "Vocabularies" that include "Terms." A taxonomy structure might look like this: Vocabulary: Events Terms:
  • Webinar
  • Seminar
  • Tradeshow
  • Conference
Vocabulary: Documents Terms:
  • Whitepaper
  • User Manual
  • Case Study
  • Brochure
See the Glossary page or Terminology page on Drupal.org for more lingo.