Site Building
Topic

Drupal Core Modules for Drupal 8, 9, and 10

A module is a set of PHP, JavaScript, and/or CSS files that extends site features and adds functionality. The Drupal core software comes with a set of modules that provide functionality such as managing users, content, entity structure, navigation menus, and creating lists and blocks from existing content. Learn more about the concept of modules in the Drupal User Guide.

Tip: Install the core experimental Help Topics module on a Drupal site for explanations and step-by-step instructions for many core modules.

Example tasks

  • Add or remove functionality by installing or uninstalling core modules.
  • Understand the functionality and features Drupal provides out-of-the-box in core modules

Confidence

Drupal core modules are stable within a major release. Experimental modules may be added during scheduled minor releases. Features and bug fixes are added in minor or patch releases. Some core modules have been part of Drupal for a very long time and may be only minimally maintained. See the issue queue for Drupal core to view the status of features or bugs.

See also Deprecated and obsolete extensions.

Drupalize.Me resources

Categories
Basics, Site Building, Site Administration, Community
Drupal 8, 9, and 10
Drupal 8, 9, and 10
More information

Overview of modules and the functionality they can be used for.

Drupal 7, 8, 9, and 10
More information

Modules are bundles of primarily PHP code that extend Drupal in order to add new features or alter existing functionality.

Blocks

Topic
Drupal 7, 8, 9, and 10
More information

A block is a reusable widget that is placed inside regions (layout containers) of your theme. Blocks can be used by site administrators on the Block layout admin page or provided by a module using the Plugin API.

Drupal 8, 9, and 10
More information

Caching in Drupal is controlled by Drupal's Cache API which is used to store any type of data on a permanent or temporary basis. Some types of data tend to take a long time to compute, but utilizing the Cache API in your module can help your site load data more quickly.

Comments

Topic
Drupal 7, 8, 9, and 10
More information

Comments are a content entity type that allows users to leave commentary associated with a specific piece of content.

Categories
Drupal 8, 9, and 10
More information

Use the Configuration API to access configuration data stored by a module, provide default configuration, create settings forms, and other tasks such as overriding settings for a local environment.

More information

Drupal's content moderation and workflow tools allow you to configure and support a flexible multistep publication process.

Drupal 7, 8, 9, and 10
More information

A content type is a subtype of the [content entity](link to Entity topic). When a content creator goes to add new content to the site, they are presented with a list of content types to choose from to get the appropriate form to fill out.

Drupal 7, 8, 9, and 10
More information

Learn to use data from your Drupal site to create customized lists in various forms, such as bulleted lists, grids, calendars, or sliders.

Entities

Topic
Drupal 7, 8, 9, and 10
More information

Entities are the fundamental building blocks that make up any Drupal site. Having a good understanding of the Entity system is an important part of ensuring the data model of your Drupal site is set up properly.

More information

Fields are the building blocks of Drupal's powerful content modeling system. The Field API allows for the development of custom field types to suit almost any data display and collection needs.

Categories
Drupal 8, 9, and 10
More information

The Migrate API can be used to import content from an older Drupal site (Drupal 7 or older), or any other data source, into the current version of Drupal.

Layouts

Topic
Drupal 7, 8, 9, and 10
More information

A layout can describe how various components are arranged on various levels—from an entire page from the header to the footer, to just the “middle” where the dynamic content goes, to individual components. It can apply to templates for managed content or one-off designs for landing pages.

More information

Learn about Drupal’s configuration system and how to manage configuration with both the administrative user interface and command-line tools.

More information

Many sites require the ability to upload, manage, and display various assets like files, images, videos, and audio.

Menus

Topic
Drupal 7, 8, 9, and 10
More information

A site’s main navigation elements, whether they be in the header, footer, or sidebar, are composed of links built using Drupal's menu system. Drupal allows site administrators to build menus while also allowing module developers to add and alter menus in code.

More information

Upgrading is the process of moving your site from a previous major version of Drupal to a newer version, for example from Drupal 7 to Drupal 8 or Drupal 9 to Drupal 10.

Drupal 7, 8, 9, and 10
More information

A multilingual site has more than 1 language that users interact with, either through the content, the user interface, or both.

Categories
Drupal 7, 8, 9, and 10
More information

Responsive web design is a set of design approaches and development best practices that ensures that a web design can be used on many types and sizes of devices.

Search

Topic
Drupal 7, 8, 9, and 10
More information

Search provides internal site keyword search for content and users.

Taxonomy

Topic
Drupal 7, 8, 9, and 10
More information

Taxonomy in Drupal provides a way to classify your site’s content. Taxonomy vocabularies are created with terms within those vocabularies.

Drupal 7, 8, 9, and 10
More information

Drupal includes the PHPUnit testing framework. This enables us to write unit and functional tests to attempt to minimize the number of bugs in our application.

Drupal 7, 8, 9, and 10
More information

Drupal manages information and access for all visitors to your site, called users, through a system of roles and permissions.

Guides

Not sure where to start? Our guides provide useful learning tracks for all skill levels.

Navigate guides

External resources

Tip: Install the core experimental Help Topics module on a Drupal site for explanations and step-by-step instructions for many core modules.

