39,870 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.

WebServer Integration


There seems to be no unified library to simplify integrating with webserver softwares and their configuration files like .htaccess (Apache) web.config (IIS) etc. Which makes it almost impossible for Drupal developers to fully integrate with all the powerful features these webservers have to offer without having to be worried about differences, manually editing files, conflict with changes made by other modules and a safe way to keep these settings up-to-date with latest modules’ changes.

These module is an attempt to address all these issues and finally making proper integration with webservers possible.

Version 1

In first version there will be no unified syntax since it’s not an easy thing to implement and requires good understanding of difference between popular web servers. However it will come with some very useful features:

  • Module hook to introduce supported webservers , require webserver configs and define some indicators so webserver integration can check whether their changes is applied or not
  • Module hook to alter webservice configuration file in text format (For example using regular expression). The running webservice will be send in as a parameter
  • Hook for defining new configuration files in different locations (by default root and sites are already defined)

code migrate

The Code Migrate module is designed to assist developers in migrating websites from Drupal 6 to Drupal 7. It carries out a detailed analysis of the code base of the D6 site and outputs several lists that help to plan a D6->D7 migration.

Comment Limit By Role

Limits how many comments a user may post per day for every 'n' hours, where 'n' can be specified in the settings page..
Adjustable on a per user-role basis.

This module was developed from the Comment Limit Module

This module is developed for Sponsored by Noise From Amerika


DrupalPro Development Desktop is built on Ubuntu 12.04

DrupalPro is a downloadable pre-built machine image for Virtualbox; but may work equally well with VMware, QEMU, Parallels, or the like. It aims to be ready out-of-the-box for building websites, developing, theming, and contributing to Drupal. It's also useful for Trainers looking for a clean stable environment that can be setup in short-order.

Download the beta

DrupalPro Beta2 Works in 32 or 64bit environments


DrupalPro Development Desktop is easily backed up (even in real-time), easily cloned and customized for each individual project, doesn't require installing gobs of software on your computer in order to build websites, is easy to remove or migrate to another computer, is much more compatible with your production webserver than a WAMP or MAMP stack, and can even be run on a USB3 stick.

Rules Mail Edit

Rules Mail Edit adds rules actions to allow rules to send emails to single users or users of a role using Mail Edit templates. It does support rules tokens.

After enabling the module, rules actions will have two new options under System:

- Send mail using mail edit templates
- Send mail to all users of a role using mail edit templates

Create an action using one of these options.

Combination Field Storage

This module stores fields both in MySQL and in MongDB. When loading entities, or querying them using EntityFieldQuery, it uses MongoDB. When using views, it uses MySQL. Have your cake and eat it too!

This is especially useful in read-heavy, write-light situations that make extensive use of views.

If you don't need full views integration, we would suggest instead using MongoDB field storage and EFQ Views

Views Slideshow Parallax

The goal of this project is to create a views slideshow display and content type that will ultimately allow you to create a featured content slider that uses parallax to animate several elements independently from each other when the carousel slide changes

I will be aiming to produce something that will function like this (including browser fallbacks)

A sample content type is included that will contain fields for


What does the slabText jquery plugin do?

Put simply, the script splits headlines into rows before resizing each row to fill the available horizontal space. The ideal number of characters to set on each row is calculated by dividing the available width by the CSS font-size – the script then uses this ideal character count to split the headline into word combinations that are displayed as separate rows of text.


This module is a port of uc_civcrm to provide the same functionality for commerce.

TODO This module assumes that email and phone fields for the customer address
are fields named 'email' and 'phone' respectively. These assumptions should
be made configurable by a setting.

TODO Payment integration still needs to be completed

TODO Support for commerce standard but not default fields. First name, Last name, Organisation etc.

TODO Support for addresses beyond the initial billing address.

Config tools

Allows the import and export of configuration using web services - provides a config_server and config_client module.

Views responsive data tables

This module provides a new display style to views, wich extends the default table style to be responsive.
More information about what this module does: http://css-tricks.com/responsive-data-tables/

theme elements

Lists html elements for theming purposes

User Priority Ranking

This module is under development. This module will not do anything out of the box. You will need to configure multiple settings and views to get this to function the way you want it to. To help, I have added a test example feature module.

Here is the goals:

  1. You are on a page listing content as a view(ie 'requested datasets'). Each content has a flag link.
  2. User clicks the link to flag the content. Page reloads. On the sidebar a draggableview block shows up.
  3. User flags 2 more items. Now there is a draggableview with 3 items. User can drag the items up and down
  4. Based on the order the user ranks the items the main view order changes.

