Drupal 101: An Introduction

Drupal 101: An Introduction

What is Drupal?

Drupal is a flexible and powerful framework for developing any type of custom website. Technically speaking, Drupal is considered an open-source content-management-framework.

It’s worth noting the use of the term ‘content-management-framework’ in this description. A more informal term of ‘content-management-system’ (CMS) is often used to describe platforms like Drupal or Wordpress. But a content-management-system is a bit more limited in focusing on managing pages and manipulating content. The term ‘framework’ is deeper in that it is not only a CMS but also a platform upon which to build custom web applications. Drupal can not only support content-management-systems but also complex custom web applications. It’s a deeper, more flexible platform and the wide range of its applications are only limited by the imagination of its enthusiasts.

Further, what’s really exciting is that as an open-source project, Drupal is supported by thousands of talented developers and continually improving. Each new version of Drupal sees performance improvements, intelligent new feature integrations, design enhancements and a more robust, lightweight code base. You can rest assured that in working with Drupal, you are at the forefront of web technology.

Drupal is built using the PHP programming language, which is the most popular programming language for the web.

Content Types

Within Drupal, different types of content are distinguished by their content type name. The ‘Story’ content type typically includes a title and body of information.

Before you build your Drupal website, think critically about the types of content you will include within the website.

For example, if your website includes a listing of restaurants, you may want to include the following fields for this content type: Restaurant Name, Location, Menu and Map. The ‘Story’ content type would be insufficient and it would be best to create a new content type to represent restaurants.

The default content types for Drupal are typically the following: Story, Page, Blog, Book, Comment, Forum and Poll.

Each piece of content is represented as a ‘node’ in Drupal terminology. The data for each content node is stored in multiple unique tables in the database.

In the process of building themes, you have the option of displaying all or only some of the data pulled in by Drupal.

Thinking ahead while you build your template will help you plan for a fluid design. It’s important to consider all elements that you plan to include in your website. With the restaurant example above, if you’d like to include a map location for each restaurant, set aside space for that in that page’s template upfront.

Regions

You can identify specific areas of your web pages in your template through the use of regions. Some regions of your site will be consistent from page to page – the logo, main navigation, footer. Other regions will change from page to page – the content and sidebar, as examples. As the developer, you have the ability to define as many regions as you would like for your website.

When you are turning your custom web page design into a Drupal-based website, you have a few different options as you form a Drupal theme:

• Build a custom theme from scratch.
• Integrate into an existing premade Drupal theme.
• Convert existing website template into a Drupal theme.

HTML, CSS, JavaScript

HTML describes the structure of each element on the page; CSS controls the styling and design of elements; and JavaScript enables interaction and simple animations. It’s worth noting that jQuery is a popular JavaScript library that provides powerful functionality through few lines of code. jQuery is commonly used throughout Drupal.

Understanding HTML, CSS and Javascript will assist you in developing your Drupal theme to your liking. Expertise in each isn’t required but a solid understanding on the scope of each language will be helpful in your theme development.