4,174 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.

IMCE plupload

This module uses the plupload integration module to integrate plupload into the IMCE file browser.


PDF Reader

PDF Reader will render your entity file fields with the selected PDF renderer.

The implemented PDF renderers are:

Important: Zohoo Viewer has been discontinued.


Content Management Filter

This module adds an easier way for administrators to filter the content on a Drupal site for administration purposes.

CMF is an alternative to the Administer >> Content management >> Content tool with these additional options:




Project contains a set of modules for Drupal 7 that use Yandex.Maps service available at http://maps.yandex.com/.

Uses http://api.yandex.ru/maps/ (API 2.x).


Entity connect

Entity Connect now expands both

fields by adding "add new content" and "edit current content" buttons.

It will work with all default widgets provided by Entity reference and References (node_reference and user_reference) .

The Drupal module will allow you to dynamically create and edit entities (see bellow for the list of currently working entity types)
which should be referenced into an Entity reference field.

It will help you to improve the User Experience for creation of new entities or edition of linked entities on your entity reference fields.

The "add a new" button will enable you to add / create a new entity. The first form will be cached then the new form will be generated. Once the new form is completed and saved the user will return to the original form.

The "edit" button will take the user to the edit form of the referenced entity. Once the user is done editing, he is sent back to the previous form.


EPSA Crop - Image Cropping

EPSA Crop - Screenshot

EPSA Crop is a module that allows a user to choose coordinates for different presets on an image. If a user defines coordinates EPSACrop will override the Imagecache process and will set new coordinates.

Every preset with the crop action is handled by EPSACrop. If the user don't change the coordinates, the normal imagecache process is applied.

EPSACrop 1.x depends on these modules


Workbench Access

Workbench Access editor assignments

Workbench Access creates editorial access controls based on hierarchies. It is an extensible system that supports structures created by other Drupal modules.

When creating and editing content, users will be asked to place the content in an editorial section. Other users within that section or its parents will be able to edit the content. A user may be granted editorial rights to a section specific to his account or by his assigned role on the site.

The module supports Taxonomy and Menu modules for the management of access hierarchies.

Note that the module only controls access to content editing. It does not provide any content filtering of access restrictions for users trying to view that content.


Field multiple limit

Screenshot of additional field formatter settings. Number of values to display,

This is a simple module that provides settings to limit the number of values to display on fields with multiple values.

The module extends the field display settings for fields which permit multiple values. Site administrators can specify how many values to display for each display mode (e.g. teaser). Optionally, an off-set can be specified to skip some values.


The Drupal 7 version depends on Field formatter settings API module.


Search and Replace Scanner

Search and Replace Scanner can do plain text search-and-replace, or regular expression search-and-replace, against the title, body and text content fields on all nodes in your system. This is useful for finding html strings that Drupal's normal search will ignore. The module is very handy if you are fixing typos in a lot of content, changing the name of your company, or are changing the URL of a link included multiple times in multiple nodes, among other things.


Drupal-to-Drupal data migration

