35,720 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.

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.


Commerce Authorize.Net

Authorize.Net integration for the Drupal Commerce payment and checkout system. Currently supports credit card payments on the checkout form via the AIM API using the latest Commerce release. Additionally, integrates with the CIM API to provide Card on File payment support.

Sponsored by Commerce Guys, an Authorize.Net reseller.


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.


Subgroups for Organic groups

D6 version configuration page.


This module enables a user with the proper permissions to build group hierarchies (or tree) by nesting groups under other groups. Simple or complex group hierarchies can be easily created.

When a hierarchy has been established, user memberships and/or content posted to a group can be propagated up, down or sideways along the tree. So when a user joins a group, their membership can also get created in other parent, child or sibling groups. Separate propagation settings can be applied for content and membership propagation.


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.





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


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.



Google Search Appliance

The Google Search Appliance module integreates a GSA device with a Drupal site. Utilizing a GSA gives you cross-domain search functionality, which can be aggregated into a single search experience on a drupal site.

Drupal 6.x

Deprecation notice: although no support has been provided for the 6.x branch of this module in ages, the Drupal 6 version of this module will become officially unsupported on January 1st, 2016.

This version of the module integrates a GoogleMini / Google Search Appliance with Drupal using hook_search.


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.



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.


File Lock

This module allows you to "lock" files so they cannot be deleted.

File Lock can be used to control two different problems:

  1. Preventing deliberate deletion of files
  2. Preventing accidental deletion of files caused by the behaviour of Drupal's core file field

File Lock is particularly useful when used with a media library setup, for example using the Media module.


Authenticated User Page Caching (Authcache)

Authcache Flowchart

The Authcache module offers page caching for both anonymous users and logged-in authenticated users. This allows Drupal/PHP to only spend 1-2 milliseconds serving pages, greatly reducing server resources.

Please note that enabling authenticated user caching will require modifying how your user-customized content displays on your pages. You should be an experienced Drupal developer if you choose to implement the full functionality of this module.

How does it work?

Authcache saves the final rendered HTML of a page to serve visitors. A separate cache is created for each user role as defined by the administrator, so some roles can be excluded if necessary.

Authcache places priority on serving pages to the visitor as fast as possible. After a page is loaded by the browser, a second HTTP request may be performed via Ajax. This initiates a lightweight DRUPAL_BOOTSTRAP_SESSION that allows SQL queries to be executed (such as updating the user "history" table or node "statistics" table), and returns any user-customized data to the page (such as form tokens or default values on a contact form).


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.



Menu Settings per Content Type

Menu Settings for Page Content Type

D7 not needed, it's in the core.

#1605982: Seeking new maintainer(s)

This module allow to set the Menu Settings with certain Menus for content editing by Content Type.

From version 2 of the module you have to be not logged in as user #1.


Comment goodness

Blog content type comment settings example

Provides comment sorting, comment form placement and comment form configuration settings.

Drupal 7.x does not support newest-to-oldest comment sorting. This module addresses this gap in functionality and provides content-type level configuration for comment sorting.


Clean Markup

A screenshot of the clean markup configuration fieldset for blocks.

This module aims to clean up, enhance and facilitate the customization of markup for Drupal core and several popular contrib modules such as Panels.

This module cleans up the wrapper and title HTML blocks, panel panes, and panel layouts; it does not clean up the HTML in the block/panel-pane content — please refer to the the Fences module for cleaning up field markup.


Google Analytics Email (Contact Form, Webform, Rules)

Google Analytics information appended to the bottom of a Contact Form email

You'll never-again have to wonder how the heck someone found you!

What it does:

This module will instantly append Google Analytics information to the bottom of the Contact Form, WebForm, and Rules emails.

The Value Proposition:

Before, you had to search your web logs for "/[some_form_name]", and match it to an IP address. Then, go backwards through your log file to find the first hit from that IP address. Finally, you crossed your fingers and hoped there was something meaningful in the referrer field.

But, now you can be lazy and enjoy all the information in the footer of your email!

What's New?:

  • 1.4: Added an "allowed recipients" list to prevent the footer from showing up in every email.
  • 1.2: Integration with Rules Emails.
  • 1.1: Integration with WebForm. Customizable output using theme_contact_google_analytics_footer.

How do I make it work?:

Dude, it's magic. Just enable these five modules:
1. Contact or WebForm or Rules (Depending on your implementation)
2. Google Analytics
3. Token


Views filters populate

This is an utility module. Its sole purpose is to fill in one blank that seems not easy to be done using normal views, which is to use one exposed string filter to search on multiple fields.

Bear in mind, that, for now, only populates STRING exposed filters, so those filters that take an array (options) or special types won't work, although it may not be difficult to extend it.

How to use this module for D7

Since Views 7.x-3.4, there is a "Global: combine field filter" built-in filter in Views, so you may not need this module.

The built-in filter uses the fields added to the view so if you are using a view that doesn't support fields, you need to force it to enable fields, which is a setting in the format's options.

You should know, however, that although the effect will probably be the same, this module does it differently. It actually "populates" the other filters, while the built-in filter concatenate the fields in the query and then fliters it. which may have different performance impacts.

I am unsure if this module will work for situations in which the built-in filter won't. Let me know if it does. If you would like to try this module, please continue reading for instructions on how to use this module.



Yandex.Share widgets

Yandex.Share integrates https://tech.yandex.ru/share/ with Drupal.


Password Reset Landing Page (PRLP)

Enhanced password reset landing page (with new password inputs)

The Password Reset Landing Page "PRLP" module enhances the original password reset landing page by letting a user set their new password at the same time they "log in" using the one-time-login link. It can also show a username and email address field. The password entry field can be configured to be mandatory. Other entry fields can be hidden through configuration and the page the user is taken to after login can be configured.