Drupal projects
There are galaxies of Drupal projects, here is a short list of stable modules an themes that can apply to common use cases + a few distributions. Most modules can interact together.
More projects can be discovered via the Project Browser (opens in a new tab) initiative.
Modules
Modules are providing most of the time a single feature. They can work on their own or collaborate with other modules.
Developer Experience
Name | Description |
---|---|
Devel (opens in a new tab) | Enhances most development tasks, exposes them as Drush commands and improves var dumping with libraries like Kint. |
Module Builder (opens in a new tab) | Generates a skeleton or "scaffolding" for a module, along with hints on how to fill them in. Useful for newbie developers to learn how Drupal code works, and seasoned developers who are too lazy to look up what arguments a function has to take. |
Stage File Proxy (opens in a new tab) | Get production files on a development server on demand instead of rsyncing everything. |
Web Profiler (opens in a new tab) | Adds a toolbar at the bottom of every page and shows you all sorts of stats such as the amount of database queries loaded on the page, which services are used and much more. |
Backup and Migrate (opens in a new tab) | Backup and restore your Drupal site. |
Masquerade (opens in a new tab) | Allows site administrators (or anyone with enough permissions) to switch users and surf the site as that user (no password required). |
Config Pages (opens in a new tab) | You don't need to code anymore to get settings forms for your module or any other custom configuration. |
Config Ignore (opens in a new tab) | Ignore certain configuration items from being imported. Typically when config should be regarded as content and not part of the repo. Example usage: exclude configuration translation or Webforms. You might also consider the Configuration Split (opens in a new tab) module. |
Examples for developers (opens in a new tab) | Examples for Block, Cache, Config and Content Entity, Cron, Database API, Email, Events, Form API, Field, Field Permission, File, Hooks, Javascript, Node Type, Page, Pager, PHPUnit, Plugin Type, Queue, Simple Test, Stream Wrapper, Table Sort, Testing, Tour. |
Reroute Email (opens in a new tab) | Intercepts all outgoing emails from a Drupal site and reroutes them to a predefined configurable email address. |
Event Condition Action (opens in a new tab) | Create rules that are triggered by events. Some excellent video tutorials (opens in a new tab) from the maintainers. |
Editorial Experience
Editorial solutions
Layout
Name | Description |
---|---|
Layout Builder (opens in a new tab) (core) | Allows content editors and site builders to easily and quickly create visual layouts for content display |
Paragraphs (opens in a new tab) | Instead of putting all their content in one WYSIWYG body field including images and videos, end-users can now choose on-the-fly between pre-defined Paragraph Types independent from one another |
Gutenberg (opens in a new tab) | Brings the powerful admin features of Gutenberg Editor |
Storage (opens in a new tab) | Lightweight, fieldable, revisionable and translatable content entity type to manage data that does not logically fit into the concept of a node, paragraph or media entity |
Gutenberg and Layout Builder are gaining growing support in the community
- There is a plan to decouple Layout Builder with React (opens in a new tab)
- Gutenberg integration with Drupal is well maintained and recently received funding for its development (opens in a new tab)
Workflows / Content Moderation (core)
The Content Moderation (opens in a new tab) module allows you to expand on Drupal's "unpublished" and "published" states for content. It allows you to have a published version that is live, but have a separate working copy that is undergoing review before it is published. This is achieved by using Workflows to apply different states and transitions to entities as needed.
UI improvement
Name | Description |
---|---|
Admin Toolbar (opens in a new tab) | Dropdown menu to most administrative tasks and other common destinations. |
Linkit (opens in a new tab) | Eeasier interface for internal and external linking with wysiwyg editors by using an autocomplete field. |
Field Group (opens in a new tab) | All fieldable entities will have the possibility to add groups to wrap their fields together. Fieldgroup comes with default HTML wrappers like vertical tabs, horizontal tabs, accordions, fieldsets or div wrappers. |
Images
Name | Description |
---|---|
Image Widget Crop (opens in a new tab) | Crop your image directly when you edit your content. |
Focal Point (opens in a new tab) | Set a focal point on an image and generate derivatives with the focal point as the center of the image. |
Responsive Image (opens in a new tab) | Image styles depending on the breakpoint. |
Forms
Name | Description |
---|---|
Webform (opens in a new tab) | Powerful form creation with many use cases. |
SwiftMailer is deprecated but still used widely. If you are starting a new project, favor SymfonyMailer.
Name | Description |
---|---|
SymfonyMailer (opens in a new tab) | HTML support, attachments, embedded images, transport configuration (for transactional email / custom SMTP) and much more. |
Spam control
Name | Description |
---|---|
Antibot (opens in a new tab) | Lightweight module designed to eliminate robotic form submissions on your website in an innovative-fashion |
Honeypot (opens in a new tab) | Uses both the honeypot and timestamp methods of deterring spam bots from completing forms |
reCAPTCHA (opens in a new tab) | reCaptcha integration |
Spamspan (opens in a new tab) | Obfuscates email addresses to help prevent spambots from collecting them |
Search
Name | Description |
---|---|
Search API (opens in a new tab) | Provides a framework for easily creating searches on any entity known to Drupal, using any kind of search engine |
Search API Solr (opens in a new tab) | This module provides a Apache Solr backend for the Search API module |
Facets (opens in a new tab) | Allows site builders to easily create and manage faceted search interfaces |
SEO
Name | Description |
---|---|
Metatag (opens in a new tab) | Automatically provide structured metadata, aka "meta tags", about a website |
Pathauto (opens in a new tab) | Automatically generates URL/path aliases for various kinds of content |
Simple XML sitemap (opens in a new tab) | Sitemaps generated by this module adhere to the new Google standard regarding multilingual content by creating hreflang sitemaps and image sitemaps |
Translation
Drupal is fully multilingual out of the box, it just requires to enable a few modules and configure them. Then all that you need is to add languages.
Here are a few multilingual module that improves the translation experience.
Name | Description |
---|---|
Translation Management Tool (opens in a new tab) | Provides a tool set for translating content from different sources. The translation can be done by people or translation services of all kinds. It builds on and uses existing language tools and data structures in Drupal and can be used in automated workflow scenarios |
TMGMT DeepL Integration (opens in a new tab) | Integrates the DeepL API with the Translation Management Tools (TMGMT) module |
Web services and decoupling
Name | Description |
---|---|
JSON:API (core) | Exposes entities and other resources with the JSON:API standard. |
GraphQL (opens in a new tab) | Exposes entities and other resources as GraphQL data. |
RESTful Web Services (core) | Exposes entities and other resources as JSON data. |
Security
Name | Description |
---|---|
Role Delegation (opens in a new tab) | Allows site administrators to grant specific roles the authority to assign selected roles to users, without them needing the administer permissions permission. See also the Role Assign (opens in a new tab) module that might be more suitable for smaller sites. |
Security Review (opens in a new tab) | Performs a set of tests to verify the site's security and provides a report with recommendations and security measures |
Site Audit (opens in a new tab) | Static site analysis that generates reports with actionable best practice recommendations |
Password Policy (opens in a new tab) | Allows administrators to force users to change their password on a regular basis and define criteria for strong passwords |
Security Kit (opens in a new tab) | SecKit provides Drupal with various security-hardening options. This lets your mitigate the risks of exploitation of different web application vulnerabilities |
Content Security Policy (opens in a new tab) | Allows administrators to set a Content-Security-Policy header to control resources the browser is allowed to load for a website |
Hacked! (opens in a new tab) | Scans the currently installed Drupal, contributed modules and themes, reports status and provides directions on how to correct any found issues |
Analytics
Name | Description |
---|---|
Matomo Analytics (opens in a new tab) | Integrates the Matomo web analytics system |
Google Tag (opens in a new tab) | Add Google Analytics and Tag Manager |
Themes
Themes allow you to change the look and feel of the frontend or the backend and can be used as is or via inheritance.
Frontend
Olivero (core) is the default frontend theme for Drupal. It is a modern theme with a focus on accessibility and usability.
Backend
Claro (core) is the default backend theme. It can be extended by the Gin Admin Theme (opens in a new tab).
A radically new UI layout paired with goodies like a Darkmode will give your Drupal's Admin interface a facelift. The Gin theme also includes things which are currently out of scope for Claro and/or some customisations we're experimenting with for the future. Built on the foundation of Claro from one of the lead designers of Claro & Drupal Design System.
Search Drupal Themes (opens in a new tab)
Distributions
Distributions are a well tested assembly of projects (modules, themes) dedicated to a specialized use case. Here is a short list of various use cases.
Name | Description |
---|---|
Thunder (opens in a new tab) | Distribution for professional publishing. |
Varbase (opens in a new tab) | Comes with more than 100 features and enhancements to Drupal core |
Open Social (opens in a new tab) | Community Engagement Platform |
Commerce (opens in a new tab) | eCommerce framework |