32,549 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.


This module provides a method for logged in users to access their eStreamDesk profile from their user email (and site API key).

This can be done via a support page with a link, or by a URL path which through redirection will auto-log them into proper estream help desk site.

eStreamDesk is a Customer Management, Help Desk, and Ticketing system.


Entity Construction Kit (ECK)

The Entity Construction Kit (ECK) builds upon the entity system to create a flexible and extensible data modeling system both with a UI for site builders, and with useful abstractions (classes, plugins, etc) to help developers use entities with ease.

ECK allows the creation and management of entity types with custom properties; adding bundles to entity types; and fields to bundles, with the help of the Field UI module.

If that last sentence sounded like a foreign language, I suggest reading the first section of ECK's documentation: Understanding Entity Terminology

A fairly recent video demonstrating ECK's capabilities was created by Shane at Code Karate: Drupal 7 Entity Construction Kit. This video should get most site builders going.

An older summary on what ECK could do on 7.x-1.1-alpha3 can be found in Jeff Eaton's article: Module Monday: Entity Construction Kit.


Commerce (Product Display Manager)

Product Display Manager Page

Module description

This module simplifies managing the relationship between products and product display nodes.


  1. A dedicated display manager page allowing you to drag products into or out of display nodes as desired.
  2. Manage references to a product directly on the product form (New: now supports multiple references).

Upcoming features:


Adaptive Image Styles

Create rules that dynamically switch image styles based on context.

OBSOLETE i18nviews sandbox

i18nviews sandbox.
Can't commit to i18nviews currently due to drupal.org repo or migrate problems.

This project is obsolete!

Views Secondary Row


Provides a way to split a Views table row into two rows.
To activate it, go to the in the 'Format' settings of your Views display, and select the "Table with secondary rows" option, instead of the "Table" option.


Temporarily block users


This module allows users, of a specific role, to block site users (individual or all) for a defined time period. Users can be banned by admin for a definite time period. Users can be ban or temporarily block by individually or collectively by users roles. Means there is a sub module present here from where admin can ban users by role wise. This way we can make disable user log in for definite time period.
Temporary blocking of users or ban user will be automatically lifted after the defined temporary blocking date or temporary blocking time.
This module will be handy when someone wants to stop user's activity on the site for a specific period or ban users activity or restrict user activity for some time, in order to do certain db maintenance activities which do not necessarily requires taking the site offline.


Date PopUp - http://drupal.org/project/date


1. Copy temporarily_block_users folder to modules directory.
2. At admin/build/modules enable the "Temporarily Block Users" module.
3. Enable permissions at admin/user/permissions.
4. Configure the module at admin/user/tbu/settings.
5. Go to user edit to block user.




Google Checkout

Provides integration with Libraries API (2.x-dev) and a Drush Make script to download the google-checkout-php-sample-code.

This project is aimed at providing basic foundation for integrating your online store with the Google Checkout API using PHP.


The Google Checkout integration can be configured by using Drupal variables. For example, the following can be placed in a site's settings.php file.

$conf['google_checkout_merchant_id'] = '...';
$conf['google_checkout_merchant_key'] = '...';
$conf['google_checkout_server_type'] = 'sandbox'; // Defaults to production.
$conf['google_checkout_currency'] = '...'; // Defaults to USD.

Example Usage

$cart = google_checkout_cart_init();
$cart->SetMerchantPrivateData(new MerchantPrivateData(array('uid' => $user->uid)));
$item = new GoogleItem(t('Something really nice for $17'), '', 1, 17);


// Communicate information to GoogleCheckout and redirect user to complete checkout.

// Or make button.
echo $cart->CheckoutButtonCode();

* Handle incoming request from Google Checkout.


jQuery Valid8

This is a simple wrapper module for the jQuery Valid8 plugin.

Module Requirements

The jQuery Valid8 module for Drupal 6 requires the following:


The basic call to invoke jQuery Valid8 would be something like the following:


Theme Color field

CCK field that changes the color of the theme (if it colorizable).

Drush Body Mangler

This is not a module, but a drush script, which is a fairly straight-forward exercise in string manipulation, searching for links (anchor tags) that are missing title attributes. It does this in a very crude way, searching only the body field as rendered by a node_load() call.

However, the exercise of writing it (and the preceding hunt for some Drupal Best Practice on this) was instructive. One can imagine any number of uses for a script(s) like this, if it had some features like:

Visual Documents for Drupal

What is this?

A Drupal project that is a repository for visual documents explaining Drupal processes, components, systems and other useful visual elements.

We are creating SVG images so that they can be versioned with Git. SVG is an XML-based file format, and the text in the document can be searchable. Storing the graphics in a git repository can make it easier to translate the graphics into other languages, as well as to log changes to graphics.


  1. Create diagram.
  2. Add some data to the diagram to allow for tracking back to image source. For example, you might want to add a link to the git repository, a publicly editable google drawing, a link to the node to which the image applies. Credits for the contributors.
  3. Consider that diagrams might need to be translated into other languages.
  4. Export to SVG.
  5. Name the filename descriptively.
  6. If appropriate, add the node id (and comment number if appropriate) to the filename.
  7. {nid}_{descriptive_filename}.svg

    For example: 1011698_DrupalCodeReviewProcessforApplicants.svg

