37,556 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 is some example Drupal module code that shows how to display the time to a page, and how to react to arguments in the URL. I used this code to demonstrate Git principles.

Open Badge-It

This module allows you to create badges, award them to users and allow users to issue their badges to an obi compliant backpack like Mozilla's Open Badges Infrastructure.

The Open Badge entities are fieldable. They are created with the minimum
fields necessary to create the valid assertion for the obi. However you
can add additional fields. A template file is used to display the badge
entity page and this page is used as the criteria url for the badge.

User picture safe update

I've got involved in 4 core 6.x->7.x update project, wherein the user pictures was damaged, or lost completely. This script could fix it. On the 6.x version of site, just enable the module, it will generate a table to store only the uids and pictures from the users table. The 7.x version provides a vbo action, you can use it to fix the compromised user pictures.

Social Buzz

This module helps to retrieve social websites buzz indicators, ie. the number of times your articles have been shared, liked or pinned.
You then use the module to promote the most shared articles.


Drucent is a pre-made Drupal + CentOS development and deployment environment available as a set of setup scripts and also as a complete virtual machine.

It contains several software including Apache, PHP, MySQL, Drupal core and modules to develop and deploy Web sites. It also supports Shibboleth SSO and LDAP authentication, PostgreSQL, and other applications.

Structured Pages

The module provides an easy and dynamic way to create pages of any structure



Responsify allows you to set up devices which have FROM and TO pixel breakpoints. You can use these devices in drupal_add_js calls to load in different JavaScript depending on whether the user is in the device bounds you specified. This allows you to for example load in different libraries if the user is on a mobile device width.

How to install and configure

Activate the module, setup permissions, and then go to admin/settings/responsify to set up your devices.

Fields block

Transform fields in blocks

Rate Yes/No Views sort handler


Allow sort content on average value Yes/No widget Rate module.


1. Add relationship "Node: Vote results" with "Aggregation function" = "option-1"
2. Add relationship "Node: Vote results" with "Aggregation function" = "option-2"
3. Add sort "Vote results: Rate Yes/No Average value"

Vardot Apps

Provides an Apps connector to the Vardot Apps server.

This module is sponsored and developed by Vardot.


Apply with Linkedin

Simple module to add API and javascript from Linkedin



This module provides a field for adding universally unique identifiers (UUID) to Drupal entities, called a DRUUID.

It also lets you choose which type of valid RFC 4211 compliant UUID type you would like use, i.e. v3, v4 or v5.

  • Version 3 and 5 UUIDs are named based. They require a namespace (another valid UUID) and a value (the name). Given the same namespace and name, the output is always the same.
  • Version 4 UUIDs are pseudo-random.
  • UUIDs generated below validates using OSSP UUID Tool, and output for named-based UUIDs are exactly the same.

This is a pure PHP implementation see @link http://www.php.net/manual/en/function.uniqid.php#94959


  1. Provides a UUID Field
    - Creates a field that can be attached to drupal entities and bundles
  2. Provides different UUID Types
    - Lets you choose which RFC compliant UUID code to use when generating DRUUIDS.


Enable the module and within your custom module =>

$my_uuid = druuid_create($version = '4', $namespace = NULL);

* Named-based UUID.
* $v3uuid = DrUUID::v3('1546058f-5a25-4334-85ae-e68f2a44bbaf', 'SomeRandomString');
* $v5uuid = DrUUID::v5('1546058f-5a25-4334-85ae-e68f2a44bbaf', 'SomeRandomString');

Mandrill Rejects

Mandrill Rejects - Drupal module

Mandrill Rejects makes sure that all the emails that gets rejected, gives you the posiblity to take action. More will come.
with help from Mandrill API''s.

Mandrill Module is required.

Body Readmore

Hides read more links if a node has a body field that is not trimmed.

Mimics Drupal 6.x teaser "read more" link behavior for Drupal 7.x:

  • If the body field is empty or short enough to display in full, display no "read more" link.
  • If the body field is trimmed due to character limit or page break, display a "read more" link.

In Drupal 7, in part because body is now just a field like everything else, node teasers will always display read more links, even if they would display a shorter (trimmed or summarized) body.

Commerce Product Expiration

Track the expiration of product purchases.

This is a work in progress, at first it is simply be a field to be added to product entities.


The WimTvPro module enhances your Drupal website by converting it into a full video asset management and publishing platform. This module is particularly useful on portals where video plays a major role (Web TVs, news portals, etc.), simplifying, improving and speeding up all video management and publishing operations. Editors can upload videos directly from their Drupal site to the www.wim.tv video platform, publish them on any node having a Body field, and stream them to the visitors directly from the cloud.

Analytics Bot tracking

Track bot activities to Google Analytics


This module will enable frontend, inline editting using the HTML5 Raptor editor.
Raptor is a HTML5, JQuery UI enabled editor with a GPL licens.
See http://www.raptor-editor.com for details. It's currently under heavy development.


  1. download VERSION 0.0.27 from raptor-editor.com and place raptor.min.js in the /js/ module folder. Not tested with any other.
    for example: /sites/all/modules/raptorize/js/raptor.min.js
  2. make sure you use JQUERY version 1.7 using the jquery_update module
    settings are available at admin/config/development/jquery_update
  3. Make sure you have the permission checked to use the editor.
  4. Create a node. Goto the full node and hover over the body. You should see a message "Click here to edit".


This module is mostly a proof of concept, needs testing.
See various @TODO markers in code.

Made by Albert Skibinski (@askibinski) - www.merge.nl

  • only node fields are supported for now
  • node title field not yet supported (because it's not a real field)
  • assumes all fields are (filtered)html
  • only works in the frontend, not a wyswyg editor in edit screens
  • bug with dissapearing content after save (page refresh needed)

Site Redirect

Redirect users to another site based on their I.P. address and country code.

User Case

A .com site has bee closed down, all traffic to that site is re-directed to a .co.uk site

Redirect rules are set up so that:


goes to:


This module then detects the country code of the user based on their
IP address, and redirects the user to the site appropriate to their
country, if a site exists.

UC Payza Integration

This module adds the Payza payment gateway integration with Ubercart.


This module adds the Payza payment gateway integration with Ubercart and requires Ubercart module.

DruStack i18n

DruStack i18n

BDD Testing - d.o. releases

This project exists to test that releases on Drupal.org work after new code is deployed.



Islandora is an open-source software framework designed to help institutions and organizations and their audiences collaboratively manage, and discover digital assets using a best-practices framework. Islandora was originally developed by the University of Prince Edward Island's Robertson Library, but is now implemented and contributed to by an ever-growing international community.


rules_form_alter - rule in action

This module allows you to to do use your favorite hook_form_alter techniques using rules

Provide site developers access to all the power of the hook_form_alter through rules so they can store business logic along side other rules.

Currently provides:

  • An event rules_hook_alter
  • A condition to check the form id (option for contains or exact match)
  • An action to set a form element value using three parameters [name][key] = value
  • An action to set a form element [name] = array(...)
  • Works with commerce_stock: all actions are available from the add to cart validation event. Can be used to create additional form actions like 'download product image'

You can set multiple properties of a form elements using multiple actions like #markup, #weight & #default_value.

You can create new form elements or modify existing once

You can reference nested elements for fieldsets in the format of:
{fieldset}/{fieldset}/{form element}

Also check out Rules Forms Support for similar functionality.

Commerce Gift Certificates

Built off the commerce coupon module, this module creates a gift certificate product, which, when sold, creates a single use coupon code to redeem the certificate.