33,148 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.

OG Session Context

Adds a plugin for the og_context module that stores the current group into the $_SESSION to be saved across pages. Uses in Open Atrium 2.


Open Atrium Subspaces

Adds sub-space and sub-group support to Open Atrium 2 via the og_subgroups module.

Submit an Issue or See issue queue


Contextual Tabs

Contextual Tabs

Moves the normal Drupal primary tabs into a drop-down "contextual links" menu to the right of the node title.

Contains configuration to determine which pages are excluded (such as admin*).

There are other modules that attempt to move the tabs into contextual links that mostly all use the Theme layer. This is a module-based approach. In addition, there is configuration flexibility to determine which links to pull out of the config menu as separate buttons.

For example, you can pull the "Edit" link as a separate button, with the "Gear icon" containing the rest of the tabs. You can customize which buttons are pull out of the links on a URL pattern basis. You can also rename links. For example, on a node-edit page you can pull out the normal View tab and rename it as a "Cancel" button for the edit page.

Also contains an alter hook to allow other modules to modify the links, either adding new buttons, or changing/adding the links menu.

NOTE: The drop-down menu is implemented using Bootstrap classes. If you are not using a Bootstrap-based theme you may need to perform some theme and/or javascript work to make the menu work as a drop-down menu. Patches to make this module more generally useful are welcome.


OG Variables

Allows per organic group override of variables.

Using the variable API, allows for overriding of variables per organic group.


Command Buttons

The command button module utilizes entities to allow users to create re-usable commands (links, buttons, etc.) . These buttons integrate with the Twitters bootstrap UI and fieldable panels panes to provide the ability to place a button list on a panels pane. Open Atrium is currently using this module to provide a list of add content links on space and section pages. Command buttons are automatically created for all node types on your site.

This module was originally developed for Open Atrium, but it can function as a standalone module as well.


Leaflet Markercluster

Provides Beautiful Animated Marker Clustering functionality for Leaflet using the Leaflet MarkerCluster library.


Panels Custom Error

Replaces 404/403 with panel pages. Adds a login block to access denied, cause access denied likes having login blocks.

You could do this yourself easily. This just does it for you.

Name based on CustomError module.


Webform blocks

This module pulls webforms into blocks. It allows you to freely position the webform of the currently viewed node - just like CCK Blocks does for fields.


Shibboleth authentication

Provides user authentication with Shibboleth (both v1.3 and v2.0) as well as some authorisation features (automatic role assignment based on Shibboleth attributes).

For detailed description, please check documentation!



Sample splash popup.

Display a splash page anywhere on your site by redirecting the user, showing a lightbox, or displaying a popup. This module is designed to be search engine friendly, mobile device friendly and offers multiple configuration options.


Calendar Block


The calendar_block module provides a fully customizable calendar block which can be placed in a region at the blocks section. In thecalendar block's configuration form, the calendar's layout can be fully changed. You can set the colors as well as the size of the calendar so it fits to your websites design. Here's a screenshot of the configuration page.

With this version of the calendar_block module, developers can use the hook_calendar_block() to alter the dates, as well as to set the date the calender has to load on a page call.

If the modules Colorpicker and Textfield to slider are installed, the layout of the calendar is dynamically changed when changing it in the block's configuration form.

