35,263 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.

Simple XML sitemap

Every webpage needs an automatic XML sitemap generator for SEO reasons. This module aims to be a replacement for the xmlsitemap module for Drupal 8.
Simple xml sitemap is lighter than xmlsitemap in terms of resources and usability. Its functionality differs from xmlsitemap, see this post for details.

Sitemaps generated by this module adhere to the new Google standard regarding multilingual content by creating hreflang sitemaps. Googlebots will thank you later.


Context omega

This module allows you to set the omega 4.x layout to use, using the context module.


Bulk Media Upload

What this module does:

With Bulk Media Upload you can upload a bunch of files and a new node, taxonomy term, or other entity will be created for every file. The files are selected via a browser file upload dialog and can be stored in a file or image field.
Also default values can be chosen for the other fields assigned to the new node.

This module is looking for a new maintainer.


User Stats

Provides commonly requested user statistics for themers, IP address tracking and Views integration. Statistics are:

  1. days registered;
  2. join date;
  3. days since last login;
  4. days since last post;
  5. post count;
  6. login count;
  7. user online/offline;
  8. IP address;

This module was developed for The Webmaster Forums (who have moved to Drupal from vBulletin -- yes, we do like Drupal's forum!)



An color field, with switchable jQuery-powered colorpicker.
This module brings to your Drupal site a new field type to use colors in your contents, views...

When you will install this module you will be able to use one of the two widgets:



This module provides integration for the jQuery FooTable plugin for creating responsive tables. The FooTable plugin allows wide tables to appear as usual on large displays but on smaller screens it can hide certain columns within expanding and collapsing rows.


Google Chart Tools

analytics preview

Display live data on your site using Google Chart Tools
Google Chart Tools module provides a simple API to Build custom interactive SVG charts.
The module contain an example module which demonstrate how this module can be use.


- Support for
Organizational Chart.
Geo Chart (example).

Analytics Dashboard

In addition, an Analytics Dashboard module is included.
The Analytics Dashboard creates an analytics page with time frame filters and some defaults site analystics charts, with the tools to add new charts and control the charts visibility.

Views integration

The Google Chart Tools Views module is based on the Views built in aggregation function.
For basic instructions of using the Views integration module check the README.txt file.


Table Element

This is a developer module and provides no end-user functionality. Only install it if you are instructed to by another module, or wish to use the new form element in your own code.

The Table element is also now available in the Elements module (without support of #attributes for cells).

Table Element is a backport for Drupal 7 of the new Table element introduced in Drupal 8.


Corresponding node references

New development is done in the http://drupal.org/project/cer module. This expands the corresponding node reference functionality to enitities. Please focus all attention on getting a stable release of cer as soon as possible.

Cnr is looking for a comaintainer to resolve the remaining bugs. No new features will be handled.



It syncs the node reference between two node types which have a nodereference to each other, so double editing nodes is no more needed. If one node has a reference the other node receives also a reference to the saved node if it is referenced in that node.


Release 6.x-4.0 doesnt require setting the options to unlimited, all is handled by cck now. The old setting to allow setting to single is no longer present since it is obsolete. To upgrade, run update.php and manualy set the allowed references on each nodereference instance. The older branches are not supported anymore so you should upgrade.


6.x : CCK
Node reference (comes with cck)
7.x: Node reference (included in References)



Responsive Dropdown Menus

Mobile version of the module

Responsive Dropdown Menus provides a new menu tree rendering to make responsive, drop-down enabled main menu possible on any theme. This sandbox was created to provide a simplistic approach to a common problem that gives theme builders room to customize.




Notify user settings

This is a lightweight module that allows users to subscribe to periodic emails which include all new or revised content and/or comments of specific content types, much like the daily newsletters sent by some websites.

Even if this feature is not configured for normal site users, it can be a useful feature for an administrator of a site to receive notification of new content submissions and comment posts.


Two-factor Authentication (TFA)

Second-factor authentication for Drupal sites. Drupal provides authentication via something you know -- a username and password while TFA module adds a second step of authentication with a check for something you have -- such as a code sent to (or generated by) your mobile phone.


Popup message

Popup message example


Display popup message for users once per browser session.
Based on javascript code: http://yensdesign.com/2008/09/how-to-create-a-stunning-and-smooth-popup-...
Screenshot: http://i.imgur.com/4fi8T.png


Go to admin/settings/popup_message and set message title and body.
Go to admin/user/permissions and set permissions.


For Drupal 6.x version download jquery.cookie.js file from https://github.com/carhartl/jquery-cookie and copy to directory: sites/all/libraries/jquery.cookie/


You can change paremeters of message using alter funcion in your module. Module allow to use 2 alter functions:
- popup_message_perameters
- popup_message_permission

popup_message_perameters_alter example:

function mymodule_popup_message_perameters_alter(&$elements) {
  if(arg(0) == 'user' && arg(1) == 'register') {
    $elements['title'] = t('Hello');
    $elements['body'] = t('Remember to set a difficult password');
    $elements['check_cookie'] = FALSE;

popup_message_permission example:

function mymodule_popup_message_permission_alter(&$elements) {
  if(arg(0) == 'user' && arg(1) == 'register') {
   $elements = TRUE;

You can also use function for display message in your custom theme or module, example:




The filedepot module is full featured Document Management module that has a google docs like feel. It fulfills the need for an integrated file management module supporting role and user based security. Documents can be saved outside the Drupal public directory to protect documents for safe access and distribution.

Checkout the filedepot_linkit module which supports browsing and inserting filedepot links from WYSIWYG editors.

Desktop Application Support

The Filebuilder desktop application is now available for Windows, Linux and Mac OS to easily upload 100's of files or very large files and manage your filedepot document repository from your desktop - a video overview is available.

Noted changes with the 7.x release

  • Install will create a new content type 'filedepot_folder' and a content node for each folder. Files are still attachments like the D6 version
  • Using the D7 file API and the private file system stream
  • Support for folder permissions to be assigned by user, role or group (OG), same as the D6 version


Commerce Price Savings Formatter

Screenshot of the stacked Commerce Price Savings formatter

This module is an extension of Drupal Commerce that provides a display formatter for the Commerce Price field which shows the amount of savings when a discount is applied.


  • Formatted price display that is similar to what is seen on many popular e-commerce sites (see attached screenshot).
  • List price and Savings takes into account any tax amount applied to the current price (ie. VAT tax)
  • Show/Hide price labels
  • Select which values to show - List Price, Your Price, Savings
  • Display stacked or inline


Commerce Multicurrency

World currency map by The310Investigator

This module enhances some of the multi-currency capabilities of Drupal Commerce.

Current features:

  • UI for fine granular definition of exchange rates.
    (Every currency combination can be defined separately if needed)
  • Synchronization of currency exchange rates directly from the European Central Bank (ECB).
  • UI to specify which rates shall be synchronized and which are handled manually.
  • Generation of currency specific price fields inclusive generation of rule-set to handle them.
  • hooks for easy integration of custom currency exchange rate sources.

Sponsored by Cando Image
Image by The310Investigator



Drupal Commerce


Publish button

A screenshot of the Save, Preview and Publish button

Adds a publish and unpublish button for a simpler editorial workflow.


Install module.

After installation, on each content type there are a new setting at publishing options and to activate publish/unpublish button for the content type you are editing, you need to check 'Use publish/unpublish button for this content type' and save.

After that you need to add permissions for which roles that could publish content.

Now, when you edit/creates a new node, there are a publish or unpublish button for all the content types that have the button settings if the role have the right permission.


Views 3.x is supported. In the field section a publish button is added.


Normally permissions for publish nodes is not used with this module, instead it has it owns permissions.


For documentation, see the handbook page. Also, see Module Monday: Publish Button.


Publish content adds similar functionality, but uses tabs instead. Save as draft also adds some similar functionality.



Cache Actions

Cache actions provides rules actions for clearing drupal caches.

It currently provides actions for:

  • Clearing Drupal cache bins
  • Clearing CSS/JS cache
  • Clearing The cache of specific views
  • Clearing The cache of specific panel pages
  • Clearing The cache of specific mini panels


Cache actions only depends on the rules module. If you don't have views or panels, you only get the option of clearing the drupal cache bins and the CSS/JS cache. When views or panels are present, you get actions for clearing the cache of specific views and panels as well.


This module is compatible with:

  • Panels 3
  • Views 2 and 3. The views 2 support is the best tested currently, but everything seems fine
    with views 3 as well.

Version 2

The new version of cache actions offers a lot of new features:

  • Clearing The cache of more than one view at a time
  • Clearing The cache of specific panel page variants
  • Clearing The cache of specific panel page panes
  • Clearing The cache of specific mini panel variants
  • Clearing The cache of specific mini panel panes
  • Unit tests


Overlay Paths

This is a simple module that enables site builders to use the built-in Overlay for non-admin pages.

This means that you can use the overlay for doing popups without adding yet more javascript libraries to your site.

This module provides a simple UI for defining paths to appear in the overlay, but developers can use it to define paths too, see the overlay_paths.api.php file in the module for details.


Views between dates filter

A graph showing the four different types of start/end dates.

This Views filter provides the between date functionality you've been looking for by answering the question: "What events are on this date?" It displays all content (comparing start and end dates) occurring on a specified date.

Creating this functionality with standard Date filters requires two filters: start date less than or equal (<=) to the supplied date and end date greater than or equal (>=) to the supplied date. The problem is two filters means users must enter a date range, when technically selecting "September" is a range: September 1st to the 30th.


Entity Browser

Entity browser logo by David Ličen

Goal of this module is to provide a generic entity browser/picker/selector. It can be used in any context where one needs to select few entities and do something with them.

Possible use cases:


Address Field Phone

This project extends the Address Field module to add support for some additional fields (Phone number/extension, Mobile number and Fax number) that are stored with other address fields.

This module may or may not be what you need.


Geofield Gmap

Google Map widget for geofield. A gmap field formatter can be found in the geofield_map submodule inside the Geofield project.

For now allow to use a google map v3 map to input a location.
A quick text input + geocode allow you to specify an address.
You can drag and drop the marker to narrow the position.


Simple Password Reset

Form presented without Simple Password Reset enabled.

This modules simplifies the password reset process.

Without this module enabled, core Drupal prompts the user to log in via a one-time login form. After clicking "Log in", the user is brought to their profile edit form where at long last they can change their password.

With this module enabled, the user skips the one-time login form. Instead the password reset link brings them right to the profile edit form where they can immediately change their password and log in. So what core Drupal does in two steps, this module does in one.

Additionally, this module now logs a user out who uses the password reset form linked from the account edit form. This prevents those users from seeing an access denied message when they follow the password reset link that gets e-mailed to them, reducing customer support inquiries during password resets.

The idea behind this module is described in Dave Cohen's blog.

Read the README.txt file for installation and further details.



Noggin Module in action

Noggin module allows you to upload a custom header image on the Theme Settings page, just as you can for the logo and favicon. Also included are 12 sample header images.

Are you wondering about this modules name? Noggin is an English slang word for head.

Features in the current DEV version:

  • Upload a custom header image
  • Use one of the 12 included default images
  • Themes can provide their own images, Noggin will find them automatically
  • Set a header image per theme
  • Position images (vertically and horizontally)
  • Tile your image x, y, no-repeat, repeat
  • CSS3 stretch to fit setting
  • Set a background color for the header
  • Set the height of the header


Simply enable Noggin module, upload your header image, and you're ready to rock. If you're looking for interesting tiled background images, try Pattern8, StripeMania, BgPatterns, EveryDay Icons, or my personal favorite: Subtle Patterns.