Add functionality and customize your Drupal application with thousands of projects contributed by our amazing community.

51,602 modules match your search

A module is code that extends Drupal's by altering existing functionality or adding new features. You can use modules contributed by others or create your own. Learn more about creating and using Drupal modules.

Owl Carousel

This module integrates Owl Carousel, a touch enabled jQuery plugin that lets you create a beautiful, responsive carousel sl

Taxonomy Term Reference Tree Widget

Use custom CSS and the term template feature for awesome select widgets.

About this module

This module provides an expandable tree widget for the Taxonomy Term Reference field in Drupal 7. This widget is intended to serve as a replacement for Drupal's core Taxonomy Term Reference widget, which is a flat list of radio buttons or checkboxes and not necessarily fit for medium to large taxonomy trees.

This widget has the following features:

  • Expand/minimize buttons
  • Fully theme-able
  • Filter and sort available options with a view (if views is installed)
  • The ability to start with the tree either minimized or maximized
  • If you limit the number of selectable options, client-side javascript limits the number of terms that can be selected by disabling the other remaining options when the limit has been reached (this is enforced on the server side too).
  • For large trees, this widget now optionally keeps a list of selected items below the tree.
  • You can use tokens to alter the widget label (good for adding icons, turning the options into links, etc).

This module now comes with a display formatter with the following features:

  • Display taxonomy terms as a nested list by hierarchy.
  • Displayed terms can be altered with tokens or themed using a custom theme function.

Future features include:

Feeds Extensible Parsers

A set of extensible parsers for Feeds.

Provided parsers

  • XPath XML & HTML
  • JSONPath JSON & JSON lines parser *
  • JMESPath JSON & JSON lines parser *
  • QueryPath XML & HTML *

* Requires additional libraries or modules.

Workbench

workbench-screenshot.png

Workbench provides site contributors a way to easily create and find their own content.

Drupal provides a great framework for building functionality. Workbench helps harness content-focused features in one unified user interface. The goal is that a user does not need to learn Drupal in order to add content to the site.

Users need access to their account, their content, and to add new content. Instead of having to know how to navigate to My Account (/user/[uid]), Add content (node/add), and Find Content (admin/content), the user goes to My Workbench instead.

Simple changes like this help ease the learning curve for new users.

Commerce Shipping

Commerce Shipping provides a shipping rate calculation system for Drupal Commerce, integrating shipping service selection into both the checkout form and order edit form. This module is a framework that is meant to be used in conjunction with shipping method modules like Commerce Flat Rate, Commerce UPS, and others.

Shipping service availability and rate calculation is handled in the user interface through Rules and is backed up by an API that gives you a high level of flexibility to implement simple or complex shipping scenarios.

Developers and users of this module should use the new and improved Commerce Shipping 2.x version. Sites created using Commerce Shipping 1.x can find notes on what has changed and how to update in the release notes for the Commerce Shipping 2.0 release.

Development sponsored by Reveal IT and Centarro.

Search 404

What is the Search 404 Module?

Instead of showing a standard "404 Page not found", this module performs a search on the keywords in the URL.

Fivestar

fivestar-settings.png

The Fivestar voting module adds a clean, attractive voting widget to nodes and comments and any entity. It features:

  • jQuery rollover effects and AJAX no-reload voting
  • Configurable star sets
  • Graceful degradation to an HTML rating form when JavaScript is turned off
  • Support for anonymous voters
  • Spam protection to keep users from filling your DB with bogus votes
  • Easy-to-use integration with Views module for lists sorted by rating, or filtered by min/max ratings
  • A Fivestar field for use in custom node types
  • An easy-to-use Form API element type for use in other modules
  • Compatible with all versions of jQuery (1.0 - 1.8)

CSS Injector

IMPORTANT: There is currently a bug in Pantheon's backup process that will skip any file or directory starting with 'css' including the CSS Injector files that are saved in a css_injector directory. If you are using CSS Injector 1.x on Pantheon, you will lose the actual CSS from each configuration if you restore from a backup until this issue is resolved.

Allows administrators to inject CSS into the page output based on configurable rules. It's useful for adding simple CSS tweaks without modifying a site's official theme. The CSS is added using Drupal's standard drupal_add_css() function and respects page caching, etc. The 2.x brach leverages CTools so CSS can be included with Feature changes (ie. CSS that improves the look of a View can be packaged with the View).

Slick extras

Drupal Slick carousel

Provides Slick carousel samples and extra utilities demonstrating various usages of Slick carousel.

