38,107 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.


While there's nothing stopping you from just pasting Gumroad share links in your node bodies or creating a Gumroad share field on your content types, this module aims to encourage a more structured, integrated approach to selling products with Gumroad on your Drupal website.

Beyond architectural normalization, it also introduces a standard way to handle Gumroad's Webhook and Ping APIs in Drupal. Those looking for a more advanced e-commerce solution should use Drupal Commerce.

Chili highlighter

It highlights <code> tags by default, but you can set it to highlight <pre> tags.

General notes

  • Follow the instructions reported in the file README.txt (contained in the directory js) to download the jQuery Chili plugin, and copy it in the correct directory.
  • Branches for Drupal 6 and 7 looks for the jQuery plugin also outside the directory where the module is copied, such as /sites/all/libraries/jquery.chili, or profiles/$profile/libraries/jquery.chili (where $profile is the currently used profile).
  • The module doesn't use the e PCRE pattern modifier, and it is compatible with the Facebook Hiphop interpreter. Using that modifier with the function preg_replace() is also strongly discouraged by the security team, which suggest to use the function preg_replace_callback() instead.
  • When updating to a newer version, update first the Variable API module, and then the Chili highlighter module.

PAD File

Screenshot of the main PAD File Editor


This project offers a way so users can create PAD Files on their Drupal site without having to know anything about the XML format or have to use some "weird external tools".

The module lets users enter all the necessary data, validate the data properly, and serve the PAD files as required.

You can have a look at the output on the Turn Watcher website. Look at the bottom of the page (right after the scroll). Click on the white links to see the XML file and the PAD Page. Those are the result of entering the necessary data in the PAD File as created by this module.

GMO Payment Gateway

This module allows Ubercart to process payments using the GMO Payment Gateway.

Note that this module depends on the Libraries module and the Better Getter library. Please consult the README.txt file for complete installation instructions.

Simply Hired Job-a-matic

NOTICE – SimplyHired has discontinued Job-a-matic as of September 30, 2014.

SimplyHired has discontinued the Job-a-matic service and API. It has been reported by some users that this module no longer works due to the changes. Please use the new SimplyHired module which fully supports the new Simply Partner program.. For more information on the new SimplyHired partner system, visit simply-partner.com.


Simply Hired Job-a-matic is a great way to earn additional revenue from your existing website and provide valuable content for your users with a free hosted job board. The Job-a-matic module uses SimplyHired's XML API to display job postings from their database directly within your Drupal site.

NOTICE: The SimplyHired Terms of Service requires that an attribution be displayed on any page that contains SimplyHired data. This can be disabled in the module configuration, but by doing so, you knowingly violate the SimplyHired Terms of Service Agreement and the module author is not liable for any legal action taken by SimplyHired. The official terms are located at http://www.jobamatic.com/jbb-static/terms-of-service.

JS Registry

Similar in spirit to the theme registry, this module allows core and module javascript files to be overridden by being placed in an alternate location.

Zoomify Image Inpage Link

Click a gallery image to show it in main zoomify image container.

Adds a new ImageField Zoomify widget that lets you load further images into the main Zoomify container on the page on click.


Zoomify Image Module currently support viewing images as separate Zoomify conainers or open them in a separate tab.
This is an extension to the Zoomify Image Module, which lets you display Image Field images (that fit the required minimum size) in the Zoomify Viewer of the Contents main picture.



  1. Download and enable this module (and its dependencies
  2. Add two image fields to the desired content type:
    • One main image with formatter: "Image in Zoomify viewer". This is where all images are displayed later! [Provided by Zoomify Image Module]
    • Another image(s) field with formatter: "Image linked to Zoomify viewer on CURRENT page". These are the further Zoomify images that will be loaded into the main Zoomify viewer container.
  3. Done! Happy Using!
  4. Visit our Websites for more information about our services. =)

Development proudly sponsored by:


Taxonomy Feed Views Integration

Short Story

This module allows you to create a RSS feed, based in terms from a vocabulary or vocabularies using Views module.

Long Story

