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

Domain Access

Screen shot 2011-09-16 at 11.50.21 AM_0.png

Drupal 8 status

See https://github.com/agentrickard/domain for the most current work.


The Domain Access project is a suite of modules that provide tools for running a group of affiliated sites from one Drupal installation and a single shared database. The module allows you to share users, content, and configurations across a group of sites such as:

  • example.com
  • one.example.com
  • two.example.com
  • my.example.com
  • thisexample.com <-- can use any domain string
  • example.com:3000 <-- treats non-standard ports as unique

By default, these sites share all tables in your Drupal installation. The Domain Prefix module (for Drupal 6) allows for selective, dynamic table prefixing for advanced users.


Module installation requires edits to your site's settings.php file. See the online installation guide for details.

Technical background

The module uses Drupal's Node Access system to determine what content is available on each site in the network. Unlike other multi-domain modules for Drupal, the Domain Access module determines user access based on the active domain that the user is viewing, rather than which group or site the user belongs to. For more information about Node Access in Drupal, see http://api.drupal.org/api/group/node_access/7

This module uses some advanced Drupal concepts and requires that you understand and control your site's DNS configuration. See this case-study or this more recent Row Eleven Wine Co. post for more details about using Domain Access.

You can also watch video of the DrupalCON Paris session "Managing Multiple Sites with Domain Access" (from 2009).

If you are looking for a module to provide subdomains to users and groups and do not need to affiliate content, take a look at Subdomain.


Commerce Search API

Provides Commerce-specific Search API integration.

Included in the box:

  • Automatically created Search API db server, if none is found.
  • Auto-generated search index that includes all product display node types* and related product data.
  • Auto-generated facets for all node type categories and product attributes.
  • Optional integration with Search API Ranges (allowing for a price slider, for example).
  • Search API Filter class for product display node types* (allowing for an index composed only of product displays)
  • Facet API Filter class for removing facet items that do not change search results.
  • Facet API Filter class for hiding certain facets on the initial search (so that product attribute facets are only shown after the initial search, for example).

* - Every node type with a product reference field is considered a product display node type.

Note: Commerce 1.4 is required, since it added the amount_decimal property, allowing prices to be indexed properly.


Page manager existing pages

Page manager existing pages allows you to override/configure Drupal menu paths so you can create variants with Page manager, which is bundled in the CTools project.

Technically, this project defines one abstract task and one content type plugin, so menu items can be overridden and the original page callback can be called through the content type plugin. This project comes with one default existing page, which is 'node', the default Drupal frontpage.

Tested overridden paths

  • Drupal frontpage at 'node'.
  • Media file paths as 'media/%'.
  • Apache Solr search pages at any path you defined.
  • FAQ at 'faq-page', 'faq-page/%', 'faq-page/list' and 'faq-page/%/list'.

In theory, any menu callback can now be overridden. Default contexts can be added for entity paths, but will need more testing.


Install the module as usual, more info can be found on http://drupal.org/documentation/install/modules-themes/modules-7
You should also install Panels, which is not a dependency for this module but is the recommended module to start overriding page layouts. Panels can be found at http://drupal.org/project/panels


On admin > structure > pages click "add existing page".


IMCE for FileField

Screenshot of IMCE for File Field

IMCE for FileField allows users to select files from IMCE File Browser. It supports FTP uploaded files by automatically registering them as IMCE files thus making them usable in a FileField.

How to use

  1. Go to your FileField settings page.
  2. Check the box saying Allow users to select files from IMCE File Browser for this field

Note that, only the roles with an IMCE configuration profile can use this feature.


Empty Front Page

Drupal 6 and 7

By default, Drupal fills the front page with the latest content from your site.

This ultra lightweight module modifies this behavior to show no default content on the frontpage. Only the blocks will be displayed.

If you want more features and configurability, consider using one of these modules instead:


Menu per Role

Sample of hide/show flags in the edit node and edit menu forms.

This module allows you to restrict access to menu items1 based on user roles. It depends on the Drupal core menu.module—just activate both modules and edit a menu item as usual. There will be a new fieldset that allows you to restrict access by role. The fieldset also appears in the node edit form.

1We wrote "menu items", not "nodes". This module does not prevent users from accessing the destination nodes. It only changes the visibility of the menu items.

