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

Virtual Site

Virtual Site allows a site admin to quickly instantiate a sub-site or standalone site within a single Drupal install. Virtual site instantiation includes, among other things, the ability to quickly populate a new site with placeholder content, menus, and selection of custom themes.

This module is in early development, so it may be a few weeks before the first development release is posted. However, this project page has been created to begin fleshing out documentation and feature set.


FileField Secure

Allows for selected filefields to protect their files from download unless from users with appropriate role permissions. This allows a site to use Public file access method for the main site, but selectively secure a subset of files as required.

The module works by creating a secure subfolder under files. Therefore there are a few requirements:

* Ability to use .htaccess files to secure folders on your server (i.e. Apache webserver).
* Filefield_paths to put selected files in the secure folder.


Flexible template


Allows you to create textfield and textarea elements in editable area, so that another editor will be able edit just this textfields and textareas and not will be able edit all the text.


Translation Workflow

Translation Workflow is a translation management and workflow for Drupal 7. Based on the new Content Translation which introduces entity/field translation for the new translatable fields capability in Drupal 7.




Eggther is an extension to Node access user reference.



The user will be restricted from premium content. The content will be unlocked with the presence of page specific cookies and/or a master (Profile complete) cookie.

Users will unknowingly register and login with just an email account. All other required profile fields will be progressively required for access to premium content.

This module will be dependent on premium content or content access? Still deciding...



Audience provides an abstract definition of user groups and types in a given context. These definitions are called "Audience presets" and can be used by other modules to control different types of audience related actions or permissions. By using CTools these audience presets are exportables and can either get stored in a database or live in code provided by modules.

Modules can use these presets to check if a user is member of a given audience. Therefore audience_is_member_of($preset, $account, $context) is used.
Using audience_members($preset, $context) all users of a given audience in the given context can be retrieved.

Audience presets are instances defined by an audience type. Default audience types shipped with Audience are "user", "roles", "author" and "userreference". There also "intersection" and "union" that merge multiple preset definitions to one preset (e.g. User is "author of node xy" and has "role admin").


These modules are part of the project.

  • Audience - Definition of audience presets
  • Audience ACL - Caching of audiences by using ACL
  • Audience NodeAccess - Provides a CCK Field that uses ACL cached audiences to control access on the given node


Conditional Roles for Workbench Moderation

This module and its parent project, Conditional Roles, will be superseded by Access Control Kit. No further development will be done here on CRWM, other than to ensure a clean migration to ACK.

Allows Conditional Roles to work with permissions provided by Workbench Moderation to control moderation actions and state transitions.


OG Restricted Content

This module provides a hopefully simple way to restrict access to organic group content to subgroups of users. You first define the levels of access you need (for example: top secret, secret, confidential) and, using Drupal permissions system, assign permissions to view content of different levels to the different user roles.

You can also give content editors the possibility to restrict node access to different levels.

This module is particularly useful in combination with OG User Roles.



In some cases you want to publish a certain piece of content on a specific date. You can use the Scheduler project for this but this means the content will not be available until the specified date. This will result in people not being able to find content that will be published in the future.



This module will allow you to have your Drupal site unhosted.

Unhosted is an open web standard for decentralizing user data. On the unhosted web, data is stored per-user, wherever the user decides.

Node Access Rebuild - Quick

Sites with very high numbers of nodes often times have trouble rebuilding their node access permissions since the default drupal behavior is to load and save each node individually. This is an adequate solution when you have a few hundred nodes, but when sites have 500k or possibly millions of nodes, this can take hours to days to complete. Needless to say, that can really cut into your beer time.

The goal of this module is to provide very quick, bulk inserts directly into the node_access table without iterating through nodes individually. the module supplies a hook "hook_quick_rebuild" and passes no data in. from there, modules that implement grants can use this to do a bulk insert for all the nodes that meet access criteria.

This module ties in to the rebuild permissions form, and takes over that functionality, so the UI works exactly the same way as before. If node access granting modules exist that this module does not support, a notice gets added to the rebuild permissions screen, and the process reverts to the slow way of building permissions.


Allows you to set certain CCK fields as premium. Premium fields will only be shown if the user has premium access (per the premium_content module) to the given node.


Services Content Lock


This module adds Services support to the community module called content_lock that will prevent two users from editing the same node concurrently. This module exposes the main operations of content_lock through Services as a resource, so that content locking can be done over a web service API such as REST for mobile applications or third party integrations. The main operations it currently implements are retrieve, create, and delete.


This module exposes the following operations of content_lock as a web service:

  • retrieve - Find out if a node is locked and get info about a lock e.g. who owns the lock and when it was created.
  • create - Create a new content lock on a node. Locks a node preventing other users from editing it.
  • delete - Deletes an existing lock on a node. Only the lock owner may delete the lock.


This module depends on the following modules:



    Node Access Priority

    This module restores the Priority feature of Node Access that was removed in Drupal 8.

    Node Access Priority does not have a user interface itself, but if you use multiple Node Access modules, then those that support Priority will let you increase or decrease their priority relative to the others.


    Showoff Feeds

    The feeds functionality for the Drupal Showoff distribution.


    ClickBank Download

    NOTE: This module is in no way affiliated, endorsed, nor provided by ClickBank.com.

    What is this module?

    This module validates purchases on payment processor ClickBank, and provides a "secure" file download link. This module IS appropriate in the following situations:



    Unlisted adds a checkbox for 'Unlisted' to the node publishing options. Unlisted nodes are not access controlled, simply excluded from all Views listings. This makes for a casual publishing workflow in which an author can send a link to someone to review a post before listing it publicly. This is especially useful in cases where the reviewer may not want the barrier of logging in, or the author may not want the hassle of complicated access control choices.


    IP Block

    Block user access based on their IP address.
    Also provide Maxmind integration to block Proxy users.


    • IP 2 Locale
    • Smart IP


    This module is supported by AG Prime


    Workbench State Access

    This module works with workbench module
    It will give you the ability to set the access for viewing/editing revisions based on the revision current state

    For example, You can block the editor from viewing or editing the content after changing the state from draft to "needs review".

    This module is sponsored and developed by Vardot.



    Restricted Home Link

    This module provides a permission to prevent users from creating/editing/deleting/moving menu links pointing at <front>.

    Use case: you wish to grant a user the ability to administer menu links, but you want a home menu link to always be the first link in the menu.


    Publication Agreement

    Publication Agreement:  A Terms and Conditions example page.

    Agreement prior to publication.

    This simple module allows you to present a text-based agreement that users of a particular role must accept before they are allowed to access for adding a new node.


    OG Delete

    OG in Drupal 7 does not delete content of the group when the OG content type is deleted.

    This module is an extension to OG that allows the group owner/admins to delete associated nodes when the group is deleted. This module provides following options which were available in Drupal 6.

    1. Delete all the content associated with group.

    2. Delete the group and make the content public.

    3. Move all group posts and memberships to the different group. This option is visible only to site admin who has access to 'administer nodes'.