This module create a new custom View Style called Taxonomy Feed, Only enabled for Views: Term type. Also this module create a new row style Taxonomy Term. Allowing you to use all standard features from Views module to generate your custom RSS list.

The RSS output items points to his own term URL feed.


<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="http://yoursite.com/rss/vocabulary/list">
   <title>RSS Vocabulary List</title>
   <description>Your Site Description.</description>

Google Analytics Ecommerce

Configure Google Analytics Ecommerce tracking for any content type.

Every time a user creates a new node of a content type configured to be tracked, a new transaction is sent to Google Analytics. This module doesn't depend on ubercart. You can use google analytics ecommerce for leading tracking for example.

Account mail

Account mail provides a Form API element to easily edit a user's email address.

Many sites which have registered users capture a number of profile fields about a user, such as name, job-title, email address, etc. Drupal typically handles this by having two tabs below user/123/edit: Account and Profile. This can prompt a usability issue, where users go to one URL to change their personal details, but a different URL to change their email address.

Typically I get asked to add an "Email address" field to an arbitrary form, such as their profile form. This usually meant a fair amount of custom code: a form_alter to add the new field, some validation handlers, submit handlers, etc. This module tries to abstract this out by providing a reusable Form API element for editing the 'mail' field for Drupal users.


Heatmap preview

Reinvigorate has been acquired by webtrends, thus rendering this module obsolete.

Reinvigorate is a simple, real-time web analytics + heatmaps solution that measures your influence on the web. This module provides an easy to use interface to adding reinvigorate tracking to your Drupal site.

Read more at their website.

Maintained and developed by: devkinetic.

Job queue delete

This is a small module that's enables users with the correct permission to remove jobs added by the job_queue module http://drupal.org/project/job_queue. It overrides the default Job queue list at admin/reports/job_queue if you have the new "delete from job queue" permission.



This module provides a block displaying a page loading progress indicator as percentage (for theming) or as a default Drupal Progress bar.

