35,258 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.

Virtual Folders

Adding various VFS functionality to extend Drupal core and some modules using the the jsTree jQuery library.

A list of sub-modules and their functionality is listed below:

Path Structure

Adds a WYSIWYG button to provide a tree structured view of the site, so that editors can use this familiar style view to add links to their pages. The structure is formed using the path aliases defined so items not included on menus are also included.

Administer Users

The administer users permission is more broad than necessary and not prudent to give most roles. For example, it is often the case that we need to be able to allow a role the permission to create users, but this is within the "administer users" permission. (A problem solved with the UCreate module, but it has not been upgraded to Drupal 7 yet.)

I'd also like to allow users with a given permission the ability to assign other users with a configurable list of roles or a family of permissions. I'm not sure what the UI for that will look like yet though.

Entity RDF demo

Entity RDF content types exported in a feature

Entity Reference Translation

Small module that solves the following specific use case:

When you translate a node that has one or more Entity Reference fields that reference other nodes, the translation form contains default values that point to nodes in the originating language.

This might result into an error that the referenced entity is invalid if you don't remove the references, or adds the burden of having to look up the translated versions of the referenced nodes manually.

Drag and Drop Block

This module allows the blocks to move between regions so fast, without having to enter the path: structure / blocks. Thanks to jQuery and Ajax.


The OTP, One-Time Password, module provides an additional layer of security to the login process by requiring users to enter a randomly generated one-time password in addition to their regular Drupal password.

The one-time password is generated from within your Drupal system and can be sent via email or SMS. No physical token generator/dongle is required.

Not all users require OTP access on a Drupal system. So, OTP provides the option to enable OTP authentication based on user roles.

Attachment Rename

The module renames attachments and add date of uploading to them, for example, if the file name is example.zip and uploaded on 1st Jan, the uploaded file name will become example_1_jan_2012.zip

This module was originally created for inBoundio.com


Hyde is a pluggable content generation system, with focus on generating Drupal content to HTML pages. The name comes from a popular similar system, Jekyll.


The time when a browser was just a dumb client and servers had to do all the heavy lifting when it comes to business logic is over. Modern browsers today aims to be application platforms onto which you can run your code, and there are some pretty impressive demonstrations of this in many places today.

Drupal and systems like it are currently operating the old school way: The system handles everything, content administration, the actual rendering of the content, and any other interactive functionality that goes on around it. This is a complicated system, and it relies on several pieces of software to deliver content to a user: We have to have at least a web server, some middle-layer application and a database involved in every request.





(The module has namespace "sr"=secure rendering for historic reasons)
For backgrouds see

Mediation Workflows

Workflows associated with Mediation

PURL Pathalias

Create PURL-based namespaces for URL aliases.

What problem does this module try to solve?

You're developing a website that uses the Persistent URL (PURL) module, possibly in conjunction with the Spaces or Sites modules. PURL creates separate namespaces in your Drupal site, and through modules like Spaces, your website has some nodes/views/pages in some spaces and some content in other spaces.

However, the URL Alias module requires paths to be unique across the entire site. This is a requirement at the schema level, and is enforced in the UI. This means that you can't natively have an "about-us" path point to node/47 in one space, but point to a different node (or view/page/etc.) in another space.

PURL Pathalias attempts to solve this problem by replicating the Path module's functionality, but with PURL namespace awareness. Thus, you can have something like "name1.example.com/about-us" point to node/47, but "name2.example.com/about-us" point to node/48.

PURL Views

Exposes the PURL table to Views and defines handlers.


Allows translation and localizing of Panels pane titles that were specified in the Panels UI.

Aren't there other ways to solve this?

Absolutely, and I don't necessarily recommend this module for all cases. Ideally, you would be managing the pane title via a token or a generated title callback in the content_type plugin.

That being said, there are plenty of instances where you're forced to type the title in manually, or have parts of the title be literal strings while the rest is replaced with tokens. And in those cases, on a multilingual site, you're going to want a way to translate those strings.

Quicktabs Panes

Provides a content_types plugin for Quicktabs so that they can utilize contexts.

Why would I want this module?

If you've defined views that are used in a Quicktabs set, and these views expect certain argument values that are available as ctools contexts.

Webform Component Style

Wrap and style individual webform components. Allows an administrator to define available CSS classes for components, and then a webform content author can select from the list on an individual webform component.

Webform Panels Extra

Provides additional Webform integration with Panels and Ctools.

Quick Jump

Simple and handy module that allows you (or mainly the administrators / site maintainer) to quickly navigate to any content or administration pages in Drupal website.

Inspired by Quicksilver app for Mac, this Drupal module was written.

The search box is triggered via hotkey with the help of jQuery Hotkeys library by John Resig.



Multi Calendar

What is MultiCalendar
The Multi Calendar module provide a method to support non-gregorian date type in content ,It works without require drupal core patching.It can integrate with drupal date formats and support customizing date format and multilanguage support. provide setting up different date format in different language.as example jalali(shamsi) date type with it's format in persian language and Hijri(ghamari) with it's format in arabic language and also default in english sites. (It's charmly customizeable, can select gregorian in persian or jalali(shamsi) in english site )


The Drupal 7 version of Views requires the Chaos Tool Suite also known as CTools.


  • Install module
  • Setup settings for this module in admin/config/regional/multi_calendar


  • Multi Date Type in Multi Languages(also in single language site)
  • Cumstomable date format in any languages
  • Porivide a core for plugin modules like support Multi Calendar popup, Multi Calendar views integrated ,Multi Calendar views Date filter

Why install this module?

Weather for us weather widgets

Shows detailed forecast

By Installing this widget your users can see weather updates for their location on your website. You can get forecast, various units and really beautiful, eye pleasing weather status that instantly seeks your attention. Plugin loads from our optimised servers to server the best version according to browser loading the plugin and be as snappy as possible.

Works with:

  • IE 8 and above
  • Chrome all version
  • Firefox 3 and above
  • Opera 10 and above
  • Android 2
  • Opera 10 and above
  • Safari 4+
  • iOS 4+


A add-on for Ubercart 2.x to add a separate field for building numbers.
For example to make sure users enter their house number.
You can enable and additional field for additional building number specification.

There are two predifined static variable;
UC_BUILDINGNUMBER_ADDITIONAL_FIELD - default is 0. Set to 1 to enable additional field.
UC_BUILDINGNUMBER_DISPLAY_INLINE - default is 1. Set to 0 to show fields on next row.

Square Pixels Scale


This module adds an image effect (for use in image styles) that allows scaling based on the total number of square pixels in an image (as calculated by multiplying the width and the height). The original aspect ratio of the image is maintained.

This module is useful in cases where images of varying aspect ratios (such as logos) will be displayed together and should have apparent sizes more similar than the basic scale effect can provide.

Drush CMI commands

A sandbox to work on Drush cmi commands