Add functionality and customize your Drupal application with thousands of projects contributed by our amazing community.
A module is code that extends Drupal's by altering existing functionality or adding new features. You can use modules contributed by others or create your own. Learn more about creating and using Drupal modules.
This suite is primarily a set of APIs and tools to improve the developer experience. It also contains a module called the Page Manager whose job is to manage pages. In particular it manages panel pages, but as it grows it will be able to manage far more than just Panels.
For the moment, it includes the following tools:
- Plugins -- tools to make it easy for modules to let other modules implement plugins from .inc files.
- Exportables -- tools to make it easier for modules to have objects that live in database or live in code, such as 'default views'.
- AJAX responder -- tools to make it easier for the server to handle AJAX requests and tell the client what to do with them.
- Form tools -- tools to make it easier for forms to deal with AJAX.
- Object caching -- tool to make it easier to edit an object across multiple page requests and cache the editing work.
- Contexts -- the notion of wrapping objects in a unified wrapper and providing an API to create and accept these contexts as input.
- Modal dialog -- tool to make it simple to put a form in a modal dialog.
- Dependent -- a simple form widget to make form items appear and disappear based upon the selections in another item.
- Content -- pluggable content types used as panes in Panels and other modules like Dashboard.
The Pathauto module automatically generates URL/path aliases for various kinds of content (nodes, taxonomy terms, users) without requiring the user to manually specify the path alias. This allows you to have URL aliases like /category/my-node-title instead of /node/123. The aliases are based upon a "pattern" system that uses tokens which the administrator can change.
Build forms to collect data from site visitors. Create everything from a simple contact form to a multi-page form with many fields, conditional logic, and email notifications.
Allows generating meta tags for site content, from simpler tags like "description" and "image_src", to more advanced tags like OpenGraph (for Facebook, LinkedIn, etc), Twitter Cards and Dublin Core.
🇺🇦
|
This module is maintained by Ukrainian developers.
Please consider supporting Ukraine in a fight for their freedom and safety of Europe. |
The common denominator for all Drupal modules/profiles/themes that integrate with external libraries.
This module introduces a common repository for libraries in sites/all/libraries resp. sites/<domain>/libraries for contributed modules.
- External libraries
- Denotes libraries ("plugins") that are neither shipped nor packaged with a project on drupal.org. We do not want to host third-party libraries on drupal.org for a multitude of reasons, starting with licensing, proceeding to different release cycles, and not necessarily ending with fatal errors due to conflicts of having the same library installed in multiple versions.
Drupal 7 only has built-in support for non-external libraries via hook_library(). But it is only suitable for drupal.org projects that bundle their own library; i.e., the module author is the creator and vendor of the library. Libraries API should be used for externally developed and distributed libraries. A simple example would be a third-party jQuery plugin.
You need Views if
- You like the default front page view, but you find you want to sort it differently.
- You like the default taxonomy/term view, but you find you want to sort it differently; for example, alphabetically.
- You use /tracker, but you want to restrict it to posts of a certain type.
- You like the idea of the 'article' module, but it doesn't display articles the way you like.
- You want a way to display a block with the 5 most recent posts of some particular type.
- You want to provide 'unread forum posts'.
- You want a monthly archive similar to the typical Movable Type/Wordpress archives that displays a link to the in the form of "Month, YYYY (X)" where X is the number of posts that month, and displays them in a block. The links lead to a simple list of posts for that month.
Views can do a lot more than that, but those are some of the obvious uses of Views.
Views for Drupal 8
Views is in Drupal 8 core! Please open all Views-related issues for your D8 sites in the Drupal core issue queue.
Views for Drupal 6
Views on Drupal 6 is supported by the D6 LTS vendors and not directly supported by the module's maintainers.
This module will allow Drupal to replace textarea fields with the CKEditor 4 - a visual HTML editor, usually called a WYSIWYG editor. This HTML text editor brings many of the powerful WYSIWYG editing functions of known desktop editors like Word to the web. It's very fast and doesn't require any kind of installation on the client computer.
CKEditor 4 is reaching its end-of-life in 2023! CKSource (the maintainer of CKEditor 4) is ending security coverage at the end of 2023, after more than a decade.
To ease the transition to CKEditor 5 (in Drupal 9.5 and Drupal 10.0), it is possible to use the 1.0.x branch of this project until contributed and custom modules are ready. Once Drupal 9 is end-of-life or once CKEditor 4 no longer receives security updates (whichever is earlier), the Drupal core maintainers will no longer provide security coverage for the 1.0.x branch of this module. This project will be marked unsupported at that time.
What is CKEditor?
CKEditor is the far superior successor of FCKeditor. The editor has been rebranded and completely rewritten. It is now much faster (the code has been optimized), loads faster (the number of files has been reduced, so the browser will perform less HTTP requests) and developer-friendly.
Useful links
Upgrades the version of jQuery in Drupal core to a newer version of jQuery.
Stable releases from the 7.x-4.x branch are now the only Supported / Recommended releases; all other branches and releases are deprecated.
The old 7.x-2.7 release was marked as unsupported in early 2023.
This means that using (stable releases from) the 7.x-4.x branch is the only way to benefit from Drupal Security Team coverage.