Markup

This module adds the ability for site admins to add "Markup" widgets to the form.

Dynamic Entity Reference

Dynamic Entity Reference

Overview

Dynamic Entity Reference provides a field type/widget/formatter combination for Drupal 8 that allows an entity-reference field to reference more than one entity type.

Fences - Semantic field markup and classes

Fences HTML5 illustration

Fences is 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 core! You can also remove field, label, wrapper or value wrappers entirely.

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

Publish Content

Picture 6.png

This module enables granular publish and unpublish permissions which allows you to grant roles on your site the ability to publish or unpublish specific content types without having to give them the administer content permissions. This is a lightweight solution to managing your content workflows.

Config Pages

Access config pages management

DO I NEED IT?
At some point i was tired of creating custom pages using menu and form api, writing tons of code just to have a page with ugly form where client can enter some settings, and as soon as client wants to add some interactions to the page (drag&drop, ajax etc) things starts to get hairy. Same story was with creation of dedicated CT just to theme a single page (like homepage) and explaining why you can only have 1 node of this type, or force it programmatically.

If this sounds familiar, then this module may be just a thing you were looking for :)

Real-time SEO for Drupal

Real-time SEO for Drupal - Snippet Preview

Improve your Drupal SEO: this module helps you optimize content around keywords in a fast, natural, non-spam way.

JSON:API Extras

The JSON:API module in code provides zero configuration out of the box. Use JSON:API Extras to customize your API.

Link checker

Link checker configuration UI

The Link checker module extracts links from your content when saved and periodically tries to detect broken hypertext links by checking the remote sites and evaluating the HTTP response codes. It shows all broken links in the reports/logs section and on the content edit page, if a link check has been failed. An author specific broken links report is also available in "My Account".

Features:

  • D8-D10: Scan configurable fields on each entity incl. node, comment, block etc.
  • Checks internal and by default external links
  • Parallel link checking with optional HTTPRL module
  • Configurable link check intervals
  • Can update permanently moved (301) links after specified link check fail count
  • Can unpublish nodes after specified file not found (404) fail count
  • Output created by input filters is supported
  • Supported HTML elements: a, area, audio, embed, iframe, img, object, param, source, video
  • Supported link protocols: http, https
  • D7: Selectively scan node types and comments
  • D7: Selectively scan custom blocks

OpenID Connect / OAuth client

OpenID Connect Logo

The OpenID Connect module provides a pluggable client implementation for the OpenID Connect protocol.

The server implementation of the protocol is provided by Simple OAuth (OAuth2) & OpenID Connect or the OAuth2 Server modules.

What is OpenID Connect?

http://openid.net/connect:

OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner.

What does the module do?

The module allows you to use an external OpenID Connect login provider to authenticate and log in users on your site. If a user signs in with a login provider for the first time on the website, a new Drupal user will be created.

Google for instance uses OpenID Connect to authenticate users across all of their services. Check out the OpenID Foundation's announcement of launching OpenID Connect.

Entity Translation

Allows (fieldable) entities to be translated into different languages, by introducing entity/field translation for the new translatable fields capability in Drupal 7. Maintained by the Drupal core i18n team.

This project does not replace the Internationalization project, which focuses on enabling a full multilingual workflow for site admins/builders. Some features, e.g. content language negotiation or taxonomy translation, might overlap but most of them are unrelated.

Integration

  • Title module allows to replace entity labels with fields to make them translatable.

Dependencies

Entity Translation requires core version at least 7.15.

Usage

Reroute Email

This module intercepts all outgoing emails from a Drupal site and reroutes them to a predefined configurable email address.

This is useful in case where you do not want email sent from a Drupal site to reach the users. For example, if you copy a live site to a test site for the purpose of development, and you do not want any email sent to real users of the original site. Or you want to check the emails sent for uniform formatting, footers, ...etc.

This is also a good demonstration of what hook_mail_alter(), available in Drupal 5.x and later, can do.

Select (or other)

Select (or other) checkboxes example

Provides a new Forms API element which is a select/radios/checkboxes element that has an 'other' option. When 'other' is selected a textfield appears for the user to provide a custom value.

User protect

User protect admin screen for version 8.x-1.x

This module allows fine-grained access control of user administrators, by providing various editing protection for users. The protections can be specific to a user, or applied to all users in a role.

Note: Up until the D7 version, User Protect has a complicated configuration -- please take the time to read the very extensive module help before using it!

Pages