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

Settings for enclosing the fieldname

Clientside Validation

  • Last changed: 1 week 5 days ago

This module adds clientside validation (aka "Ajax form validation") for all forms and webforms using jquery.validate. The included jquery.validate.js file is patched because we needed to be able to hide empty messages.

#D8CX: I pledge that Clientside Validation will have a full Drupal 8 release on the day that Drupal 8 is released.

jQuery Update

The validation plugin used by Clientside Validation does not work well with jQuery 1.5. So if you have jQuery Update installed on your site, select a jQuery version other than 1.5. For more info see #1801764: Clientside Validation breaks AJAX file uploads..

Example

If you want to try out an example of Clientside Validation in combination with the form API, FAPI Validation and/or Vertical Tabs (D6: http://www.drupal.org/project/vertical_tabs, D7: in core) you can download and enable the example module from this sandbox project:

freelinking

  • Last changed: 42 weeks 4 days ago

The freelinking module implements a filter for the easier creation of HTML links to other pages in the site or external sites with a wiki style format such as [[pluginname:identifier]].

For example: [[nodetitle:page one]] becomes:

  <a href="/node/1" title="page one" class="freelink freelink-nodetitle freelink-internal">page one</a>

Available formats

Freelinking 3 (available for Drupal 6 and 7) supports the following links:

  • Drupal.org pages by nid.
  • Drupal.org projects at by their project name.
  • Files in public files directory.
  • One inch frame links.
  • User profile links by uid.
  • Paths by internal URLs.
  • Links to nodes by their title.
  • Wikibooks.org, Wikipedia.org, Wikiquote.org, Wiktionary.org, Wikisource.org and Wikinews.org links by page ttitle.
  • Google search for a particular string.
  • Local search for a string.
  • Nodes by nid.

Implement new formats as plugins

Freelinking 3 introduces an extensible framework for building "easy linking" syntax specialized for your project.

Facebook OAuth (FBOAuth)

  • Last changed: 11 weeks 5 days ago

This module provides authentication services and an API to perform actions against Facebook. This module allows users to login to Drupal through the service commonly known as "Facebook Connect". This module is built with simplicity and flexibility in mind, it provides login services (and does it well), and an API for performing any other actions you may want to write yourself to query against Facebook's APIs.

Features:

  • One-click login through Facebook.
  • Automatic import of user e-mail and profile information during initial login.
  • Integration with Profile module to map Facebook data to Profile fields. (Drupal 6)
  • Integration with Field module to map Facebook data to fields on users. (Drupal 7)
  • A flexible and direct API for modules to get authenticated and query Facebook's APIs (plus extensive documentation).
  • Extensive permission settings for Facebook data retrieval.
  • The ability to de-authenticate or unlink a Facebook account from a Drupal account.
  • Does not require any external libraries or downloads.

Insert Block

  • Last changed: 1 year 11 weeks ago

Sidebar blocks contain all sorts of nifty stuff, but sometimes you want to include or embed that stuff into the body of your node. Instead of using PHP snippets (a possible security hole on public sites), you can use this module. When it's activated...

[block:name of module=delta of block]

...will insert the contents of a rendered sidebar block into the body of your node. If no delta is specified, the default block for that module will be displayed.

Drupal 7 upgrade is available in the dev branch. Details in http://drupal.org/node/1021012. Gratitude is owed to jdwfly for the update.

Important Security Note: By design the Insert Block module has historically not supported block role settings. Inserted blocks were visible to all users. Role checking support was recently added to Insert Block (see http://drupal.org/node/1227982). Please be safe and make yourself aware of the new settings, as detailed in the Security Note in the updated README.txt.

Path Filter

  • Last changed: 28 weeks 3 days ago

Drupal 7+, depreciated in favor of pathologic.

Path Filter takes internal Drupal paths in single or double quotes, written as e.g. "internal:node/99", and replaces them with the appropriate absolute HTTP URL or path using Drupal's url() function. It also works for files in your files directory using Drupal's file_create_url() function. It works with clean URLs enabled or disabled as well as working equally well for single site or multisite installations.

The motivation for this filter was to provide a robust way of linking to internal URLs from within content, so that your links do not break if you move your site to a different path (e.g. from a development site at http://example.com/dev/ to a production site at http://example.com/).

Switchtheme

  • Last changed: 30 weeks 3 days ago

Adds a block to allow users to switch between enabled themes.

Themes can be given 'user friendly' names and access can be controlled by user role.

Switchtheme provides optional support for Browscap module to switch themes based on the browser of a visitor.

README.txt contains instructions on how to modify a single theme and use Switchtheme to allow users to choose between a small, medium, and large text version of your site.

Spam

  • Last changed: 3 weeks 5 days ago

The Spam module provides numerous tools to auto-detect and deal with spam content that is posted to your site, without having to rely on third-party services.

The Spam module provides a trainable Bayesian filter, automatic learning of spammer URLs, flagging of content with an excessive number of links, the ability to create custom filters, and more.

[UPDATE: 1.2 was not correct as some of the hooks would not get defined. More or less, that means some of the functionality would not work properly. Please upgrade to 1.3 to fix the problem. See #1222546: The List of Spam Comments is Broken and #1298480: "Mark as Spam" and "Mark as Not Spam" links for comments going to 404 page. among other similar bug reports.]

Views Slideshow Xtra

  • Last changed: 43 weeks 5 days ago

Overview

Views Slideshow Xtra is an enhancement module for Views Slideshow, providing the ability to create overlays for a Views Slideshow. HTML elements are placed in <div> overlays, with overlay visibility controlled by toggling the CSS display property, so that overlays are displayed with their corresponding slide. Animation of the overlay displays is also supported.

In addition to overlay support, this module has some other useful features:

  • The Views Slideshow Xtra Example sub-module helps automate the creation of any Drupal 7 Views Slideshow. This sub-module creates a Slide content type, a default Slideshow View, and optionally, example Slide nodes.
  • There is a Slideshow setting for the number of milliseconds to pause slide transition after mouse movement. This allows the user time to click a slide overlay element if the mouse is in motion. This setting is essentially "Pause on hover" for a specified number of milliseconds.

Drupal 7

A new approach to Views Slideshow overlays has been implemented in 7.x-3.x, and represents a significant improvement. The new approach is to create overlays using Views Attachment Displays that have a Views Style Plugin called "Slideshow Overlay". This is the only approach that will be supported in Drupal 8.

AntiSpam statistics page

AntiSpam

  • Last changed: 14 weeks 17 hours ago

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

Menu Export/Import

  • Last changed: 6 days 8 hours ago

This module helps to export and/or import menus. Using it you can easily copy menus from one Drupal site to another.

It also allows developers to quickly build a new Drupal site by creating empty content and menu items referencing it. The module may be used in ensemble with Node export that allows to add content to your Drupal site. In this case, menu import allows to batch-arrange existing content into a given menu structure, using a very simple text file.

Here is an example of the JSON-like file format understandable by the module (valid only for versions >= 7.x-1.3 ):

Pages {"url":"pages/all"}
- Site {"url":"http://external-site.com/","description":"Visit our site."}
- Story {"url":"node/3","description":"A very interesting story!"}
-- Some node {"url":"node/4","lang":"da","description":"Links is in Danish language"}
Archive
- Admin zone {"url":"admin/appearance","description":"Internal link with description."}
A page {"description":"Description only, no link.","hidden":true,"expanded":true}

Important: please use Unicode (UTF-8) as file encoding, one-byte national charsets will not work. Also, JSON's name and value must be enclosed in double quotes, single quotes are not valid. Trailing commas are not allowed.

D6 users:

A sample form including a Hidden CAPTCHA!

Hidden CAPTCHA

  • Last changed: 19 weeks 1 day ago

Description

Hidden CAPTCHA is an extension to the CAPTCHA module. It offers a hidden CAPTCHA (duh!)

The idea is very simple: If you offer an input box in any form, 99% of the time, robots will fill it with something before posting the form. If you offer an input box that has to stay empty, then the CAPTCHA system will prevent posts by robots.

This module allows you to add a Hidden CAPTCHA on forms where you don't absolutely need to have a human enter a text, number, etc. but that still needs a little anti-spam control.

How does it work?

This is just like any text CAPTCHA. You can set it up with a question specific to your website or that people just cannot answer in their right mind (i.e. How many stars are they in the Universe?) By changing the question regularly (once a month?) then you can prevent even more spam as the spammers need to adjust their robots to understand the new question (and some won't do that...) Long questions are better since they are not very likely to have been asked in any CAPTCHA before.

The CAPTCHA system will create a form with your question and an input box. The Hidden CAPTCHA system adds a specific CSS class to that form. The class references a CSS definition in the Hidden CAPTCHA file that says that the whole CAPTCHA box shall be hidden (i.e. display: none;).

Book

Default Content

  • Last changed: 16 weeks 2 days ago

Please update to 7.x-1.0-alpha9 as soon as possible. This release finally fixes #1446714: Fatal error: Call to undefined function context_get_plugin() in modules/defaultcontent/defaultcontent.module, a critical bug.

This module is deprecated in favor of UUID Features Integration, which is more flexible and also supports taxonomy, fields and more. It should also be considered first for new projects. For more information, check out #1869366: Future Plan.

Description

Allows export of select nodes (along with attached images etc.) to a Features exportable.

When the module is installed nodes get optional "machine name" field. Nodes with filled-out machine names automatically become exportable from the Features interface.

It's a great way to publish your installation profiles and distributions with demo and default content features. Integrates well with Node Queue module.

Credits

Created and maintained by: Phase2 Technology.
Illustration used on the project page courtesy of Manuel Alvarez - Pintura

TagCloud Count Block - One option for TagCloud module.

TagCloud

  • Last changed: 14 weeks 1 day ago

This module Provides a TagCloud and List of Tags.

Tag clouds is a light weight stable module that provides span tags, optimizations; It is also singular in purpose and stable.

Provides a link to the node and not the taxonomy display if the node count is equal to 1. This avoids taxonomy pages with only one node. Defaults to On, can be turned off.

This module is stable for MYSQL and no longer in active development.

View a Demonstration!

Supports i18n!

Fences HTML5 illustration

Fences

  • Last changed: 37 weeks 2 days ago

Fences is a an easy-to-use tool to specify an HTML element for each field. This element choice will propagate everywhere the field is used, such as teasers, RSS feeds and Views. You don't have to keep re-configuring the same HTML element over and over again every time you display the field.

Best of all, Fences provides leaner markup than Drupal 7 core! And can get rid of the extraneous classes too!

This kind of tool is needed in order to create semantic HTML5 output from Drupal. Without such a tool, you have to create custom field templates in your theme for every field. :(

Similar projects include Semantic fields, Field Wrappers and a tool inside the Display Suite extras. But we think this approach is Morefasterbetter™.

Migrate Extras

  • Last changed: 27 weeks 5 days ago

Migrate Extras extends Migrate to provide support for several contributed modules.

The best place to implement migration support for a contributed module is in that module, not in the Migrate or Migrate Extras modules. That way, the migration support is always self-consistent with the current module implementation - it's not practical for the migrate modules to keep up with changes to all other contrib modules. We are no longer adding support for other modules to Migrate Extras.

Status

Migrate Extras 2.5 is now available. This is planned to be the final Migrate Extras release - the only work to be done with Migrate Extras going forward will be to port the contrib module support here directly to the respective supported modules.

jquery_screenshot.png

Jquery Colorpicker

  • Last changed: 43 weeks 3 days ago

Concept

This module creates a new Form API element type: colorpicker, which relies on the 3rd party integration of the jquery colorpicker. After enabling this module and downloading the relevant files from the site linked above, a new form element can be created.

Node Gallery

  • Last changed: 26 weeks 3 days ago

The Node Gallery module allows you to create multimedia galleries where both the galleries and the gallery items are nodes. (as opposed to gallery items being file fields, like Media Gallery)

Drupal 7 Version

Features of the Drupal 7 Version

  • Tightly integrates with Views module for the retrieval and display of images and galleries, allowing easy customization of design and logic. Node Gallery also ships with quite a few default views to make it easier on the admin.
  • Integration with plupload module for
    easy bulk uploads using HTML 5, or Adobe Flash.
  • Each gallery has a "Manage Images" tab that allows mass editing of user-configured fields on each image in the gallery to streamline workflow.
  • Leverages Drupal's Batch API to operate on large amounts of images, guaranteeing high scalability and reliable operations.
  • An unlimited number of gallery relationships can be established, thus allowing administrators to setup both simple and complex galleries for their users to utilize.
The Edit address pane

Ubercart Addresses

  • Last changed: 2 days 16 hours ago

The Ubercart Addresses module adds an address book to the user's profile. When users register, you can require that they provide an address. Users can then add more addresses and edit or delete existing addresses. One address is always designated as the default address and cannot be deleted (but it can be edited). Users can optionally name each address (e.g. "work", "mary", "joe").

The Ubercart checkout process is altered so that users select delivery and billing addresses from their address book rather than from previous orders. You can ask the module to automatically fill in the billing and/or the delivery address with the user's default address. Any new addresses entered during the checkout process are automatically added to the user's address book.

jQ

  • Last changed: 2 years 1 week ago

*** See #315100: Allow to add JS/CSS libraries (sets of files, settings, and dependent libraries) for the patch to put jQ in core! ***

The jQ module allows other modules to register jQuery plugins in a central repository, and allows administrators of a site to enable or disable specific plugins globally.

The concept behind this module is to create a basic hook structure for jQuery wrapper modules, allowing other modules using these plugins to invoke them in a consistent fashion.

(Drupal 6 version only): You can also simply add new jQuery plugin files in your /plugins or /sites/example.com/plugins directory, and they'll be added to the registry. Then, for example, if you upload jquery.example.js, you could just jq_add('jquery.example'); and you're off. Additionally, if you have a .js and .css file with the same base name there, they'll both be added with the same call. Caveat: if you have two plugins with the same base name, there are no guarantees which will be added to the registry. Better off defining a hook_jq function in that case (see below for information on that).

Kudos to jjeff for his work on the jQuery Plugin Handler (JQP) module that inspired this latest functionality.

Simplenews Statistics

  • Last changed: 14 weeks 9 hours ago

Simplenews Statistics gathers newsletter statistics like the open rate and CTR (click-through rate) and presents the information to administrators through an easy to use interface.

Taxonomy Redirect

  • Last changed: 2 years 28 weeks ago

This module allows the administrator to change the destination of Taxonomy Term links.

CDN module version 2.5 on Drupal 7

CDN

  • Last changed: 1 week 19 hours ago

Description

This module provides easy Content Delivery Network integration for Drupal sites. It alters file URLs, so that files are downloaded from a CDN instead of your web server.

It provides two modes: "Origin Pull" and "File Conveyor".

  1. In Origin Pull mode, only "Origin Pull" CDNs are supported. (These are CDNs that only require you to replace the domain name with another domain name.)
  2. In File Conveyor mode, this module integrates with File Conveyor, which allows for much more advanced setups (e.g. optimize images, transcode videos, and so on, before syncing to the CDN).

Note: It is essential that you understand the key properties of a CDN, most importantly the differences between an Origin Pull CDN and a Push CDN. A good (and compact!) reference is the “Key Properties of a CDN” article.

Blocking vs Non Blocking

HTTP Parallel Request & Threading Library

  • Last changed: 3 weeks 3 days ago

This is a library module. It provides no out of the box functionality other then providing an API that other modules/code can use. Other projects might require/recommend this module. Install HTTPRL only if other modules recommend or require it.

What does httprl do?

Using stream_select() it will send http requests out in parallel. These requests can be made in a blocking or non-blocking way. Blocking will wait for the http response; Non-Blocking will close the connection not waiting for the response back. The API for httprl is similar to the Drupal 7 version of drupal_http_request().

As a bonus, a simple threading library is built on top of the parallel http requests functionality. This allows you to split a job and have multiple http "workers" running this split job in parallel. Anything that takes a long time to do can greatly benefit from using threads.

Benchmarks

Counter in Action!

Counter

  • Last changed: 2 weeks 6 days ago

Counter module counts how many visitors on your website. This module provides real time counting. All data saved to database.
Features:

  • Count Site Counter per day, minute even second!
  • Count Unique Visitor
  • Count Registered and Unregistered User
  • Count Published and unpublised Node
  • Display Web Server IP and Client IP
  • Report: Client IP, Access Date, Access Page
  • Initial values
  • Visitor Statistic per day, week, month and year!

Information & Performance

  1. You can set delay (in second) before Counter module refresh its data, otherwise data will be read from cache. Read from cache will increase your website performance
  2. You can set delay (in second) before next recording data, this option useful for high volume access (but you may have slow database server), i.e. if you set to 10 second then data will be recorded like this:
    # ID Client IP Access Date Access Page
    1 3 201.10.50.1 2008-06-17 22:05 node/2
    2 8 201.10.50.1 2008-06-17 22:15 node/1
  3. You can access the Counter Report at: http://domain_name.tld/counter/report
Panelizer configuration screen

Panelizer

  • Last changed: 13 weeks 5 days ago

The panelizer module allows you to attach panels to any node in the system. It is similar to the panels_node module that ships with Panels, which provides a single node type that is a panel. Panelizer, however, allows this to work for many entity types. It works by using the Page Manager template to take over the page rendering of the node. Currently Panelizer works only on the main entity page, it does not panelize view modes. This is a planned feature, however.

  • The administrator can specify which entity types may be panelized.
  • The administrator can specify what content is allowed and what layouts are allowed per entity bundle.
  • The administrator can specify a default panel to use per entity bundle. If a default panel is not specified, then panelized entities are normal entities until they are individually panelized. If a default panel is specified, then all entities of that type are automatically panelized with the default panel, and each entity can then have that panel modified.
  • All entity fields are immediately available as panel panes. Additionally, with token.module, you can create custom content panes and use tokens to aggregate several fields into a simple piece of text.
  • Unlike panel nodes, panelizer allows additional contexts to be added to the panel, not just the node being panelized.
nobody click here