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

Protected node

A protected node

With the protected node module, users can restrict access to a node with a password they provide when creating the node (or a site wide password or a per node type password). On node creation, authorized authors can protect a node by supplying a password and verifying the strength of the password via JavaScript.


Trash Flag

Provides trash functionality using flag, views, and node access combined with (a lot) of permissions


Path Access

The Path Access module gives site administrators an additional layer of access control to all pages of a Drupal site.


Commerce File

Commerce File 7.x-1.x - field widget preview

Extends Commerce License with the ability to sell access to files.

The user buys a product and gets access to all files attached to that product's commerce_file field.
Adding new files to the commerce_file field (a new software version, for instance) makes them immediately available to all users who have an active license.

Sponsored by Commerce Guys


  • The "License completion message" checkout pane allows the customer to download the newly licensed files even if he is not logged in.
  • Licensed files can be downloaded or streamed from the user's Files tab.
  • File licenses can be time limited, and are automatically expired (by cron) once that time passes.
  • The number of downloads / streams can be limited. Once the limit is reached, the file is listed, but can't be accessed.
  • Integrates with Amazon S3, allowing licensed files to be retrieved directly from Amazon, using a secret and temporary URL.

See the documentation page for information on getting started and a comparison with the legacy commerce_file 1.x branch.

Important: There is no upgrade path from 1.x to 2.x. See #2049593: Upgrade path from 1.x to 2.x.


Contextual Administration

Contextual Administration is an administration tool based on CTools Page Manager module. It allows for the deployment of custom administrative pages through a typical database driven mechanism or can take advantage of the typical page_manager exports through custom modules + exports or features module.

Visit our Google+ Page:

For more videos and regular updates: Contextual Administration

Video Documentation

Topic Link
Arbitrary Node Create http://youtu.be/Luc-bGGxa6c
VBO Administration Deployment http://youtu.be/M9KbemHvy4E
Custom Vocabulary Administration http://youtu.be/UNXCYeTZj7Y
Automatic Node Reference on Node Create http://youtu.be/BZxoUzIE5M4
Url Restructuring of Node View/Edit http://youtu.be/O4vvzSG7UAY


Domain Path

Domain Path for a node

The Domain Path module allows the creation of separate path aliases per domain for nodes created using the Domain Access module.

The module is ready for testing, but requires Domain Access 7.x-2.7 (or higher) to work correctly. For background, see this issue.

Drupal 6

The Drupal 6 version requires URL Alter and Domain Access 6.x.2.11 or higher.


IP Ranges

IP Ranges UI

IP Ranges is a module that let's you completely ban both single IP-addresses as well as
full ranges from your site. The ban is triggered already at the early bootstrap phase, so you
can get rid of unwanted visitors as early as possible without wasting server resources.

You can also define whitelists that override blacklists, both single and ranged.
The UI is similar to core ip-ban, so you will feel like home immediately.


Just enable the module as usual.


After enabling the module, go to admin/config/people/ip-ranges to find form where you can enter either single IP-address or IP Range, and a list type.

IP-address range is entered in the form of -
(This is currently the only allowed range form, other types like bitmasks may come at later stage).

Type can be either "blacklist" or "whitelist",
where blacklisted IP's are denied from the site, and whitelisted are allowed.
Whitelists always override blacklists.


Restrict IP allows you to enter whitelists. All other IP's are banned.
Unlike IP Ranges, it does not actually restrict access to the page, but rather


Domain Variable

Screenshot of settings form with mixed variable realms

This module aims to be a replacement variable handling module for Domain Access, allowing mixed variable realms (domain x language) to be configured.

In other words, it allows setting different variable values for each domain and for each language at the same time.

This module supports almost all of the functionality provided by Domain Configuration, Domain Settings and Domain Theme. Differences are listed in the documentation.


Roles for menu

Roles for menu module image


This module allows you to restrict access to menu items based on user roles. It is used when you don't want to copy your whole menu just because for one specific role you want to hide one menu item.

The module will add a fieldset with options for restricting access or gaining access to menu link for a specific role/roles.


Menu view unpublished

Small module that allows users to view menu links to unpublished nodes.

The menu system from Drupal core hides menu links that link to nodes that are unpublished. This modules provides a permission that undoes this behavior, but only if the user has access to view the (unpublished) node.


Module Grants

Accessible content menu option

D6 is approaching end of life. We'll be doing maintenance fixes only.

Module Grants makes modules that deal with content access permissions operate better on unpublished (as well as published) content. It also makes sure that access grants behave in an orderly fashion when such modules are used together.

  • Access grants are tested for unpublished content just as they are for published content
  • Allows modules that feature fine-grained access control (e.g. Workflow, TAC-Lite) to work together
  • While Module Grants' raison d'etre is to act as a catalyst amongst other modules when dealing with unpublished content and/or fine-grained access control, it does come with a handy feature of its own via the Module Grants Monitor submodule, which is bundled with the package download. After enabling Module Grants Monitor, a new item, Accessible content, appears in your navigation menu. Clicking on it reveals a summary of all the content the logged-in user has access to (i.e. view, edit) after access controls have been applied by the content access modules installed on your site. So if you have Workflow installed then what's editable to you and what's only viewable to you will depend on the workflow state the content is in. With the TAC-Lite module enabled it will depend on the vocabulary term(s) used in the content.
  • Thanks to dankh, Module Grants now also has Views support, allowing you to add to your views edit and delete links that properly honour permissions.