What is the Admin Toolbar module?
The Admin Toolbar module intends to improve the default Toolbar (the administration menu at the top of your site) to transform it into a drop-down menu, providing a fast access to all administration pages.
The module works on the top of the default toolbar core module and is therefore a light module and keeps all the toolbar functionalities (shortcut / media responsive).
A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human. The purpose of CAPTCHA is to block form submissions by spambots, which are automated scripts that post spam content everywhere they can. The CAPTCHA module provides this feature to virtually any user facing web form on a Drupal site.
Fieldgroup will, as the name implies, group fields together. 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.
The field group project is a follow-up on the field group module in CCK.
Customers should upgrade to Google Analytics 4.0.2 (Drupal 9.3+), 4.0.1 (Drupal 8+), or 7.x-2.7 (coming soon) before the legacy GA service shuts down July 1st 2023
Adds the Google Analytics web statistics tracking system to your website.
The module allows you to add the following statistics features to your site:
- Single/multi/cross domain tracking
- Selectively track/exclude certain users, roles and pages
- Monitor what type of links are tracked (downloads, outgoing and mailto)
- Monitor what files are downloaded from your pages
- Custom dimensions and metrics support with tokens
- Custom code snippets
- Site Search support
- AdSense support
- Demographics and Interests support (formerly known as DoubleClick remarketing support)
- Anonymize visitors IP address
- DoNotTrack support (non-cached content only)
- Drupal messages tracking
- Modal dialog tracking (Colorbox)
- Access denied (403) and Page not found (404) tracking
- Cache the Google Analytics code on your local server for improved page loading times
- Enhanced Link Attribution support
- User ID tracking across devices
- Changing URL fragments can be tracked as pageviews
- Debug mode with analytics_debug.js
IMCE is an image/file uploader and browser that supports personal directories and quota.
🇺🇦
|
This module is maintained by Ukrainian developers.
Please consider supporting Ukraine in a fight for their freedom and safety of Europe. |
This package contains both a flexible date/time field type Date field and a Date API that other modules can use.
The Drupal Handbook pages are at Date/Calendar Documentation.
Be sure to read Debugging Information before reporting a problem. Going through those steps may resolve your problems and will help provide enough information to tell if this is a bug.
Provides the ability to create manual redirects and maintain a canonical URL for all content, redirecting all other requests to that path.
Features
- Common API for loading, saving, and deleting redirects.
- Case-insensitive redirect matching with a hook to allow other modules to narrow-down the candidate redirects.
- Redirect counter and last used timestamp, with automatic cleanup of inactive redirects. (Provided by Redirect Metrics in D8)
- Integration with Drupal's page cache to optimize redirects and performance.
- Complete individual redirect access API.
- Views API integration.
- D8: Maintaining a canonical path and redirecting alternative URL's like non-aliased path, path without language prefixes and so on (Previously provided by Global redirect)
- D8: Separate Redirect 404 module that logs aggregated 404 request (can suppress them in the default log) and allows to create redirects from them
- D8: Separate Redirect Domain module allows wildcard and domain redirects
This module extends the entity API of Drupal core in order to provide a unified way to deal with entities and their properties. Additionally, it provides an entity CRUD controller, which helps simplifying the creation of new entity types.
Requirements
- Drupal 7.2 or later; suggested Drupal >= 7.15
Documentation
You can find documentation in the handbooks. Also check the README and the provided API docs in entity.api.php.
Overview
For site-builders
This is an API module, so it doesn't provide any end-user features. However, it provides some entity generic functionality to other modules that site-builders may leverage:
- A Views display plugin and field to render or link to any entity (by view-mode)
- A CTools content plugin to render any entity (by view-mode)
This module provides a bulk operations functionality integrated with Views, with many additional features like clean API for developers, batching and persistent selection comparing to the Drupal 8+ core bulk form. For Drupal 7 it is the only tool providing such features.
Provides an Administrative UI and Developers API for managing the used mail backend/plugin.
The module is ready to be used in Drupal 8, there are no known issues.
Allows to use different backends for formatting and sending e-mails by default, per module and per mail key. Additionally, a theme can be configured that is used for sent mails. In Drupal 7, that must be enabled for each template, in Drupal 8, it works reliably for any template being rendered while building and sending e-mails.
The XML sitemap module creates a sitemap that conforms to the sitemaps.org specification. This helps search engines to more intelligently crawl a website and keep their results up to date. The sitemap created by the module can be automatically submitted to Ask, Google, Bing (formerly Windows Live Search), and Yahoo! search engines. The module also comes with several submodules that can add sitemap links for content, menu items, taxonomy terms, and user profiles.
Overview
Adds a Entity Reference field type with revision support.
It's based on the core Entity Reference module but allows you to reference a specific entity revision. This is useful for modules like Paragraphs and Inline Entity Form.
August 2022
- A new Devel 5 is available. It is the recommended release for Drupal 9 and 10. The webprofiler submodule was moved from Devel to WebProfiler project
- Devel 4 (and prior branches) are now minimally supported.
Overview
Paragraphs is the new way of content creation!
It allows you — Site Builders — to make things cleaner so that you can give more editing power to your end-users.
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. Paragraph Types can be anything you want from a simple text block or image to a complex and configurable slideshow.
Colorbox is a light-weight customizable lightbox plugin for jQuery. This module allows for integration of Colorbox into Drupal.
Images, iframed or inline content etc. can be displayed in a overlay above the current page.
Features
The Colorbox module:
Honeypot uses both the honeypot and timestamp methods of deterring spam bots from completing forms on your Drupal site (read more here). These methods are effective against many spam bots, and are not as intrusive as CAPTCHAs or other methods which punish the user [YouTube].
The module currently supports enabling for all forms on the site, or particular forms like user registration or password reset forms, webforms, contact forms, node forms, and comment forms.
Pages