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.
Tamper is a generic plugin system for transforming data.
Computed Field is a very powerful field module that lets you add a custom "computed fields" to your content types. These computed fields are populated with values that you define in PHP code. You may draw on anything available to Drupal, including other fields, the current user, database tables, you name it. (Feeling the power yet? :) ) This field is literally the Swiss Army knife of fields. So start cooking up your PHP based values!
Lightweight Directory Access Protocol (LDAP) lets you:
The main feature of the project is to provide a field widget for selecting taxonomy terms in a hierarchical fashion.
This module adds clientside validation (aka "Ajax form validation") for all forms and webforms using jquery.validate.
Drupal 8+
A Drupal 8+ version of this module is in active development, a relatively stable beta version is available.
The Drupal 8+ version has been completely re-written and no longer provides an image toolkit. Optimizations are now defined as 'pipelines' that can be applied to images in various ways.
The module has built in support for core Image styles and a service allowing use in third party modules.
The module has been split into several other projects for easier maintainability and more modular installing. At least one or more processor module needs to be installed for the optimization to work.
Open Drupal 8 issues | All issues from all subprojects
Drupal 7
This is a toolkit for ImageAPI. It requires imageapi_gd or imageapi_imagemagick or any ImageAPI toolkit to work.
ImageAPI Optimize allows you to use your preferred toolkit and optimize (losslessly) the image when it is saved. Practice for web performance suggests that images should be optimized for better loading time. With this module enabled, Google's Page Speed will always give you an A in image optimize.
What Is Username Enumeration Prevention
By default Drupal is very secure (especially Drupal 7). However, there is a way to exploit the system by using a technique called username enumeration. Both Drupal 6 and 7 have this issue, but it is much worse for people using Drupal 6. This is because Drupal 6 does not have any built in brute force prevention. When an attacker knows a username they can start a brute force attack to gain access with that user. To help prevent this, it is best if usernames on the system are not easy to find out.
Attackers can easily find usernames that exist by using the forgot password form and a technique called “username enumeration”. The attacker can enter a username that does not exist and they will get a response from Drupal saying so. All the attacker needs to do is keep trying usernames on this form until they find a valid user.
This module will stop this from happening. When the module is enabled, the error message will be replaced for the same message as a valid user and they will be redirected back to the login form. If the user does not exist, no password reset email will be sent, but the attacker will not know this is the case.
Options Element is a module that provides a better mechanism to specify select list, checkbox, and radio button options.
This module provides icons for language links, both for the Language switcher block and (optionally) for node links.
Module description
Protected Pages modules allows the administrator to secure any page by password.
Summary
PHP Authentication shield. It creates a simple shield for the site with Apache authentication. It hides the sites, if the user does not know a simple username/password. It handles Drupal as a "walled garden".
This module helps you to protect your (dev) site with HTTP authentication.
Configuration
If you don't need the authentication just leave the user field blank.
- enable the module
- go to the admin interface (admin/config/system/shield) and fill the form
- nothing else :)
On plain old CGI
Since Drupal 7.23 you don't need any .htaccess modification for CGI (#670454: Support HTTP Authorization in CGI environment) but if you use plain old CGI you still need a modification:
Modify .htaccess, inside <IfModule mod_rewrite.c>
. Add the following line at the beginning of the section:
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
This module provides a Form API element to select a Media entity from the Media Library. This element can be used in all standalone forms.
This module provides an image formatter that allows you to set an image in background of a tag.
Adds in the Panel Button plugin for CKEditor.
SendGrid Integration provides Drupal support to send emails throught SendGrid email delivery service using Web API.
As of Drupal 10.1.x-dev, this module is no longer needed and the "Block Content" core module's permissions can be used instead. See migration notes below.
Better formats is a module to add more flexibility to Drupal's core input format system.
A similar module is available:
Allowed Formats
Features of Better Formats
8.x & 7.x
- Set allowed text formats per field.
- Set default order of text formats per field.
- Hide format tips per role.
- Hide more format tips link per role.
- Hide format selection per role per entity.
- Currently only works on Field API fields on fieldable entities implementing core style text processing. The good thing is that is most things in core and contrib.
The purpose of this module is to secure drupal backend by overriding admin path.
Overview
This module allows you to:
- rename path like '/admin/...' to '/something/...'
- rename path like '/user/..' to '/something else/..'
It can be effective against registration spam bots or malicious people.
Simple hierarchical select defines a new form widget for taxonomy fields to select a term by "browsing" through the vocabularies hierarchy.
The widget is available in node forms and as Views exposed filter.
Often times site builders want certain types of content to appear in a specific position in the navigational menu. The simplest solution, adding all of that content individually to the menu system, has performance and usability issues. (Imagine hundreds of menu items added to one spot in the menu.)
This module allows for the creation of rules that will dynamically add the current page into the menu system at the requested spots.
This includes affecting:
- The main links of the theme
- The secondary links of the theme
- The breadcrumb trail
- Menu blocks provided by core's Menu module
- Menu blocks provided by the Menu Block module
Custom breadcrumbs 10.x
What works:
- ability to add custom breadcrumb for all content entity or paths like page manager, views etc
- store settings using config entity so everything is exportable
- setup homepage link
- setup current page last crumb
- multilanguage support
- token support
- extra cache contexts
- extra vars like nolink and hierarchical breadcrumbs from taxonomy term tree
- added ability to attach breadcrumb to every entity display mode, for example on teaser with search results
- trim breadcrumb length
- ...
Custom Breadcrumbs (7.x-2.x)
Many new features have been added including support for Views, Panels, Taxonomy vocabularies and terms, paths, and a simple API that allows contributed modules to enable custom breadcrumbs for module pages and theme templates. These are implemented using optional, independent submodules that depend on the main Custom Breadcrumbs module.
In addition to breadcrumb visibility, this version provides an option permitting PHP code snippets to be used in forming the breadcrumb titles and paths. Multiple languages are also supported.
Any changes must go in the 7.x version first.
drupal_flush_all_caches()
permission and toolbar button
Pages