migrate_d2d provides a framework based on the Migrate API for migrating content from Drupal 5, Drupal 6, or Drupal 7 sites into the Drupal 7 site where it is installed. As of the 2.1 release, It requires Migrate 2.6 or later. Besides addressing contemporary needs to migrate to Drupal 7, it has helped serve as a proof-of-concept for incorporating the migration approach into core as an upgrade path (https://groups.drupal.org/imp).


CKEditor SWF - Enhanced Flash embedding plugin

CKEditor SWF version 6.x-2.0 introduces FLV and MP3 media files easy embedding.

This module is an extension to the CKEditor module.

It also supports CKEditor installed through the Wysiwyg module.

It seriously enhances CKEditor's outdated Flash plugin:
with CKEditor SWF, inserting a SWF animation, a FLV video or a MP3 audio file becomes as easy as inserting an image file: just pick up a SWF, FLV or MP3 file from IMCE (or CKFinder) and that's it!

It is composed of 2 parts:

  1. A client-side CKEditor plugin that adds many features and fixes to CKEditor's default Flash plugin:
    • Allows SWF animation, FLV video and MP3 audio files easy embedding
    • Retrieves width and height from the SWF or the FLV file
    • Adds a lock/unlock button to maintain aspect ratio while changing width or height
    • Adds a button to reset width/height to the SWF file's default dimensions
    • Allows width/height percentage values
    • Adds a textfield in Properties tab to edit the base parameter
    • Adds a Flashvars tab to edit the flashvars parameter
    • Displays a real preview
    • Fixes various bugs of the default plugin
    • New (experimental, in dev)! Allows to directly paste a YouTube video URL into CKEditor SWF to embed it!
  2. A server-side input format filter that converts the Flash embedding markup generated by CKEditor into a standards compliant one:
    By default, CKEditor generates a <object><embed></embed></object> markup, which is not standards compliant.
    CKEditor SWF Filter converts it into the correct <object><object></object></object> markup.

    If you prefer, CKEditor SWF Filter can also use the SWFObject JavaScript library to embed the Flash content.


Drupal SEO Tools

Drupal SEO Tools dashboard

The Drupal SEO Tools module seamlessly integrates a sophisticated all-in-one suite of search engine reporting, analysis and optimization tools into your website. It provides a dashboard that integrates analytics reports with links to webmaster tools and vital Drupal SEO modules.

To get a better idea of what this module does, checkout the demo video

The SEO tools suite integrates:

  • Keyword research
  • Keyword management
  • Keyword extraction
  • Content optimization
  • Content reports (via SEO Friend)
  • Content tagging
  • Link management
  • Content autolinking
  • Cornerstone content & silo management
  • Drupal SEO architectural enhancements
    • Page titles
    • Metatags
    • Path & Pathauto
    • Global redirect
    • Path redirect
    • XML sitemap
  • Google Analytics w/ API integration
  • Google Webmaster Tools

To learn more visit the Drupal SEO Tools Homepage




AntiSpam statistics page

AntiSpam module is the successor of the Akismet module, and it provides spam protection to your drupal site using external antispam service like Akismet.

AntiSpam module is fully compatible with Drupal 6.x (Akismet module for Drupal 6.x release had many compatibility issues and was not usable as it was), and it expanded the support of the external antispam service with TypePad AntiSpam and Defensio service as well as Akismet service. Now you can choose one of the antispam service you wish to use.

Supported Anti-spam Services

In case of Defensio, the AntiSpam module take advantage of spam rating (spaminess) information provided by Defensio and you can sort the moderation queue list using spaminess (see the screenshot).

AntiSpam Helper Module


Double field


What is Double field?

Double field is a small module written to provide extensions to Drupal's core Fields. By this module you can split your fields up into two separate parts.

For the moment it includes the following sub-widget types:

  • Textfield
  • Select list
  • Single checkbox
  • Textarea

Consequently, in all there are 4 x 4 = 16 widget types.

Use cases


Delete all

This module is used to delete all content and/or users from a site. This is mainly a developer tool, which can come in handy in several cases, listed below.

The usual way to do this is to go to Administer -> Content then select all the nodes and delete them. This works if you have a handful of nodes only. If you have hundreds or thousands of nodes, then it is not a practical solution.

Another option is to directly delete the nodes from the node table in the database. This does not work properly, since there are also comments, and many tables for add on modules that needs to be cleaned.

  • This is a test site that the client was using for a period of time, and they must clean it up before starting with real data.
  • You are testing something that creates a lot of nodes (e.g. aggregator), and want to do it over and over again.
  • You created a site in the past and want to replicate it again, but with new content.

Note that for nodes, comments and all additions to nodes that contributed modules may have added. For users, any additional module data will also be deleted.



drush delete-all
Example: drush delete-all article

Drush on Drupal 7 version

Delete all nodes, nodes of a specific content type or users.



Image Caption

Image Caption


This module uses JQuery to dynamically add captions to images.
The image title attribute is used to create the caption.
It basically wraps the image in an html container div, takes the image title text and appends that in a child div underneath the image.
Technically, it works by implementing Drupal's hook_nodeapi to add one small snippet of captioner jquery to the head section of the page when a node of the configured type is viewed.


<img src="/files/example.jpg" title="example caption" class="caption" />

This will result in an image with the caption of 'example caption'


  1. Copy the image_caption folder to your Drupal modules folder
  2. Add the empty css definition:

    to the stylesheet used by your WYSIWYG editor (to enable it to appear in the style select box on the editor toolbar, or class select box).
    You might be able to add it to your theme's style.css to get it to appear in the class dropdown box in your WYSIWYG editor.
  3. Enable the Image Caption module in Drupal module administration.
  4. IMPORTANT: After install, select the node types to include in image caption processing under Site Configuration > Image Caption



Language Switcher


Language Switcher for Drupal 7 is an enhancement for core language switcher block in local module. It's very useful for websites with multi-languages where you want to display content in different languages side-by-side. Watch this video to better understand the concept.


Divide your website page to a number of sections where each sections contains nodes in one language (see the screenshot).


  • When #1164926: Nodes need to have languages specified separately for accessibility lands into D7 core, the code base for this module will be much simpler, and cleaner.
  • Currently with core locale module, there is two language switcher blocks, one for interface, and the other for the content. This module should only alter the content one, not the interface one. Currently, it alters the interface block!

How to?

  1. Enable Locale and Content Translation modules.
  2. Add other languages, e.g. Arabic, French (admin/config/regional/language).
  3. Go to Language Switcher config page (admin/config/regional/language/language_switcher), select what mode you want to use.
  4. Go the content type you want the translation to be enabled on, select `Enable, with node translation` (e.g. admin/structure/types/manage/article).
  5. Add nodes, add translations.


Node Embed

Have you ever wanted to include the rendering of node within the content of another node? For example, embedding an Image/Slideshow/Video node within the body of an Article node. Or the embedding of an Author node as a bio block within a blog posting? Node Embed allows you to do that.



Home box

Homebox allows site administrators to create dashboards for their users, using blocks as widgets. Blocks in a Homebox page are resizeable, and reorderable by dragging.

Homebox is currently used on Drupal.org for the 'Your Dashboard' feature.

Version 3.x of Homebox is under active development for Drupal 7, with many new features and improvements. There is no upgrade path from 6.x-1.x to 6.x-3.x or 7.x-2.x. You must completely uninstall version 6.x-1.x prior to installing version 3.x.


Nodes In Block

Nodes in block

Nodes in block makes it possible to add nodes into a block. A number of configurable blocks are generated which you can assign to a region. Visibility settings of this block are automatically set to 'Show on only the listed pages'. On the node content form, you define the weight and visibility per node thus making it easier for content administration as all your content is now in the same place. With this module, you don't have to explain your customers how blocks work but is still able to decide on which pages content must be rendered.


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!


Checkbox Validate

Corrects bugs in Drupal core:


Corresponding node references

New development is done in the http://drupal.org/project/cer module. This expands the corresponding node reference functionality to enitities. Please focus all attention on getting a stable release of cer as soon as possible.

Cnr is looking for a comaintainer to resolve the remaining bugs. No new features will be handled.



It syncs the node reference between two node types which have a nodereference to each other, so double editing nodes is no more needed. If one node has a reference the other node receives also a reference to the saved node if it is referenced in that node.


Release 6.x-4.0 doesnt require setting the options to unlimited, all is handled by cck now. The old setting to allow setting to single is no longer present since it is obsolete. To upgrade, run update.php and manualy set the allowed references on each nodereference instance. The older branches are not supported anymore so you should upgrade.


6.x : CCK
Node reference (comes with cck)
7.x: Node reference (included in References)



Focal Point


Focal Point allows you to specify the portion of an image that is most
important. This information can be used when the image is cropped or cropped and
scaled so that you don't, for example, end up with an image that cuts off the
subject's head.


Media: Flickr

Drupal LEGO figures, by Gábor Hojtsy

Media: Flickr adds Flickr as a supported media provider.

Most popular web services, including Flickr, support oEmbed. It is generally recommended to use Media: oEmbed instead of specific provider modules.