Warning: Update in 6.x-1.x-dev (and next in 1.9)

The newest 6.x-1.x-dev reverts a change made in version 1.8 so administrators do not see hidden menus by default. However, the main administrator user (UID 1) still sees hidden menus unless you go to the new administrative screen and change the flags there.

Note also that the module was moved from the "Others" package to the "Menu" package. It seems to make sense to have it there since most menu related modules are found there.


Admin role

Admin Role module screenshot

This module is a little helper to maintain an administrator role which has all available permissions. By default, Drupal only has one super user and this module helps improve this drastically.


Isotope (with Masonry)

This module allows you to easily create a grid view that uses the amazing Isotope plugin to dynamically filter the elements displayed, with optional layout engines including Masonry.


404 Navigation

On 404 Not Found error pages, Drupal will skip rendering of all the navigation links of your website for performance reasons*. Some of these include:

  1. The "Primary links" block and any other menu links block.
  2. The Primary links and Secondary links of your theme.

* Unless you have configured a "Default 404 (not found) page" on admin/config/system/site-information.

But many websites find navigation invaluable. Especially on 404 pages, when they want to show lost users how to get to real pages.

So this module simply revives those features on 404 pages. Simply install and enable the module. No configuration needed.


Default config

Default config is a way of using the Features exports for permissions and roles to provide default settings for installations profiles. This is necessary since using Features directly forces the user to work only with the specified users and roles. This is a good thing in many cases, when you for instance create sites, but when you create distributions this is not really a viable option, since you don't want to lock in your users to one configuration, but you do want to provide sane defaults that works for most of them.

The future

There are some issues in the features issue queue that might make this module obsolete. We will try to actively work in that direction in order to not have to have this functionality into another project.


This module does not provide it's own UI for exporting configuration, instead it uses the export from Features. In order to get default config to manage your permissions and roles, export your configuration as you would normally do, and then go into your export file, for instance yourfeature.features.user_permission.inc and change the hook function defintion from:

