What is Drupal?
Drupal is a free, open source content management system (CMS) to build and maintain websites, online directories, e-commerce stores, intranets and other types of digital content. It can be used by individuals or groups of users and is a useful CMS for developers, marketers and agencies. Basically, anyone looking to structure and manage their digital content can benefit from Drupal's tools and workflows.
Drupal is a popular and customizable content management framework. This makes it suitable for developing both simple websites and complex web applications. It includes thousands of modules and themes to attract web audiences, grow brand awareness and build a community.
The CMS provides an intuitive, fairly straightforward user interface (UI) to easily create and publish digital content. It accommodates unlimited content types and simple tools to create, edit, retrieve and present this content to end users. In addition, Drupal features a sophisticated user role classification and permissions system to control access to its features and content.
The latest version of Drupal is Drupal 10, which includes tools to build versatile, structured content and deliver dynamic web experiences. Drupal 10 is also an advanced digital experience platform (DXP) with capabilities for content management, personalization, customer journey mapping and customer data management.
Drupal vs. Acquia
Acquia offers enterprise-grade Drupal-based hosting, support and services as a commercially supported instance of Drupal.
Drupal, meanwhile, is released under the GNU Public License. As an open source application, it is free to download and use. In addition, anyone can modify and extend the platform for their specific requirements or content applications.
Key features of Drupal
Drupal is known for its "what you see is what you get," or WYSIWYG, content creation and editing tools. These tools enable technical and nontechnical users to easily author, edit, preview, publish and update content. It also has a theme system to create a customized front end. In addition, Drupal's no-code layout builder includes built-in templates, layouts and a drag-and-drop interface to build pages.
Drupal's media library enables users to add media to a site. They can also update the library with items, including audio, video, images, files and remote content from sites like YouTube or Twitter. Its form builder helps users create simple forms, e.g., contact forms, and complex forms, e.g., multistep application forms.
Drupal also includes features and capabilities for the following:
Layers in Drupal
There are five main layers in Drupal that control how the platform works and how information flows for an application built using Drupal. The bottom or base layer is the data layer. It consists of nodes. Information must first be input as data before it can be displayed on the site.
Modules are the second layer in Drupal. They are functional plugins that build on Drupal's core functionality and can be used for a wide variety of tasks, including customizing data items, setting up an e-commerce store and displaying content. Thousands of modules ship with Drupal, and more continue to be created by the Drupal community.
Blocks and menus are the third layer in Drupal. Blocks usually provide the output from a module. They can also be placed in a template (theme) layout. Menus provide links to all the pages created in Drupal, define the content coming in each menu path and enable navigation.
The second top layer in Drupal is user permissions. Permissions control what a user (role) is allowed to do and see.
The topmost layer is the site theme, also known as the skin. The theme consists of Hypertext Markup Language 5 (HTML5) and Cascading Style Sheets elements, Twig variables and functions that control how modules generate their markup.
Nodes and modules in Drupal
In Drupal, a node refers to a set of related bits of information. It holds the structured information pertaining to a content type, whether it is a website, blog post, news item, static page or something else. Thus, when a new piece of content is created, e.g., a blog post, the node holds all its structured information, such as its title, content, author and creation date.
In addition to nodes, Drupal provides a menu system and taxonomy that create an information architecture. It also provides a theme system and display modules to control how the page or application looks to visitors or end users.
All these elements or layers are kept separate, so the content can be presented -- or hidden -- differently and include different navigation for different users, depending on their specific roles and needs. Developers can also define multiple navigation schemes, create custom themes and designs, and enable or disable comments for the site using Drupal's nodes, themes and modules.
Advantages of Drupal over proprietary software
An advantage of Drupal is that it is both open source and extensible. This means anyone can download and use Drupal and modify it as required. Further, there is no vendor lock-in since users can use Drupal the way they see fit. Also, they can monitor Drupal's underlying code and fix any issues they encounter, e.g., security issues, without having to wait for the release, patches or upgrades.
The Drupal platform accommodates unlimited content types. It also provides highly customizable forms, simple content authoring tools and powerful editing tools to suit any kind of content application.
In addition to CMS functionalities, Drupal also includes web development functionalities. It is aligned with globally accepted object-oriented programming patterns and PHP best practices, as well as HTML5 and YAML standards, to simplify and standardize web development. Developers also get access to thousands of modules and themes to extend the functionality of their applications and get more control over application design and appearance.
Drupal is easy to install and is highly accessible. It also supports multilingual content and provides a multilingual UI. It is collaborative by design, enabling users to create content and collaborate on content creation, site administration and other tasks. Finally, Drupal's modular approach enables nontechnical users to build websites, online stores, blogs and web applications.
Other advantages of Drupal are the following:
- Support for create once, publish anywhere content management.
- Customizable features and modules to suit many types of users and applications.
- Customizable workflows, approvals and revisions that enable users to track content updates and revert to older versions at any time.
- Built-in caching mechanisms to enhance application performance.
Compare seven headless CMS offerings and their key differences, and see when to use a headless CMS and when it's not worth it.