Flag - 2.x
Flag Limit - 1.0-alpha1
Draggableviews - 2.x
and their dependencies

Patch Flag Limit module - #1451536

Need to apply this patch to flag module #1596492: Flag database data not cleaned up on comment & node delete Patch #9. Without this the flag limit module will include deleted nodes and may produce undesired results.

For the example module you will need the additional modules:
Features - 7.x-1.0-rc3
Node Export - 7.x-3.0-rc3+

Domain Blocks All

Domain Blocks All creates a bulk block management form on the Domain Access admin page to easily enable multiple blocks to multiple domains. This relies on the Domain Access and Domain Blocks modules.

The use case is when you have organized your current blocks into regions on your theme and just need to enable multiple blocks to a new Domain Access record on your site.

Media: Playwire

Media: Playwire provides Media module support for the Playwire video hosting service.


This module allows one to customize the output of theme functions and templates using the user interface.

IP Subscription

IP Subscription

Grant anonymous and authenticated users access to content, based on the users IP address.

Version 2 includes Google Analytics integration which requires:

Google Analytics
Google Analytics Reports

NOTE: these modules have their own dependencies. Also the latest stable releases may be quite old, in which case the -dev release is recommended.

Configuring Google Analytics

Custom variables

Slot: 1
Name: ip_sub
Value: [ip_subscription_uid]
Scope: Session

Also file extensions to track may need to be extended.

Anonymous user roles

The key to granting user roles to anonymous users is the permissions cache - this is a cache mapping user ids to permissions. The issue is that we need multiple anonymous users to have individual permissions. So we need to prevent these from being cached.

This can be achieved by modifying the appropriate call to user_access().

--- return user_access($string, $account);
+++ return user_access($string, $account, true);

The 'true' argument resets the cache.

Saba Payamak SMS Gateway


Saba Payamak SMS Gateway enables the smsframework to use Saba Payamak service as a gateway.


This module is in an early development stage, It is not intended to be used in production.


A valid line number, username and password provided by Saba Payamak.


SOAP Client


  1. Install & enable SOAP Client.
    • Go to admin/settings/soapclient.
    • Under "Active SOAP Library" check the "nuSOAP" option.
    • Leave other options as default.
  2. Install and enable Saba Payamak SMS gateway.
    • Go to admin/smsframework/gateways/sabapayamak.
    • Fill the required fields by the credentials provided by Saba Payamak.
    • Leave other fields as their defaults and save the configuration.
  3. If you wish to also be able to receive SMS messages:
    • Go to admin/smsframework/gateways/sabapayamak.
    • Copy the URL under the Incoming SMS Settings section labeled Traffic Relay Gateway.

Real World Interface

A generic module to interface Drupal with the real world through UART and other computer interface.

Initially only working with the UART interface

Retina JS image style

Simple module that provides a double-sized image when using a HighPixelDensity display (a.k.a. Apple Retina Screen)

Use RetinaJS (http://retinajs.com/) with drupal core image style. Download, enable, et voila!

For every domain.com/FILENAME.jpg, RetinaJS script looks for domain.com/FILENAME@2x.jpg image.

Commerce product page

Enables public-facing commerce product pages like product/1 so they can be viewed individually like content.


Views Wizard: Add all node type's fields to View

Select a node type and a view (or optionally create a new view) and this Views Wizard will add all of that node type's fields to that view.

This is handy for when you are often creating node types with 10+ fields and want to quickly generate output (ie. a CSV file) of those nodes.

Forum generate

This module extends the devel module's devel_generate to allow example forum structures to be generated.

Drupal core's forums (including those enhanced by Advanced Forum) are really just taxonomy terms, and the devel_generate module can generate taxonomy terms by itself.

What this module adds is the ability to create some terms which are forum containers, plus it also specifically inserts generated terms into the appropriate vocabulary.

Who should use it?

Developers might want to use it to create test data when working with core forum or Advanced Forum.

Similarly site builders could use it to create example data in order to evaluate Drupal's forum functionality, including enhancements to this functionality added by other contrib modules.


The forum_generate module adds an admin page to those already provided by devel_generate:


...hopefully the options there are self-explanatory.

If you want to create a set of test forum data, you might want to do something like:

  • generate 100 users
  • generate 5 forum containers and 25 forums
  • generate 250 Forum topic nodes, with maximum 50 comments, adding taxonomy terms to each node.

Europeana API

Search integration

The project use the Europeana API to integrate content from the European digital library, http://europeana.eu into Drupal in two ways:

Demo Sandbox Module 2012

This is a demo sandbox module from the screencast