function yourfeature_user_default_permissions() {



function yourfeature_defaultconfig_user_default_permissions() {



Webform Rules

This module adds rules integration on webforms.



Invisimail provides a content filter to hide email addresses from spam-bots. Email addresses are converted to ascii code and optionally written to the page using a concatenated JavaScript "write" command. The email addresses will appear on the page normally, but their html source will be obscured so as not to appear as an email address to email harvesting robots. Invisimail also provides an option to automatically create mailto links for email addresses.


Feeds XPath Parser

This project is in maintenance mode. No new features will be added. New installs should use Feeds extensible parsers instead.

Feeds XPath Parser is a Feeds plugin for parsing XML and HTML documents. It enables site builders to leverage the power of Feeds to easily import data from complex, external data sources. Each element you wish to extract is setup using configurable mapping queries, saving time for developers who would otherwise have to code complex, specific-use modules. It also enables end-users to build web scrapers and other useful tools within Drupal.



Introduced in Drupal 6, the Schema API allows modules to declare their database tables in a structured array (similar to the Form API) and provides API functions for creating, dropping, and changing tables, columns, keys, and indexes.

The Schema module provides additional Schema-related functionality not provided by the core Schema API that is useful for module developers. Currently, this includes:


Taxonomy Views Integrator

TVI In use

TVI Overview

The TVI (Taxonomy Views Integrator) module allows selective overriding of taxonomy terms and/or vocabulary with the view of your choice. Using TVI you can easily create custom views to output all terms in X vocabuarly.

TVI will try not to interfere with views or taxonomy/term page displays if no TVI views exist for the current page request.




"The cck model for voting with Drupal" (source)

This module provides flexible voting widgets for nodes and comments.

Administrators can add multiple widgets. By default, there are 8 widget types to choose from:

  • Thumbs up
  • Thumbs up / down
  • Number up / down
  • Fivestar
  • Emotion (this makes me mad, angry...)
  • Yes / no
  • Slider
  • Custom

By using "custom" you can customize the rating buttons and Voting API mode. Widget types can be extended by other modules. Other features include:

  • Views integration
  • Nodes get an extra tab with voting results per widget, which shows:
    • Total vote count
    • Average rating
    • Total points (for thumbs up / down)
    • Vote count per button
    • Chart of vote count per button, per day
  • Multiple ratings on the same node (i.e. for "comfort", "location", "services" etc.)
  • Voting can be closed at a configurable period after node creation
  • Start- and enddates can be configured per node, per widget


Form Builder

Form Builder Image

This project provides an interface for editing and configuring forms. It started out as a module to edit Drupal Form-API arrays but has been extended since then to edit webforms and others. In theory it can manage every list of configurable items.


Vertical Tabs

Picture 2.png

#D7CX This module got into core and will only be available as a back-port version for Drupal 6.

Provides vertical tabs like http://drupal.geek.nz/static/node-form/default/summaries2.html on the node add form.

This module provides the following features:

  • Vertical tabifying all node forms.
  • Vertical tabifying the content type forms.
  • Vertical tabifying the block forms.
  • Specialized CSS for Garland, as well as generic CSS for other themes
  • Color module support when both Garland and color.module are used
  • Vertical tabbed forms and fieldsets are over-ridable by using your site's settings.php and $conf. For more information see #644790-7: Simplify the module and integrate with form_controller to allow customizations.
  • When used in combination with Form module allows you to configure vertical tabs on all possible forms.


Save Draft

Safe Draft Module

Save Draft adds a 'Save as Draft' Button to the node_form for content types, allowing the user to click the 'Save as Draft' button to save the node as a draft.

Drupal 8 has this UX feature in the core!!

This helps improve usability, as the content creator no longer has to search for the published checkbox to publish or unpublish a node, as they can just click the 'Save as Draft' Button.



Nodeaccess Grant tab

Nodeaccess is a Drupal access control module which provides view, edit and delete access to nodes. Users with the 'grant node permissions' permission will have a grant tab on node pages which allows them to grant access to that node by user or role. Administrators can set default access controls per content type, and also define which roles are available to grant permissions to on the node grants tab.

The upshot is, this module allows you to do things like 'node 123 can be viewed by authenticated users and edited by admin users and joeuser'. As an added bonus, update and delete permissions are separated, so you can make sure users with edit permissions cannot accidentally delete pages.

7.x version
The previous maintainer (chadcf) had released a dev version of nodeaccess for D7. Over the following months a number of bugs/issues were reported and as of May 7th, 2013, all bug reports in the issue queue have been addressed (where possible) and with that, version 7.x-1.0 has been released as a stable/recommended release for Drupal 7.

Future Roadmap


Panels Breadcrumbs

Panels Breadcrumb configuration

Panels Breadcrumbs allows you to set your breadcrumbs directly from Panels configuration, and also allows you to take advantage from Panels arguments and contexts as placeholder tokens.


The Breadcrumb configuration is saved along with the page, which means that if you export the page through a Feature, the breadcrumbs you've set will also have been exported.

New in 2.x

Support for Panelizer and configurable breadcrumb panes. Panelizer support requires a panelizer 7.x-3.x version from at least 30 November 2012.

Development sponsored by DRI Discovery/Reinvention/Integration/


Need to configure meta tags within Panels? Check Metatag module. It now comes with Panels support.



First there were modules, then there were Features, and now there are Apps. Apps is the next generation of extensibility and interoperability for Drupal. They provide a much better user experience of extending your Drupal site by providing facilities to download modules and all of their dependencies in one easy step.

You can hear more about Apps at the following Drupalcon Presentations

The apps module is committed to working within the Open App Standard that is currently in development.

The following Distributions are using Apps


Automated Logout

autologout block example

This module provides a site administrator the ability to log users out after a specified time of inactivity.
It is highly customizable and includes "site policies" by role to enforce logout.


Date iCal

Date iCal is your one-stop shop for iCal support in Drupal. It provides a plugin for Views to enable exporting your site's calendar as an iCal feed, and a plugin for Feeds to enable importing external iCal feeds into your site's calendar.


Commerce AutoSKU

Commerce AutoSKU allows administrators to generate SKU's for Drupal Commerce products automatically. Using tokens, the SKU can be generated based on the value of arbitrary product fields such as title, author, or any custom fields you have added. Additional sitewide tokens are available when the Token module is enabled.