Getting started in Drupal can be daunting. The first hurdle most people encounter is the terminology Drupal uses. Some terms may be completely unfamiliar while others have a different meaning depending on the context. The faster you learn to understand and speak Drupaleze, the easier it will be to communicate with other Drupal developers more effectively. To that end, here are a list of terms commonly used in the Drupal world:
Block - Blocks are a small unit of repetitive pieces of content that get positioned into a region (left sidebar, header, footer, etc.) of a page. For example, a block containing company contact information could be added to the footer of all pages. Or a block containing related products could be added to product detail pages of an online catalog.
Core - Core refers to the files that make up the default functionality of a Drupal site as downloaded from drupal.org. The functionality includes menu management, user management, system administration, design and layout, and a taxonomy system to name a few.
Contrib - Contrib is short for modules and themes that are contributed by community members that add or change functionality or design of a drupal site. These modules and themes can be downloaded from drupal.org at https://drupal.org/download.
d.o - d.o is short for drupal.org (pronounced dee dot oh).
Drush - Drush is short for ‘Drupal shell’ and is a command line utility for Drupal. It enables a person to run commands not possible through the administration pages and to run commands that are available through administrative pages more quickly. For example, it’s much quicker to type “drush cc all” in a terminal window where you’re already spending much of your time than it is to open a browser, navigate to an admin page, and click a button to clear the cache.
Entity - Entities are distinct or independent units of content in Drupal. Common entities include nodes, users, comments and taxonomies.
Feature - Some of Drupal’s configuration settings are stored by default in the database - views settings, site variables, panels layouts, custom fields, etc. Moving these settings back and forth between development, staging, and production databases would be extremely difficult. With the Features module, a developer can bundle related settings together through a point-and-click interface and export them to code. The exported code is downloaded as a module called a “feature” and added to the Drupal site’s codebase where it can be moved between servers and its revisions can easily be tracked.
Hack - A hack refers to changing core or contrib files to alter functionality instead of using Drupal’s hook system, the accepted method for modifying Drupal functionality. Hacking Drupal code makes it difficult to apply updates. This is not considered good practice. A good way to check whether your site has hacked code is to use the Hacked! module - https://drupal.org/project/hacked.
Hook - A hook is a function used in building Drupal modules that allows a programmer to “hook” into existing Drupal functionality and augment or change it.
Module - A module is a packaged set of files that adds or modifies existing functionality when installed. Modules are called plug-ins, extensions, or add-ons in other software projects. And to make it even more confusing, some Drupal modules such as Views and CTools use the term plug-in to describe what other systems might call handlers!
Node - A node is a piece of content corresponding to a page in other systems. Many different node types (or content types) can be set up to collect different information based on the content. For example, an article node could collect a title, body, and tags. An event node could be set up to collect an event title, start and end dates, location, and link to more information. When new content is created, the first step in the process is to choose what kind of content the user wants to create so that the correct fields are displayed to collect the appropriate information.
Role - Roles are a grouping of permissions for accessing, creating, editing, and deleting content and managing different aspects of the site. A role is then assigned to a user and that user has the permissions assigned to the role. For example, if a role name ‘editor’ is given the ability to create and edit articles and the editor role is assigned to Ellen, the links to create and edit articles are displayed to Ellen when she is logged in. If Ellen sends Joe a link to edit an article and Joe doesn’t have the editor role assigned to his account, he will be shown an “access denied” message.
Taxonomy - Taxonomy is Drupal’s system of categorization. Taxonomies are made up of vocabularies which are made up of individual terms.
Theme - The theme is a collection of files and images that make up the design (layout, color scheme, etc) of a Drupal site.
Views - Views is a module that allows users to pull data from the database in a non-technical manner. Using a point-and-click interface, users can generate lists of content while the module does the work of generating the queries behind the scenes. For example, a view could show a list of users that have registered in the past month, or a list of line items on an order form, or a list of unpublished content.
User 1 - User 1 is the super admin user that gets created during installation and has access to all aspects of a Drupal site.
Watchdog - The watchdog module reports system events and errors. Watchdog is a leftover term from Drupal 5. It was replaced by dblog and syslog in Drupal 6 but the term is still often used.
As you can see, things can get confusing in a conversation when a person isn’t familiar with Drupal terminology. One person can be using the word “view” as a generic term to describe display while the other is interpreting the use of “view” as a Views list created by the Views module. Speaking Drupaleze will also ease your entry into the awesome Drupal community. Being familiar with Drupal terminology will enable the amazing folks who offer their time and expertise to better help you when you ask a question in the Drupal support channels such as the Drupal forums and IRC. So, be sure to check out the more comprehensive list of Drupal terms at https://drupal.org/glossary.