July 06, 2016
The ABC's of Drupal: Aliases, Blocks and Content Types
For anyone who's ever looked up a definition of a Drupal term and been left wondering what it all means, here are some practical real world explanations you can use to navigate the Drupalverse. Watch this space and use comments to send us your requests.
Aliases: URLs in Drupal often have multiple addresses or aliases. This helps avoid complex machine generated addresses and makes your pages more search engine friendly. Through a variety of methods aliases can be generated automatically according to predefined patterns and then changed or updated in bulk. It is one of Drupal’s most powerful features and is used for everything from SEO to structuring a site and its navigation.
Block: A block is essentially a container that can hold content, lists of content, code, images or text strings and can be placed into a region on a page. Blocks can be created programmatically by a Drupal module or manually. Core Drupal can be extended with contributed modules that create other containers with different names that can be used by Drupal in a similar manner as blocks. This can become confusing to understand and manage especially when more than one method is used on a site. Blocks are the primary means for managing page layout in Drupal core. Blocks can be placed in a region and then configured to be visible only under specific conditions such as a user’s role or the type of content displayed in the main content region of a given page. Once common, the use of executable code in a block in order to bring about a desired behavior on a page can introduce security risks and management overhead. Justified exceptions should be managed closely. Other methods such as development of a custom module are preferred. The ability to add additional fields to blocks in Drupal 8 makes placing marketing automation and web analytics code in blocks more practical.
Content Type: A content type is a collection of data fields grouped together in a logical set to facilitate content entry and display. Default behaviors, such as preview, publish, save as draft or revision, are set up for each content type. Drupal core is preconfigured with two content types, Article and Basic Page. Users with appropriate permissions can create their own custom types. Think of a content type as the structure of the form you create to save multiple posts. A website about food might have a content type ‘Recipe’ that would include individual fields to collect data about ingredients, quantities, cooking time, etc. The Recipe content type could be used to create hundreds of individual Recipe records.