Core

  • Actions: Allows configuration of tasks to be executed in response to events. Docs
  • Activity Tracker: Enables tracking of recent content for users. Docs
  • Aggregator: [Removed in Drupal 10] Gathers and displays syndicated content (RSS, RDF, and Atom feeds) from external sources. Docs
  • Automated Cron: Provides an automated way to run cron jobs, by executing them at the end of a server response. Docs
  • Ban: Allows administrators to ban visits from specific IP addresses. Docs
  • Big Pipe: Sends pages using the BigPipe technique that allows browsers to show them much faster Docs
  • Block: Controls the visual building blocks a page is constructed with. Blocks are boxes of content rendered into an area, or region, of a web page. Docs
  • Book: Allows users to create and organize related content in an outline. Docs
  • **Breakpoint **: Manages breakpoints and breakpoint groups for responsive designs. Docs
  • CKEditor: [Removed in Drupal 10] WYSIWYG editing for rich text fields using CKEditor. Note: CKEditor 4 will reach end-of-life at the end of 2023. Docs
  • CKEditor 5: WYSIWYG editing for rich text fields using CKEditor 5. Docs
  • Color: [Removed in Drupal 10] Allows users to change the color scheme of compatible themes. Docs
  • Comment: Module description from module.info.yml file. Docs
  • Configuration Manager: Allows administrators to import and export configuration changes. Docs
  • Contact: Provides site-wide contact forms and forms to contact individual users. Docs
  • Content Moderation: Provides moderation states for content. Docs
  • Contextual Links: Provides contextual links to directly access tasks related to page elements. Docs
  • Custom Block: Allows the creation of custom blocks and block types. Docs
  • Custom Menu Links: Allows users to create menu links. Docs
  • Database Logging: Logs system events in the database. Docs
  • Dynamic Page Cache: Caches pages, including those with dynamic content, for all users. Docs
  • Field: Field API to add fields to entities like nodes and users. Docs
  • Field UI: Provides a user interface for the Field module. Docs
  • Filter: Filters content in preparation for display. Docs
  • Forum: Provides discussion forums. Docs
  • Help: Manages the display of online help. Docs
  • History: Records which user has read which content. Docs
  • Image: Defines a field type for image media and provides display configuration tools. Docs
  • Inline Form Errors: Places error messages adjacent to form inputs, for improved usability and accessibility. Docs
  • Layout Builder: Allows users to add and arrange blocks and content fields directly on the content. Docs
  • Media: Manages the creation, configuration, and display of media items. Docs
  • Media Library: Enhances the media list with additional features to more easily find and use existing media items. Docs
  • Menu UI: Allows administrators to customize the site navigation menu. Docs
  • Node: Allows content to be submitted to the site and displayed on pages. Docs
  • Path: Allows users to rename URLs. Docs
  • Quick Edit: [Removed in Drupal 10] In-place content editing. Docs
  • RDF: [Removed in Drupal 10] Enriches your content with metadata to let other applications (e.g. search engines, aggregators) better understand its relationships and attributes. Docs
  • Responsive Image: Provides an image formatter and breakpoint mappings to output responsive images using the HTML5 picture tag. Docs
  • Search: Allows users to create search pages based on plugins provided by other modules. Docs
  • Settings Tray: Allows users to directly edit the configuration of blocks on the current page. Docs
  • Shortcut: Allows users to manage customizable lists of shortcut links. Docs
  • Statistics: Logs content statistics for your site. Docs
  • Syslog: Logs and records system events to syslog. Docs
  • System: Handles general site configuration for administrators. Docs
  • Taxonomy: Enables the categorization of content. Docs
  • Text Editor: Provides a means to associate text formats with text editor libraries such as WYSIWYGs or toolbars. Docs
  • Toolbar: Provides a toolbar that shows the top-level administration menu links and links from other modules. Docs
  • Tour: Displays guided tours of the site interface. Docs
  • Update Manager: Checks for available updates, and can securely install or update modules and themes via a web interface. Docs
  • User: Manages the user registration and login system. Docs
  • Views: Create customized lists and queries from your database. Docs
  • Views UI: Provides a user interface for creating and managing views. Docs
  • Workflows: Provides an interface to create workflows with transitions between different states (for example publication or user status) provided by other modules. Docs

Core (experimental)

  • Field Layout: Allows users to configure the display and form display by arranging fields in several columns. Docs
  • Help Topics: Displays help topics provided by themes and modules. Docs
  • Workspaces: Allows users to stage content or preview a full site by using multiple workspaces on a single site. Docs

Field types

  • Datetime: Defines datetime form elements and a datetime field type. Docs
  • Datetime Range: Provides the ability to store end dates. Docs
  • File: Defines a field type for files. Docs
  • Image: Defines a field type for image media and provides display configuration tools. Docs
  • Link:Provides a simple link field type. Docs
  • Options: Defines selection, check box and radio button widgets for text and numeric fields. Docs
  • Telephone: Defines a field type for telephone numbers. Docs
  • Text: Defines simple text field types. Docs

Migration

  • Migrate: Handles migrations Docs
  • Migrate Drupal: Contains migrations from older Drupal versions. Docs
  • Migrate Drupal UI: Provides a user interface for migrating from older Drupal versions. Docs

Multilingual

  • Configuration Translation: Allows users to translate configuration text. Docs
  • Content Translation: Allows users to translate content. Docs
  • Interface Translation: Translates the built-in user interface. Docs
  • Language: Allows users to configure available languages. Docs

Web Services

  • HAL: [Removed in Drupal 10] Serializes entities using Hypertext Application Language. Docs
  • HTTP Basic Authentication: Supplies an HTTP Basic authentication provider. Docs
  • JSON:API: Exposes entities as a JSON:API-specification-compliant web API. Docs
  • RESTful Web Services: Exposes entities and other resources as RESTful web API. Docs
  • Serialization: Provides a service for (de)serializing data to/from formats such as JSON and XML. Docs