Smart Breadcrumb


Smart Breadcrumb walks backwards down the current path, determining the title for each page using included companion modules for User pages, Menu items, Node titles, and Views display titles. Upon determination of each "crumb" a breadcrumb is built from all crumbs. If a crumb is returned by one of the companion modules, it is linked, if not, it is displayed as plain text.


An API is also provided and documentation will be provided here shortly.


Commerce Roles

Provide the ability to buy "roles".


High performance integration with WinCache.

Project Has Moved

This project has moved here:


This module automatically manages user access to git repositories through gitosis.

Git repositories are managed in a per organic group basis. By collecting info from all the repositories and users in each organic group, a gitosis.conf and a set of ssh keys are created and pushed to gitosis-admin repository. This process occurs in a drush task called 'gitosis'.


Drush Environments

This is a very basic drush plugging.

What this does is allow you to set up "Environments" options in your drushrc.php file so you can easily do a set of task you when enable a certain environment.

One example of this is enabling views_ui, devel, and turning off js preprocessing when you're developing

Instead of having to run the same set of drush commands every time you bring in a new database from production you can just now set up your environments and just call drush en-env development and viola ;-)

Google Loader


The Google Loader module implements the Google Loader API, which allows for utilizing the various JavaScript libraries available via the Google Libraries API. By default, it allows for loading jQuery from Google's CDN as opposed to directly from your site.



Foswiki Filter is a set of custom content filters that formats nodes using TWiki style formatting.

For Drupal 7

Location Chooser

the location chooser selection box

Location chooser allows users to choose a location for a new node from a set of existing locations in other nodes. For example, if you have a content type for "facilities" and you add a new "event," the event's creator could be allowed to choose one of the existing facilities as the location of the event. Locations may be chosen from any of the following:

  • a site default location, set by administrators on the location chooser module's settings page
  • any content types selected by administrators as location sources
  • the user's location
  • a custom location set by the user for the individual node

Issues / Caveats



    ShareBar Configuration Options

    The Drupal Sharebar module lets you easily add a "floating" social media submission bar on your website (like that found on Mashable) that includes share buttons for the most popular social media websites online such as Facebook, Twitter, and Google +1 Buttons.

    Configure ShareBar with these Social Buttons below and more:

    • Twitter
    • Facebook Like and Share Buttons
    • Linkedin
    • Google +
    • Reddit
    • StumbleUpon
    • Digg
    • Dzone
    • DesignFloat
    • Email-to-friend option
    • Add many others at your own discretion...

    Other Sharebar Features Include:

    • Add, edit, and disable any buttons from social websites. Ability to add large and small buttons (small buttons are moved under the node title when the page is sized to less than "X" pixels wide if that option is used).
    • Order the Sharebar buttons by weight, i.e. -1, 0, 1, 2, 3, etc.
    • Radio buttons for enabling or disabling the Sharebar on any content type set up on your Drupal website, i.e. Blogs, Articles, and so on.


    Fabsor Profiler

    My fork of profiler for working on patches

    Google Adwords Remarketing


    mnemonic major system


    Train your mega memory!

    The mnemonic major system memory training module helps you to practice using the mnemomic major system.

    The mnemonic major system is a memory technique which allows you to memorize numbers through visual association. The system works by converting numbers into consonant sounds, then into words by adding vowels. The system works on the principle that images can be remembered more easily than numbers.

    This module lets you train number to word conversion (ntw) and word to number conversion (wtn).
    It also lets you input a number and will suggest a sentence for you based on your own defenition of your favorite 'pegs': words that map to specific numbers.

    You can define your own pegs in the configuration settings and you can alter some values for training purposes.

    When doing number to word conversion you are not limited to using your own or predefined peg words. By using the double metaphone algorithm, the module will calculate the numeric output from the words you provided.

    DEMO: http://vreijdenberger.nl/content/mnemonic-major-system

    special thanks to Stephen Woodbrige for allowing me to use his double metaphone implementation under the GNU license.


    XMLsitemap Images

    This module extends features of XML Sitemap module.
    According to Google Webmaster Tools Help (http://www.google.com/support/webmasters/bin/answer.py?answer=178636) we are able to add additional information about important images on site pages.
    This module will add information about all published images (from image fields in content types) to XML Sitemap.

    Features plan
    To create ability to choose what image fields will be added to sitemap (so add setting in field edit)

    Installation notes

    1) Place this module directory in your "modules" folder (this will usually be
    "sites/all/modules/"). Don't install your module in Drupal core's "modules"
    folder, since that will cause problems and is bad practice in general. If
    "sites/all/modules" doesn't exist yet, just create it.

    2) Apply the patch to xmlsitemap module (xmlsitemap.patch). Instructions can be
    found at http://drupal.org/patch/apply.
    However, a quick reminder:
    a) Change the directory to the root directory of your Drupal core:
    cd /htdocs/example.com
    b) Change the directory to the directory of your Drupal contributes module:
    cd sites/all/modules
    b) Copy the patch to this directory
    cp xmlsitemap_images/xmlsitemap.patch xmlsitemap
    c) Change the directory to the directory of your Drupal contributes module: