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


D7 Note Currently, what with how Drupal 7's fields are written in a way so you can't really tell how to get at the data, and with Corresponding Node Reference already having a successful D7 port, there are no plans to update Backreference to Drupal 7. If you plan to upgrade, I suggest changing your Drupal 6 site to use Corresponding Node Reference, and then update.

Backreference Module provides a nodeapi interface to maintain 1-1 relationships between all shared instances of a nodereference field. This means that given a field instance of field_reference1, if you add a reference to NodeBeta to NodeAlpha's field_reference1 and NodeBeta has an instance of field_reference1, then NodeAlpha will be added to NodeBeta's instance of field_reference1.

There are other similar modules out there that do similar work, such as NodeReferrer and Node Relationships. In their cases they use views or similar queries to query for the nodes that are pointing to module B, where BR writes to a CCK Nodereference field. This has some advantages:


    Content Display Order


    This module allows administrators to rearrange the order of (cck) fields for node displays.

    Normally the order of CCK fields is similar in both the node edit form as in the node's view. If you'd like to have an other order in, let's say the teaser display of a content type, this module provides you an user interface for this specific task.

    Each context (Basic, RSS, Search, etc.) and each build mode (Teaser, Full, etc.) can have it's own field order.




    Repeating Date Presets


    This module can greatly simplify user entry of repeating dates by allowing the administrator to pre-set repeat date rules.

    The module supports two types of preset:

    1. Select a preset repeat from a list. (E.g. every year, every month, every week). Up to 5 configurable preset repeat rules are allowed as well as the options to not repeat or, if configured, to specify a custom repeat rule via the standard form. This is similar to the way Apple iCal does it.
    2. A single configurable preset rule which is either applied automatically for a specialised date field (e.g. your birthday, anniversary etc) or via a checkbox for a more general "is this an annual event" type field.



    VideoField provides an video upload field for CCK. VideoField is a CCK-based alternative to the legacy media projects available in Drupal modules including Video etc.

    Idea behind this module is to have a simple field for uploading video content, something similiar to imagefield for images


    Block Upload

    What is it?

    Block upload - it's a simple module, which allow users to upload images/files into field without node edit page. You can add this block on node pages. Choose field you want to upload files and set permission. So, for example, users can add new photos into node without full node edit rights. You also can quickly add new files into node, avoid edit form.


    Install module and go to Blocks management page, than find Block upload. On edit page choose file/image field you wish to use and save settings. Choose block position and here it is. Additionally set user permissions to allow uploads.

    7.x-1.1 New features

    Integration with Plupload integration module what makes available to use multiupload and drag&drop features.
    To enable it, install Plupload integration according to it requirements. Than go to block upload config and tip use plupload option. This will switch single form to plupload widget.



    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 ;-)


    Dynamic Field

    Dynamic Field is a CCK field that returns a textarea where you can enter custom PHP code. The code is computed real-time and lets you access Drupal objects like $node, $user...

    This is not a duplicate of ComputedField! ComputedField computes and saves the value in the database when the node is created but Dynamic Field doesn't store the computed value...it computes the php whenever the node is rendered in the theme.

    All you need to do is place the PHP directly into the CCK field without the <? ?> tag.


    Autocomplete Deluxe for References


    This module implements an autocomplete deluxe widget for the References module.
    It also serves as good example on how to implement an autocomplete deluxe widget for you're own module.



    Referential Integrity for CCK

    This module provides a method to enforce referential integrity rules for CCK user and node reference fields. In other words, it allows you to decide what to do with reference values when a referenced entity (node or user) is deleted.

    The problem:

    CCK node and user reference fields may contain values that point to nodes or users that have been removed. CCK does nothing when a node or user is removed with the values of fields that reference them. So after some time, your node and user reference fields may contain records that point to nowhere. Orphans.

    Extension for reference fields:

    Once the module has been installed, the user and node reference field settings form will provide a new option "Referential integrity behavior".

    Available options are:

    • None (default).
    • Set NULL (Set the value of this field to NULL when referenced users/nodes are deleted).

    Monitoring orphan records:

    You can also review all your reference fields to monitor if they have orphan records from Administer -> Content management -> Content -> Orphan references.

    This report displays the total number of records in the tables used for each reference field, and also the number of orphan records found, if any.


    Feed field (CCK module)


    This module creates a CCK field that accepts RSS urls.

    - Aggregates RSS/Atom feeds
    - Controls item display count and frequency of updates
    - Feed Fields may be positioned just like any CCK fields
    - Feed Fields may accept multiple values (deltas)
    - Feed Field-enabled nodes may be used in Blocks and Nodeblocks
    - Works with FlexiField
    - Feeds are automatically updated by cron
    - Test Page simulates cron without changing any data


    Pager for Content type

    For every node of selected content type module add "previous" and "next"
    buttons to previous or next node.
    Module provide custom pager for content type.
    Pager will apply to end of node render array.

    There is possibility to use pager for navigating between nodes of same author.

    There is a possibility to show titles of the closest nodes before and after a current node (quantity of nodes shown can be adjusted).
    let us suppose there are 5 nodes: node 1, node 2, node 3, node4, node 5;
    a) current node is 3:
    below the pager there will be following links:
    node 1, node 2, node 4, node 5

    b) current node is 2:
    below the pager there will be following links:
    node 1, node 3, node 4, node 5

    c) current node is 5:
    below the pager there will be following links:
    node 1, node 2, node 3, node 4

    There is hook which makes it possible to control sampling of previous and next node.
    As well as a hook to control sampling of nodes closest to the current one.


    Drupal 7.x


    1. Copy the entire pager_for_content_type directory
    the Drupal sites/all/modules directory.

    2. Login as an administrator. Enable the module
    in the "Administer" -> "Modules"

    3. (Optional) Edit the settings under


    Media RSS

    A small module that allows image nodes that use both image module and imagefield module to become media entries in RSS feeds.

    Orignal release that turns all site RSS feeds into media feeds. Stand-alone module

    Views 2 style plugin. A lot more customizable and media RSS doesn't have to be used on every feed.

    Requires either:


    Password Confirm

    This module provides a field type for Password Confirm.


    * Fields similar to the password field used in user registration form.
    * Javascript based on line validation.
    * Save Password settings for

    • Drupal based encryption for password value
    • Plain text password value.

    * Show Password on node form

    • Plain Text
    • Dotted Value


    1. Place the entire password_confirm directory into your Drupal sites/all/modules/ directory.

    2. Enable the Password Confirm module by navigating to:
    administer > modules

    To enable encryption of password, see settings.
    Once you choose to encrypt password you should not use show password, else it will show the hash value of password.
    Their is another module called Password Field, But this module is different from that one in several ways:

    1. By adding one field, set of field for password and confirm password gets added to the form
    2. In line validation of password strength and password match is done.
    3. Password can be save in either encrypted form or as plain text, depending upon requirement.


    Media: Image Flotsam

    This module contains Embedded Image Field providers (i.e. emfield's emimage 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).


    Internet Sources field formatters

    This is a light weight module that provides an Internet Sources field (i.e. emfield in its 6.x branch) formatter. It helps you turn any link or text field to a media field with rich features (thumbnail or full player in any size) and without a heavy module.

    Currently supported: YouTube, Vimeo, Dailymotion...



    Duration is a set of three modules, each for a different target audience:

    • duration_api provides a reusable Duration class and formatter functions for developers who need to do internal date calculations and conversions.
    • duration_element depends on duration_api and provides a set of form elements for entering durations, to be used in custom forms.
    • duration depends on both of the above and assembles the pieces into a CCK field, not requiring a single line of code to use it.

    In order to add a new CCK field, go to the "Add fields" form and select any widget for the "Duration" field type. Configure, use, rejoice.

    Developers can find the API documentation inside the module files, examples for using the form elements are provided in duration.example.

    If this module doesn't fit your needs, the Date module might be worth a try.

    This project was originally provided by zites.net internet solutions and sponsored by IPA (Internet Privatstiftung Austria) as part of the Netidee program.



    Media: YouKu


    This is a provider file to integrate Youku with Embedded Media Field.

    Youku is one of the famous online video site in China.


    Form Markup

    This module allows you to add surrounding HTML values to any CCK widget by determining prefix and suffix values.


    • Adding of surrounding divs:
      prefix: <div id="my-special-field">
      suffix: </div>
    • Adding of a 'clearing' break when using floats:
      suffix: <span class="clear"></span>

    Note: Although this module can be very useful in some cases, I don't think it's best practice to use it, as usually Drupal already comes with too much markup.



    The module adds Slideshare support to the Embedded Media Field module, exposing a third-party provider to Embedded Video Field sub-module.

    Slideshare slides can thus be embedded in any content type with an Embedded Video Field by pasting the URL of a Slideshare presentation into that field.

    This module provides both a thumbnail and a Flash embed representation of the presentations, and provides support for listings via Views module.


    The Embedded Media Field module and its dependency, CCK (content.module) must both be installed and enabled, as must the Embedded Media Field sub-module Embedded Video Field.

    You must acquire a free Slideshare API in order for the embedding to function.

    Drupal 7 development

    Development for the Drupal 7 version will integrate it with the D7-only Media module. Suggestions for Drupal 7 code and/or patches are fully welcome in the issue queue!


    This project has been sponsored by:


      Video Upload

      The Video Upload module provides a CCK field type that allows for the end user to upload video directly to YouTube, using a single account for the site.

      Video Upload and Drupal 7

      You are encouraged to use the Media and Media:YouTube modules to replicate the functionality that this module has historically provided.

      If you are interested in maintaining this module as an alternative to the Media module in Drupal 7, please contact me.


      The video never hits the Drupal host (for the 5.x and 6.x-2.x versions only—see the 6.x version below for details on the difference between browser and direct upload methods), saving on storage and bandwidth bottlenecks. Furthermore, the end-user doesn't need a YouTube account, since all video is stored under the site's account. Video can be organized on YouTube with customized developer tags, currently with limited token support.


      Realname Userreference

      This module adds a new widget to the CCK Userreference field type, in order to use the Realnames for autocompletion.


      FileField Sources Scald

      Drag and drop into a file field, right from the scald library.

      The 'FileField Sources Scald' module allows drag and drop from Scald into a file or image field. If building a site from scratch, we highly recommend using the Scald Atom Reference sub-module, included with Scald. However, in some cases, you may need to continue using an existing File, Video or Image field and would like to add Scald drag and drop functionality without adding a new field.




      Integrate the Uploadify JS library with CCK (Drupal 6).


      CCK Country

      A CCK content field which lets you add a country to your content types; displaying country name, ISO 3166-1 alpha-2 code, ISO 3166-1 alpha-3 code or a countryicon with module Country Icons (6.x-1.0-beta2 and newer releases now supports Country Icons 1.x and 2.x).

      Requires the optionwidgets module (CCK) and Country codes API.


      Taxonomy Term Reference Sortable Widget


      Module provide an sortable widget based on jQuery ui.sortable
      for selecting terms in a taxonomy term reference field.


      Drupal 7.x


      1. Copy the entire pager_for_content_type directory
      the Drupal sites/all/modules directory.

      2. Login as an administrator. Enable the module
      in the "Administer" -> "Modules"