It's actually a jQuery plug-in that counts the number of img:visible tags on the page and attaches and onLoad event to them, which updates the counter once that image gets loaded. This gives a certain control over what you need your content to do while you load image intensive pages.


  • Set the minimum number of images to have on the page before displaying progress.
  • Use Drupal.progressBar or not, in which case a simple div > span with the percentage will be inserted in the block and the span element will get updated with the progress in percentage.
  • Enable or disable animations (content fading in when the page finished loading)
  • Set the element in which we check for the images (img tags) to load (#wrapper by default)
  • Set the container for your content which will get hidden then faded-in when the page has finished loading if animations are turned on (#container by default)
  • Set the CSS Class applied to both elements specified above while the page is loading ('loading' by default)
  • JS callbacks for the different loading stages (25%, 50%, 75% and 100% [backed by $(window).load when img tags don't fire their onLoad events])


UC Image Product


This is a module for Drupal and Ubercart. It converts regular drupal image node-types into Ubercart products. This module handles the conversion(s) in a batch. You can attach a Taxonomy to the image(s). You may also use your own defined product class.

Content Levels

Content Levels

The Content Levels module exposes a cck field type & widget by the same name.

This field allows the user to define some ordered series of content ranking (e.g. 'Gold', 'Silver', 'Bronze') and to specify the visibility and editability of each field on the content-type depending on the content level of a node.

Module hierarchy

Module hierarchy screenshot

This adds an admin page alongside the module administration which shows all the modules on the system arranged in a tree according to dependency. You can navigate the tree to show branches of it.

This is useful when you are creating many custom modules for a site and want to see a visual representation of their dependencies.

Language Facet

#522242: Language facet / Multi-lingual search
Language Facet: Allows users to search content through node language. Languages can become a facet that can be used to refine the current search.

This is an add-on module to the excellent faceted search module (http://drupal.org/project/faceted_search).

Workbench Panels


There is a discussion going on about adding this to workbench_moderation.
See #1188590: Task plugin for 'node/%node/draft' and 'node/%node/revisions/%/view'

Hubble Telescope Daily Image


This is a very simple module that creates a block that displays a Hubble Space Telescope image each day of the year. The image changes every day.


This module depends on the drupal core block module.


This module is installed like any drupal module and has no specific
installation instructions.

Book Outline Builder API

This is an API for creating book content outlines. It's similar to the Skeleton module in that it seeks to make outlines reusable but differs in that it's completely for developers. For examples on how to implement this see the ELMS distribution (see elms_id_best_practices and elms_content for complex examples in particular). Right now this is used for course outlines but is generalized to allow for the rapid creation of any outline. Below you will see the API.txt file for how you can implement and modify outlines defined by other projects.

Here is the basic structure:

$outline['YOUR_TEMPLATE_MACHINE_NAME'] = array(
     'title' => 'YOUR TEMPLATE NAME',
       'type' => '',
       'title' => '',
       'content => '', //optional body content
	'format' => '', //optional text input format
	'duplicate' => TRUE //or number of times to replicate,
	'children' => array(

--Acceptable values for type, any kind of content type
--@i can be used in the title of something that's going to be duplicated as to where the incemental value should be placed. This is not required.
--duplicate: number of times to duplicate, the loop value can be altered based on criteria, see hook_book_outline_builder_loop_alter.

Commerce BBVA

Commerce BBVA is payment method for Drupal Commerce.

This module should be used with the BBVA exclusive payment method. For the BBVA standard spanish SERMEPA method please use the Commerce SERMEPA module.

Development by Metadrop.


This module allows to create and manage whos.amung.us widgets via
blocks without writing HTML/JS code, just configuring an option form.

You can create as many widgets as you want, configuring default options
for all of them, or overriding them as you want.

The main module allows to manage configurable core Blocks, but this
module comes with four submodules if that is not enough:

  • Bean: Integration with Bean module.
  • Boxes: Integration with Boxes module.
  • CTools: Integration with CTools.
    • It defines a configurable Content Type plugin.
  • Views: Integration with Views.
    • It defines a configurable View Handler Area.
    • View Handler Areas can be placed in:
      • View's Header.
      • View's Footer.
      • View's Empty area.

API key is detected at installation time (if possible) or it can be
configured/changed via administration.

This module is integrated with Features when using core blocks.

Commons Images

Provide Image functionality for the Drupal Commons distribution.


The module adds an image field to all Commons node types (that use hook_commons_entity_integration()). It adds an Insert button by default to let users insert the image in the WYSIWYG interface. If you don't want to use the Insert function or if you want to use Plupload instead you can make this known using hook_commons_entity_integration() like this:

 * Implements hook_commons_entity_integration.
function MYMODULE_commons_entity_integration() {
  return array(
    'node' => array(
      'NODE_TYPE' => array(
        // Use Plupload, default is FALSE.
        'enable_plupload' => TRUE,

        // Disable Image Insert, default is FALSE.
        'exclude_image_insert' => TRUE,

Ctools Plural String


The module provides a panel pane that displays plural string (including count of items string).

An example of using the module:

  • Display the number of comments
  • Proper display of the calendar day

Note: Panel pane is in the miscellaneous tab.

Graphviz Noderef

Development of this module is on hold, until relation is stable at least. I will probably not continue developing it after that, as graphapi seems a far more flexible solution, and may eventually be able to output graphviz graphs anyway. If you feel like taking up the reins of this module leave a note on the issue queue.

Graphviz Noderef displays nodes as a Graphviz graph/map, with NodeReference fields as edges between nodes. This module is being actively developed, and is currrently pre-alpha. Feel free to use it on a production site, but don't be surprised if it breaks.


Install the module as normal. A new tab will appear on every node, which will include a map with options allowing you to change display settings. Currently, the module only displays node-centric recursive graphs (ie. graphs that start with one node, and work out from there, to a given depth).

The Graphviz Noderef Field sub-module provides a CCK field that shows basically the same map as the graph page.


To run this module, you need Graphviz Filter and CCK.
The module also currently supports bckreferences using the Node Referrer module. More backreferencing modules will be added in the future, check the issue queue for details.