Group D8 is now in beta! Please see: #2693167: [meta] D8 release roadmap. Drupal core 8.1.4 or higher required.

The Group module allows you to create arbitrary collections of your content and users on your site and grant access control permissions on those collections


Field Readonly

Field Readonly displays non-accessible fields in edit forms as read-only items.

Field Readonly displays non-accessible fields in edit forms as read-only items.

Modules like the essential Field Permissions allow to make fields non-accessible, aka private, by completely hiding them in edit forms even if user has the permission to view them.
Field Readonly lets you display these fields back in edit forms, rendered the same way as in view mode.


Domain Access Entity

Entities edit form domain field widget.


This module provide a solution to add Domain Access on entity.

You can use this module to restrict access for entity as you do with node.

This module can add domain access only on fieldable entities


node privacy byrole

Node Privacy By Role

Manage which roles can view, edit, and/or delete nodes by content type (default) or on a per-node basis (overriding defaults on each node).

Also supports changing permissions using Actions.

This module is similar in function to Content Access with ACL.


Required by role

Required by role in field settings form

Field required by role is a module that improves core "required" functionality.

Similar to CCK Required by role brings extra features such as:

  • Ready for all entities, including custom entities.
  • Doesn´t need extra configuration, just install.
  • Respects previous configuration.
  • Configuration per field instance.


Workbench OG

This module allows integration between workbench moderation and organic groups. Organic group roles can be defined to be responsible to perform different transitions that will move content from the different stages.

Use Case

A perfect use case for the usage of this module: a website with several groups that contains a content workflow process.

  • Users with "Content author" role in group "Finance" can create content that needs to be approved before being published to "Finance".
  • Only "Content editors" of group "Finance" can review and publish those nodes.
  • "Content authors" can create new revisions of content that is curently published. That content remains published till the new revision gets reviewed and published.
  • "Content authors" and "Content editors" of different groups will not have access to content that is under review in group "Finance".


This modules allows group managers to configure permissions that allow members with defined roles to move nodes in defined workflows configured using workbench moderation. Instead of configuring permissions to transition nodes to be published by normal roles, this module allows to do in a group context defining group roles that can publish nodes.


Always Visible

Allows administrators to override the visibility of menu items. Normally, items which are inaccessible won't show up in the menu. Using this module, menu items can be set to always show up. Their contents will still be restricted.



Views Access Callback

Views Access Callback

Provides callback-based access control for Views.

Available callback functions are defined by modules using hook_views_access_callbacks() function (in the same way as in hook_perm()), then could be set in in view's "Access restrictions" configuration.


Disable RSS

This module will disable the core RSS feed at http://mysite.com/rss.xml, and remove any reference to it in the html header.

The mechanism for action is simply to return page not found for that path, so this module may not play nicely with other modules providing variations to that path, such as Views or RSS Permissions.


Restrict node page view

Have you ever used a slideshow nodetype that you need to be published but don't want the node be accessible by itself using then node/XXX path? This module is for you!

With this module you can disable direct access to node pages (node/XXX) based on nodetypes and permissions.

Enable the module and don't forget to configure your permissions.


Node access node reference

Node access node reference settings added to node reference fields.

Gives content access permissions to users if they have access to content that is referenced with Node reference or Entity reference.



Kaltura - OpenSource Video

Kaltura’s Open Source All-in-One Video Module for Drupal

Kaltura is the leading video technology provider and creator of the world’s only Video-Platform-as-a-Service. Kaltura VPaaS is a highly reliable, scalable, and flexible open video platform, powering hundreds of thousands of video experiences and workflows across industries in over 100 countries worldwide. A recognized leader in the OTT TV (Over the Top TV), OVP (Online Video Platform), EdVP (Education Video Platform) and EVP (Enterprise Video Platform) markets, Kaltura is used by thousands of global enterprises, media companies, service providers, educational institutions, start-ups, technology platforms and cloud providers and engages hundreds of millions of viewers at home, in work, and at school. The company is also the initiator and backer of the leading open source video management project, home to more than 100,000 community members. For more information visit corp.kaltura.com, Join the community discussion board and explore Kaltura on GitHub.

Download the User Manual and Install/Config Guide (PDF)

What is Kaltura’s Video Module for Drupal?

A standard Drupal Module that integrates the Kaltura video platform capabilities into Drupal, allowing you to instantly enrich your Drupal site with video, audio, and images. Kaltura’s video platform and video module for Drupal is an enterprise grade solution that offers comprehensive powerful functionality and full control over content ownership, without the need to run your own video operation. The module handles every aspect of rich-media, including uploading and importing content, transcoding, content management, syndication, monetization, distribution, and more.


Node Option Premium

This module adds a new node option Premium content along with core publishing options (Published, Promoted to front page, Sticky at top of lists).

When a node is published as premium content, only users with proper privileges may view the full content of the node.

Non-premium users can still access premium nodes but only get the content rendered in teaser context, even when trying to view the full content. An additional message informs them that the content is available to premium users only.




KeyCAPTCHA - CAPTCHA with social features. You may support charity funds by using KeyCAPTCHA. Unlike many other captchas, it does not require any text typing.

Free Variants of Using KeyCAPTCHA: