906 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.

Taxonomy container

Taxonomy container select list

This module provides an extra widget called «Select list (with groups)» to term reference fields.

Drupal 6 version of the module just alters taxonomy form and converts to optgroups all top-level options in the select list.

Chosen module can help you make select boxes much more user-friendly.


Media: BlipTV

Media: BlipTV

Drupal 6 version
Provides support for BlipTV videos at http://blip.tv/ to the Embedded Media Field module, available at http://drupal.org/project/emfield. Install that and the included Embedded Video Field module.

Drupal 7 version


Time zone field

Time zone map

Time zone field (tzfield) provides an autocomplete or select field for storing time zones. It could be useful if, for example, you have a node type representing a location such as city, office, station, etc., and you wish to associate a time zone with these nodes. Time zone data is stored in the standard tz database format, e.g. Europe/London.

On Drupal 6, CCK and PHP 5.1+ are required.


DB Tuner

Configuration Page

Wondering why your views run so slow? Why after switching to InnoDB, MySQL isn't running any better? This module has the answers!


It will show what CCK columns get used in a view filter or relationship and give you the option to add an index on it so the views query will run faster. Also can add indexes to core modules that could use one.


Ability to convert your database from MyISAM to InnoDB in order to eliminate table locks on data writes.


Are half your tables latin1_swedish_ci and the other half utf8_general_ci? Use this to change them all to utf8_general_ci.

MySQL Tuner

Have you never edited your my.conf file? This will give you hints at what values to tweak in order to get MySQL running better. Special thanks to MySQL Tuner, since this part of the module is a port of that project.

Future Plans:

Similar Projects

MySQL Report
Shadow - SQL queries / views optimization
Materialized View API


Composite Layout

ProsePoint Demo Screenshot

Composite Layout allows your nodes to be displayed in complex layouts. Currently, two and three column layouts are provided. You can also add other nodes, blocks, and even CCK fields to your node's layout. The content area of your node is divided into zones and you decide what should appear in those zones. Zones are essentially the same as Drupal blocks, but they apply to nodes rather than the entire site.

You can think of Composite Layout as Drupal blocks for nodes.

There is overlap in functionality between Composite Layout and Panels. Both address the issue of complex layouts, but each has a different approach.