for the slider_textfield module you need to have the latest version of jQuery in your /misc directory. If you have the colorpicker module installed, and you want to live update the colors of your calendar while changing the colors in the block's configuration page, you need to apply this patch to farbtastic.js.



    Module Grants

    Accessible content menu option

    D6 is approaching end of life. We'll be doing maintenance fixes only.

    Module Grants makes modules that deal with content access permissions operate better on unpublished (as well as published) content. It also makes sure that access grants behave in an orderly fashion when such modules are used together.

    • Access grants are tested for unpublished content just as they are for published content
    • Allows modules that feature fine-grained access control (e.g. Workflow, TAC-Lite) to work together
    • While Module Grants' raison d'etre is to act as a catalyst amongst other modules when dealing with unpublished content and/or fine-grained access control, it does come with a handy feature of its own via the Module Grants Monitor submodule, which is bundled with the package download. After enabling Module Grants Monitor, a new item, Accessible content, appears in your navigation menu. Clicking on it reveals a summary of all the content the logged-in user has access to (i.e. view, edit) after access controls have been applied by the content access modules installed on your site. So if you have Workflow installed then what's editable to you and what's only viewable to you will depend on the workflow state the content is in. With the TAC-Lite module enabled it will depend on the vocabulary term(s) used in the content.
    • Thanks to dankh, Module Grants now also has Views support, allowing you to add to your views edit and delete links that properly honour permissions.


    Context: Menu Block


    Drupal 6

    Drupal 7

    • Drupal 7.0 or later. Pre-release versions (unstable, alpha, beta, release candidate) are not supported.
    • Menu Block 2
    • Context 3.0-beta3 or later


    Install as you would any other module (see handbook page Installing contributed modules if you need help).

    If your context reaction uses a second or higher level menu item, the menu block for the menu must have Expand all children of this tree selected in its block configuration.




    Open Atrium Media

    This module contains Media improvements for Open Atrium 2.

    Submit an Issue or See issue queue


    Commerce Cash on Delivery

    No further development here.
    Recomandation : Use Commerce Custom Offline Payments module instead.
    Commerce Custom Offline Payments package has a submodule - Cash on Delivery payment - that could be used as is this or as an example for the replacement.
    Commerce Cash on Delivery should be disbled, before enabling its replacement.


    Drupal Remote Dashboard Server

    This is the server component that's required on each domain that should be monitored and maintained by your Drupal Remote Dashboard. Details see on the DRD project (http://drupal.org/project/drd).

    The issue queue for this module has been closed. Please go to http://drupal.org/project/issues/drd to raise your questions, bugs and ideas there.


    Facebook Comments Box

    Preview of Comments on Node



    Brilliant Gallery

    Brilliant Gallery (screenshot)

    A highly customizable Drupal module producing multiple table galleries of quality-scaled images from either a pre-defined local folder, or from any "public" or even "unlisted" Picasa gallery (project page and download).

    NEW as of 7.x-1.5: Support for a text field formatter! A new option for showing galleries -- just add a text field to any content type, select formatter "Brilliant Gallery"! In this field then enter any of your local gallery paths, a Picasa RSS link or a Google+ album URL. Multiple text fields / galleries are supported as well. Getting galleries to show on your Drupal site has never been so easy! As of 7.x-1.6 there is one more formatter -- for showing one random image from a gallery -- excellent for a listing of example images from all galleries.


    Session Limit

    Session Limit allows administrators to limit the number of simultaneous sessions per user.


    Entity bundle plugin

    Entity Bundle Plugin module allow developers to build an entity type which is attached to strong behaviors.

    This allows you to provide a class for each entity bundle. It uses ctools plugins as a discovery mechanism (finding all entity bundle implementations provided by all modules).

    Each entity bundle class can define the fields that are created on that bundle.

    Related modules

    - Commerce License
    - Commerce File


    Equal Heights jQuery

    This module implements a jQuery Equal Heights plugin that can equalize the height of the elements of the specified class.

    To use it, give the elements the same class, then go to the administration interface and add this class (separate multiple classes by a space). By default, it sets the height to the height of the tallest element but you can also specify minimum and maximum height.


    Background Process

    Drupal 7 Settings


    Modules that utilize Background Process


    Executing a background process

    $handle = background_process_start('mymodule_dosomething', $myvar1, $myvar2);

    $handle = background_process_start(array('myclass', 'mystaticfunction'), $myvar1, $myvar2);

    $handle = background_process_start(array($myobject, 'mymethod'), $myvar1, $myvar2);

    $handle = background_process_start_locked('dontrunconcurrently', 'mymodule_dosomething', $myvar1, $myvar2);

    Executing arbitrary http requests

    The following code shows how to fetch data via http in "parallel" (asynchronous non-blocking mode)
    It uses an API similar to that of HTTPRL but "slightly" different, in order for the caller to gain more control of the requests. Plans to join forces with HTTPRL are in place.

    Drupal way: blocking/synchronous

    $r = array();
    for ($i = 0; $i < 10; $i++) {
      $r[] = drupal_http_request('http://www.example.com/stuff/' . $i);


    Image Style Quality

    Screenshot at 2012-03-05 17:53:44.png

    This module allows you to specify a custom quality on individual image styles. This is useful when you have very large styles which you may want to reduce the quality of for performance reasons.


    Entityform block

    Allows to load a specified entity form as a block. Requires Entityform.

    After enabling the module, the entityforms will have an optional checkbox to make them a block.



    The Util module is a grouping of commonly-needed utilities that are simple to code, everyone wants, but nobody actually codes them.

    Right now, we have the following features: