16,646 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.

Email Change Confirmation

This module was created to address a missing piece of functionality in the Drupal user system.

Currently if a user updates their email address there is no confirmation step to ensure
that the new email address belongs to the user and is able to receive email.

In researching this issue I came across a patch to Drupal core to address this issue.
The patch is still pending however so I wrote this module borrowing from the code
submitted as patches in this issue.



The Block

The Agenda module allows you to display a list of upcoming events from Google Calendar as a block on your website.

The events are automatically downloaded and cached from the Calendar IDs specified in the Agenda administration page. Unlimited calendars can be added, and the colours for each calendar can be specified in the CSS file.

The output is fully themeable, and uses jQuery for dynamic effects such as rounded corners, and click-toggling extra information.


Block Views Visibility

Block Views screenshot

Enables you to specify block visibility based on views pages. It works similar to controlling visibility by content type which is currently in core. It adds a fieldset to the visibility vertical tabs on the admin block configure form enabling you to set which views pages you want the block to display.



Screenshot of editing the node title in-place

Please see the successor to this module: Quick Edit. It's the same code, it's just been renamed.

(Drupal 8 ships with Edit, but decided to rename it to Quick Edit. Hence we did the same to the Drupal 7 backport, for consistency and patch portability.)


Ajax Blocks

Permits to load some blocks by additional AJAX request after loading the whole cached page when the page is viewed by anonymous user. It is suitable for sites which are mostly static, and the page caching for anonymous users is a great benefit, but there are some pieces of information that have to be dynamic.


CCK Fieldgroup Tabs

For Drupal 7, see the Field group module, which includes tabs support.

Display CCK fieldgroups in tabs. Enables splitting up content onto tabs in both editing and display.

Requires Tabs module as well as Content and Fieldgroup modules, part of CCK. For Drupal 5.x, Tabs module is part of Javascript Tools. For Drupal 6.x, Tabs is a separate module.

Note: if upgrading from the dev version to a stable release, ensure first that you have installed the latest stable release of Tabs.

To use, install and enable the module, then navigate to content type administration at Administer » Content management » Content types. Create one or more fieldgroups for a content type and assign fields to the fieldgroup or use existing fieldgroups.

Each fieldgroup can be displayed on a tab. (It really only makes sense to do so for more than one, since a single tab serves no purpose.)

To get fieldgroups to display on tabs on content editing forms, select "tabs" as the "style" when configuring a fieldgroup under "Manage fields" for the content type in question.


Syntax Highlighter

Screenshot of syntaxhighlighter in action

This module integrates the SyntaxHighlighter Javascript Library into Drupal for source code list syntax highlighting within any Drupal contents.

Note: the SyntaxHighlighter Javascript library is not included and must be downloaded and installed in sites/all/libraries. See README.txt for more details. This module is compatible with both the 2.x and 3.x versions of the Javascript library.

To markup your code, use the <pre> tag with the class attribute and optionally the title attribute. See the <pre /> method section on this page and the configuration page for exact/complete explanation.:

<pre class="SYNTAXHIGHLIGHTER-OPTIONS" title="My title">
  program code

Very important!!!: ordered the input format filters as follow:

  1. HTML filter or Wysiwyg filter or whatever HTML filters you use. They must come before.
  2. Syntax highlighter. This come after any and all filters that can modify content input.


Open Atrium Events Importer

Extends the Open Atrium Events module to provide iCal imports. Importing from a feed (such as a Google Calendar) as well as an iCal file are supported.

Uses the iCalcreator library. A drush make file is included to install this library. If you are not using drush make, you'll need to manually download the iCalcreator library and place it into your sites/all/libraries directory.


Views Aggregator Plus

As the Views and Views Calc modules rely on the database to perform aggregation, you only have limited options at your disposal.
As the great Merlin himself said: "You can't aggregate a PHP expression in the database.  :/ ".
That's where Views Aggregator Plus comes in. In addition to what Views and Views Calc do, this module:

  • enumerates group members
  • produces tallies, i.e. textual histograms
  • aggregates on Views PHP code-snippet evalutations
  • can filter out result rows on regexp patterns
  • gives you sorting on Views' Math expressions
  • can process Webform submissions
  • lets you add your own custom aggregation functions

... and it puts summary statistics at the bottom of your aggregated table as well!


Node Reference View Formatter

Add a field formatter for node reference that will display a view of the data

Created by e2thex
Sponsored by Phase2 Technology


Internal Nodes

Some content/nodes should never be viewed directly; only visible through something else such as Views or Panels. This module denies access to node/[nid] URLs while allowing the content to stay published and otherwise viewable.


OpenID Admin

This module extends Drupal's support for OpenID to allow administrative users to add a set of OpenID's to an account. Included is both a web UI and Drush command.


iCal feed parser

Drupal 6 Parser for iCal feeds. Version 1 works with FeedAPI. Version 2 is the parser for feeds. Both require Date module v2 DateAPI. Recommended to use Version 2 with Feeds.

The Drupal 7 code from this project has been integrated into Date iCal. Use the 7.x-2.x branch from there.


Views Arguments Extras

This module contains a group of view handlers and plugins that add the following options.

Argument Default Current Node CCK

allows for cck field values of the current node to be loaded as default arguments

Argument Default Request Params

allows for get and post params as default values

Argument Order Sort

a sort handler, that allows for the order of items to be based on their order in a multi-value argument


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 SEO Essentials

Drupal SEO Essentials is designed to be a dirt simple way to automate installation and configuration of essential Drupal SEO modules. It can be used as an stand alone module or an App.


As an App (easiest)

The Apps enabled version of this module will automatically download all required modules. The SEO Essentials App is a part of the Open Enterprise App Server. To enable Open Enterprise Apps either start your site with the Open Enterprise distribution or follow the instructions to integrate apps into an existing Drupal site.

Once the Apps module is enabled, go to admin > apps. You should see a list of available apps. Click details for SEO Essentials and then "install app". All required modules will automatically download and enable. Follow the instructions in the setup wizard to complete configuration.

As a stand alone module

Download the SEO module from the link below and place the files in your site’s module directory. Go to admin > modules and review any missing dependent modules for SEO Essentials. Download those modules from Drupal.org. Enable the SEO Essentials module when all dependent modules are available.


Field Formatter CSS Class

Adds a formatter for text/list/taxonomy fields to render as CSS classes on nodes.

The Field formatter CSS class module allows you to set any text/list/option/taxonomy field to render as CSS class on the node. This enables the node author to select predefined CSS styling per node.


Node displays


Node displays is a replacement for the node build modes and the field / display settings screen provided by CCK. You can select per build mode which field is displayed, give it an order and render it in a node region. It is part of the Display Suite concept and is an implementation of its API.

Support and integration with core (search) and contrib (like CCK, fivestar and ubercart) modules is available at the Node displays contributions project.


Views Distinct

Example settings on a User Name field.

Relationships or other joins in Views often create "duplicate" results. The "DISTINCT" SQL query option in the Views UI does not solve the problem because the result row is technically distinct. This module aims to give a simple GUI method to remove or aggregate these "duplicate" rows.



This is replacement for the Drupal archive.module which was available in Drupal core in Drupal 4.7.x and previous versions. Drupal 5/6 will no longer receive improved features. All new features will be developed for 7.x only.


Maillog / Mail Developer

Maillog provides an easy possibility to log all Mails for debugging purposes. It's possible to prevent the mails to being sent, so there is no need for an extra mail server to test the mail functionality of other modules or the drupal core. Additionally you can immediately display the mail through the devel dpm() facility.

If you like to upgrade from a previous dev release, please disable, uninstall and reinstall again. There's no upgrade procedure yet.

Drupal 7

An initial version is now available. Please help improve it, it still needs some work.
There's no mail wrapper / chain integration like in drupal 6 yet.

Drupal 6

Supported APIs and modules

  • All Modules which use the drupal_mail and drupal_mail_send functions to send a mail.
  • Mimemail and other modules which implements mimemail mailengine specification.

Similar modules

More information

There is no extra documentation available. But the most things should be self explaining.


Node Relationships

Example of the ERD provided by the Node Relationships module

The Node Relationships module provides methods to complete two way relationships between content types enhancing the features of node reference fields.

It provides the following features:

  • Enhancements for node reference fields: "View reference in new window", "Edit reference" (in modal frame, updates widget if node title changes), "Search and reference view" (single and multiple selection based on dynamically configured views), "Create and reference" and "Translate and reference" (when the Drupal core translation module is enabled, with additional support for Internationalization module). These features use the Modal Frame API to provide popup dialogs from buttons attached to node reference fields configured to use the autocomplete widget.
  • Automatic back references using dynamically configured views that are able to extract the relations from existing database information. This views can be rendered using a myriad of methods in the node view.
  • The Node Relationships module provides default views for each feature that can be modified and/or cloned (recommended) should you need to add more fields, filters or change any other option to suit your needs.
  • Basic entity relations diagram (ERD) that can be used to view the relations of each individual content type. The provided diagram can be used to walk the relationships of all types in the system.

More information in the project page.

This module has been sponsored by Gamefilia.


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:


Open Atrium Work Tracker

A Work tracker for Open Atrium 2.0 (similar to the Case tracker in Open Atrium 1.0) which allows you to create Tasks in order to collaborate on work.

Work Tracker is designed to fit seamlessly into the way Open Atrium 2.0 works and it’s paradigm for flexibility. For example, Work Tracker has no concept of “projects” - instead it groups Tasks together using Open Atrium Sections, which allows users to define for themselves what a “project” is in a way that best fits their organization.

Suggestions, bug reports and patches are welcome in the issue queue!

Quick start

  • Install OpenAtrium 2.0 (version 2.0-rc1 and later install Work Tracker by default!)
  • Create a new Space
  • Create a new Section inside that space, and select "Tasks Section" under "Section Type" (it's below the body and "Weight" fields).
  • Using the add button in the header (looks like a '+' sign), create a new Task!

See the complete Getting started and Configuration guides for more information!



Disable Term Node Listings


By default, on taxonomy term pages, Drupal will display a list of nodes (teaser build mode) that are tagged with that term. Disable Term Node Listing allows you to selectively disable node listings on taxonomy term pages by vocabulary. Once the listing is disabled, view blocks or views embedded using EVA: Entity Views Attachment can be used instead.