Here is an informal comparison:

  • Panels is more powerful and flexible (I think, I'm not a Panels expert).
  • Composite Layout is simpler (I hope).
  • The user interface is different. You may prefer one or the other.
  • Composite Layout applies on content types, so it can be turned on for any node. Furthermore, you can have more than one composite layout node type.
  • If you use the Content Construction Kit, Composite Layout allows you to manage the layout of your CCK fields.

Otherwise, it will probably come down to personal preference as to which is more suitable.



CCK Redirection

This module provides a CCK field for redirecting a user to a new URI. The creator of a node specifies a valid URI in the CCK field, and when a user visits that node, he will be redirected to the destination specified in that field.

Sponsored by and co-maintained with Prometheus Labor.

Drupal 6:
In Drupal 6, you can also choose to redirect instantly, with a delay (using javascript), or put the target URI page in a frameset (like Google Images).


Multiple Value Widget


Drupal utilizes draggable tables to handle multiple value forms. It's quite convenient for most simple field types. However, for complex field types such form can be cumbersome. For example, the widget for Image field type can contain a preview of a file, an upload button, a text field for title and alt attributes. Sometimes you have a lot of images to be uploaded and the form takes up a lot of space.



SignatureField allows you to collect HTML5 canvas based signatures in webform, cck and in your custom modules via fapi. It then displays the collected signature as a transparent png. SignatureField works with both mouse and touch devices.

It achieves this using the Signature Pad jQuery plugin from:

SignatureField Drupal 7 development has been sponsored by:


Content Complete

Content Complete Block

Content Complete is a CCK extension module that allows to tag CCK fields needed for completion (CCK Complete). The module checks the tagged fields against the content provided for those content types, and computes a complete percentage that can be shown to the user.

The complete percentage can be shown to the user in the form of a block, or using the views integration available since version 1.2.


  • Introduction
  • Configuring Views show you how to make a list view of completion data and combine completion data of different nodes.
  • Configuring Rules shows you how set up complex workflows. Example: set up email reminders sent automatically to authors of incomplete nodes (< 100%).


  • Rules integration. Provides a condition for completion >= x%.
  • Views integration is available from version 1.2

Related Modules


    Fieldset helper

    Saves the collapsed state of a Drupal collapsible fieldset.

    The fieldset_helper module also improves the usability of the main module page (admin/build/modules) by adding expand and collapse all fieldsets links to top of the page.


    UC Node Checkout

    Ubercart compatible module.

    This module allows you to bind a node type to an Ubercart product, as typically required in event registration sites and alike.

    Binding a node type to a product has two effects:

    • When a user creates a node of that type, the specified product is added to the shopping cart with a node reference to the newly created node.
    • When a user buys a product with a bound node, an extra step is inserted into the checkout process requiring creation of a node of the bound type.


    Imagecache Proportions

    This module provides a CCK formatter for imagefields that allows the user to select between three different imagecache presets depending on the proportions of the original image. So you can use this module for altering the display proportions of a image field or similar in the display field screen, in Views, etc.
    If the image is more or less squared (you can set a looseness in pixels) you will be able to select a squared preset, if the image is wider than higher, you can select a more "horizontal" preset and if it's higher than wider, a more "vertical" one.
    It's integrated out of the box with thickbox, colorbox, shadowbox and lightbox2 for displaying full links.

    Drupal 6.x



    • Create presets for the wider image, the higher and the squared one.
    • Edit the field settings for your image field, select which imagecache preset you would like to use for each proportion and the looseness for the squard ones.

    Drupal 7.x



      Nodereference Explorer


      The Nodereference Explorer (NRE) is a selection dialog for creating references between nodes. Editors can link arbitrary content type instances, e. g. pages, stories, news, images etc., with each other. Typical use-cases are for instance:


      Imagefield Import


      Imagefield Import allows users with the proper permissions to import a large number of images into a CCK content type which contains a filefield or an imagefield.

      The module can grab titles and descriptions using EXIF or IPTC.

      It is possible to set taxonomy term associations and CCK field values during the import.

      In spite of the name, this module also supports normal file fields. You can use this to create a bunch of nodes with attached files.


      Social Profile Field

      People have profiles in different social networks and this field allows to collect links to social network profiles and show them as an icons.

      Sponsored by Druler and Shvetsgroup


      Node Field

      Node Field module allows you to add custom extra fields to single drupal nodes.
      It's not connected to fields module, so different nodes of one content type can have absolutely different sets of custom fields.


      Media: Ustream

      Drupal 7:

      Media: UStream integrates with the Media module to make UStream videos and channels available as file entities.

      The 7.x-1.x branch works with Media 1.x and Media 2.x.

      We still have a couple (minor) issues to fix, want to help? See the readme and check the issue queue.

      Drupal 6:


      Hidden Field Widgets

      This is a new module I'm currently working on to support "hidden" and "value" form widgets for fields in Drupal 7. The module is based on some code chx threw together after a discussion on IRC.

      The code still needs some tests and polish, but it is usable today. It's your data, though, so be careful.


      Semantic CCK

      Semantic CCK config

      Semantic CCK was created to give users the means of customizing the HTML output of CCK fields. It was inspired in part by the highly recommended module Semantic Views which provides the same functionality for Views.

      Drupal 7

      A Drupal 7 version of Semantic CCK is currently under development: Semantic Fields.


      Jquery Slideshow

      This module creates a javascript slideshow using the Cycle plugin for Jquery. The slideshow is created from multiple imagefields of a node. There are settings to change the type and speed of transitions. Settings also exist to use Imagecache presets for the images.

      This module requires these modules:

      Example of this module in action.


      The CCK Display Field Setting (Screenshot)

      The Jquery Slideshow Settings (Screenshot)

      A big 'thank you' to Lee Rowlands (larowlan) for porting this module to D6.

      Other slideshow modules that you may want to test

      The latest 2.0 code for this module is on GitHub



      Link Image Formatter

      Defines a field formatter to display a link to an image as an HTML image element.

      The Imagecache External module (D6 only; http://drupal.org/project/imagecache_external) is recommended to allow for custom dynamic external image manipulation and cache.


      Media: Video Flotsam

      This module contains Embedded Video Field providers (i.e. emfield's emvideo module) that don't currently have their own "Media: " module yet (see the emfield project page for more information on the move towards the new and vastly improved Media Module). The hope for this project is that it will eventually be phased out as new maintainers step up and take ownership of individual provider integrations, but I wanted to make sure that current users of these providers can still use them with Emfield 6.x-2.x (assuming they're even working). This module's issue queue should also be used for any issues regarding the currently included providers.

      Current providers include:

      • Custom URL (for embedding video files directly)
      • Dailymotion
      • Guba
      • Google Video
      • imeem
      • Last.fm
      • LiveVideo
      • Livestream
      • Metacafe
      • MySpace
      • Revver
      • Sevenload
      • Spike TV
      • Tudou
      • Twistage
      • ustream live
      • VoiceThread
      • Yahoo Music

      Get involved! Maintaining a Media Provider file is a great way to get started with Drupal module development/maintenance, so if you're looking for a way to get a foot in the door, take a look at the currently included provider files and start your own "Media: " project to house it (you could also help out with a current provider or create a new one)! If you're interested in taking over a provider file, please open an issue in this issue's queue.


      Wysiwyg API CCK Integration

      This module will not be ported to Drupal 7, because all of the problems that it solves are natively solved in Drupal 7 core and Drupal 7 Wysiwyg.

      If you're using the Wysiwyg API module for a CCK text field, and you have the "number of values" for that text field set to unlimited, you may be encountering some problems:

      1. When you use drag-and-drop to re-order the items, and the row you're dragging has the editor enabled, you may encounter problems depending on the editor you use. For example, with tinymce, you lose data. With fckeditor, you get slow and annoying refreshes.

      2. When you click "Add another item", you lose data typed into the other items' enabled editors since the node was last saved or the editors were last disabled.

      This module attempts to fix both problems. It is designed to work with the 6.x-2.0 version of the Wysiwyg API module, and has not been tested with either the 1.x or 3.x versions of Wysiwyg API. I hope that this module is short-lived and that the corresponding fixes get rolled into the Wysiwyg API module. However, I'm making it available in the meantime as its own module, so that anyone needing this functionality now can make use of it.



      This module provides an extension to the builtin checkboxes element that allows developers add "check all" / "toggle" / "uncheck all" actions to them. This is specially useful for checkboxes that have a lot of elements.

      Please note that Drupal 6 already has this feature available, but only for checkboxes rendered in tables, such as those used in Administration -> Content management -> Content. Checkboxes rendered elsewhere do not have this feature.

      You may need to install this module when required/recommended by another contributed module, and/or you may wish to use it to enhance your own custom modules.

      • For Site Administrators - New option for checkboxes implemented by CCK Widgets

        If you use checkboxes implemented by CCK optionwidgets, node reference, user reference or content taxonomy options, then a new option in the field settings form is available to enable the Checkall feature for those widgets.

      • For Developers - Simple Usage

        To attach the checkall behavior to checkboxes elements, all you need to do is add the '#checkall' property to them. You can do so for your own forms, or you can implement hook_alter_form() to add this property to existing forms. Example:

        $form['foobar'] = array(
          '#type' => 'checkboxes',
          '#options' => $options,
          '#default_value' => $default_value,
          '#checkall' => TRUE,  // <--- this is it ;-)


      Field injector


      Provides a display settings for fields to inject themselves into text fields at specific locations. For example, you can have an image field inject itself below the first paragraph of the body field.


      Field formatter settings

      Development was sponsored by Palantir.net.