1,254 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.

Entity API

This module extends the entity API of Drupal core in order to provide a unified way to deal with entities and their properties. Additionally, it provides an entity CRUD controller, which helps simplifying the creation of new entity types.

Requirements

  • Drupal 7.2 or later; suggested Drupal >= 7.15

Documentation

You can find documentation in the handbooks. Also check the README and the provided API docs in entity.api.php.

Overview

For site-builders

This is an API module, so it doesn't provide any end-user features. However, it provides some entity generic functionality to other modules that site-builders may leverage:

  • A Views display plugin and field to render or link to any entity (by view-mode)
  • A CTools content plugin to render any entity (by view-mode)

CAPTCHA

Image CAPTCHA example

A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human. The purpose of CAPTCHA is to block form submissions by spambots, which are automated scripts that post spam content everywhere they can. The CAPTCHA module provides this feature to virtually any user facing web form on a Drupal site.

Co-maintainer wanted

We do this our spare time, which is unfortunately almost nonexistent at the moment due to real life obligations. To give the CAPTCHA module the required level of maintenance, an extra co-maintainer would be welcome. If you're interested in helping with this very popular module, please contact me or open an issue in the CAPTCHA module issue tracker.

Variable

Variable module provides a registry for meta-data about Drupal variables and some extended Variable API and administration interface.

This is an API module so it must be installed only when other modules require it.

Module Developers: Please declare your variables.

Add-ons for module developers here: Variable Extra

This is a nice introduction to the module by Lullabot, Module Monday: Variable.

¿Drupal 8? #2146779: Port Variable to Drupal 8

Why?

  • So other modules can know about your module's variables and they can be translated, exported, used in views, etc.
  • You'll get automatic variable edit forms, tokens, access control and uninstall for free
  • Your module's variables will be allowed for Variable Realms being able to get values for each language (Internationalization) or Domain (Variable Domain)

Views PHP

This module allows the admin account (user 1) to add fields, filters and sorts to views which use PHP code. It also supports additional accounts when the core PHP Filter module is enabled.

Field Permissions

field_permissions.jpg

The Field Permissions module allows site administrators to set field-level permissions to edit, view and create fields on any entity.

Features

  • Enable field permissions on any entity, not just nodes.
  • Role-based field permissions allowing different viewing patterned based on what access the user has.
  • Author-level permissions allow viewing and editing of fields based on who the entity owner is.
  • Permissions for each field are not enabled by default. Instead, administrators can enable these permissions explicitly for the fields where this feature is needed.
  • Field permissions overview

Content Access

Content Access tab in a content type

What is Content Access?

Yet another content access module.

This module allows you to manage permissions for content types by role and author. It allows you to specifiy custom view, edit and delete permissions for each content type. Optionally you can enable per content access settings, so you can customize the access for each content node.

Features

  • It comes with sensible defaults, so you need not configure anything and everything stays working
  • It is as flexible as you want. It can work with per content type settings, per content node settings as well as with flexible Access Control Lists.
  • It tries to reuse existing functionality instead of reimplementing it. So one can install the ACL module and set per user access control settings per content node.
    Furthermore the module provides conditions and actions for workflow-ng / rules, which allows one to configure even rule-based access permissions.
  • It optimizes the written content node grants, so that only the really necessary grants are written. This is important for the performance of your site.
  • It takes access control as important as it is. E.g. the module has a bunch of simpletests to ensure everything is working right.

Services

A standardized solution for building API's so that external clients can communicate with Drupal. Out of the box it aims to support anything Drupal Core supports and provides a code level API for other modules to expose their features and functionality via HTTP. It provide Drupal plugins that allow others to create their own authentication mechanisms, request formats, and response formats.

Currently all development is happening on github for the useful help of PR's. https://github.com/kylebrowning/services

Security Review

Security review example results page

The Security Review module automates testing for many of the easy-to-make mistakes that render your site insecure.

Password Policy

This module provides a way to enforce restrictions on user passwords by defining password policies.

Overview

A password policy can be defined with a set of constraints which must be met before a user password change will be accepted. Each constraint has a parameter allowing for the minimum number of valid conditions which must be met before the constraint is satisfied.

view_unpublished

Description:
This module allows you to grant access for specific user roles to view unpublished nodes of a specific type. Access control is quite granular in this regard.

Additionally, using this module does not require any modifications to your existing URL structure.

Nodeblock

This module allows you to specify content type(s) as being a block. This allows the content managers of the site to edit the block text and title without having to access the block administration page. Users only need edit access to that node in order to edit it.

We advice you to use this module together with Node Level Blocks or Block Reference module.

It is very handy to create a simple block content type and enable this content type for blocks and use these in place of the normal 'add block' functionality.

Now supports translatable content (Contrent translation with i18n and Entity Translation)

If Content Translation is enabled, then only a single node block per translation set is exposed and the node from the translation set with the appropriate language is loaded into the block.

Other modules

There are several other modules and approaches that allow nodes to be presented as a block. See a comparison at http://groups.drupal.org/node/93499

Drupal 7

The Drupal 7 version of this module enables the use of view modes. This gives the user even greater control over customizing the output of the node block. Default view modes and links display can now be assigned per content type and then overridden at block/node level.

Drupal 6

Workbench

workbench-screenshot.png

Workbench provides overall improvements for managing content that Drupal does not provide out of the box. Workbench gives us three important solutions:

  • a unified and simplified user interface for users who ONLY have to work with content. This decreases training and support time.
  • the ability to control who has access to edit any content based on an organization's structure not the web site structure
  • a customizable editorial workflow that integrates with the access control feature described above or works independently on its own

These features benefit the end users as well as Drupal Site Administrators and Technical Support.

For Drupal Developers and Site Builders, Workbench provides several additional benefits:

  • a modular architecture: only install and enable the modules you want
  • extensibility: we would love to see more integration with other Drupal modules (in fact we have our eyes on Scheduler and Workflow modules and improvements for Asset Management)

Drupal 8

For the latest status on Drupal 8 ports, see our pre-DrupalCON update.

Workbench core is a series of Views. For current sites, we recommend creating custom Views for editors or modifying existing Views using the tools provided. There is a port underway on GitHub.

Related Modules

Email Registration

Allow users to register and login using only an email address. Users can then log-in using their email address and password for authentication.

Organic groups

Note: Development and issues are handled on GitHub, and code is synced back to Drupal.org

Overview

Enable users to create and manage their own 'groups'. Each group can have subscribers, and maintains a group home page where subscribers communicate amongst themselves.

Menu item visibility

1309375059796.png

This module exposes configurable and extendable visibility settings for menu links. For example, if you want to create a 'My account' link that points to /user, both anonymous and registered users have access to the /user path, so both will see the link, even if anonymous users do not technically have an account. Using this module will allow you to only have your 'My account' link visible to registered users, and hide it from anonymous users.

The module uses the exact same UI used for block visibility settings for familiarity.

Workbench Moderation

workbench-moderation-screenshot.png

Workbench Moderation adds arbitrary moderation states to Drupal core's "unpublished" and "published" node states, and affects the behavior of node revisions when nodes are published. Moderation states are tracked per-revision; rather than moderating nodes, Workbench Moderation moderates revisions.

Advanced Forum

Advanced Forum builds on and enhances Drupal's core forum module. When used in combination with other Drupal contributed modules, many of which are automatically used by Advanced Forum, you can achieve much of what stand alone software provides. Because it uses the core forum module, it uses the node and comment system built into Drupal and is completely integrated, not a bridge. While it doesn't have all of the features of stand alone forum applications, being completely integrated into your site provides advantages that they don't.

ACL

The ACL module, short for Access Control Lists, is an API for other modules to create lists of users and give them access to nodes. It has no UI of its own and will not do anything by itself; install this module only if some other module tells you to.

We're aware of the following modules using ACL (let us know if you know of others):

Override Node Options

A screenshot of the Override Node Options permissions

The Override Node Options module allows permissions to be set to each field within the Authoring information and Publishing options field sets on the node form. It also allows selected field sets to be set as collapsed and / or collapsible.

To install:

  1. Download, unpack and place in sites/all/modules/
  2. Adjust access control in admin/user/permissions
  3. Adjust Fieldset options in admin/settings/override_node_options

Note: Autocomplete "Authored by" field only works if user has "Access user profiles" permission.

Menu Admin per Menu

By default, Drupal allows only users with the Administer menus and menu items permission to add, modify or delete menu items.

Menu Admin per Menu allows to give roles per menu admin permissions without giving them full admin permission.

For instance, you may let certain users manage the items of the Main or Navigation menus but not those of the Management menu.

Try out a demonstration
Watch a screencast

Search configuration

Combining both search forms, hiding fields, changed labels & reducing node types

This module has five main functions.

  1. Alter the appearance of the core node search form
  2. Group content types for more meaningful searching
  3. Restrict search results by the content type.
    This is a role based restriction.
  4. Restrict search results from showing individual items.
  5. Alter the pager limit (aka number search item results per page).

Admin user (uid 1) is exempt from restrictions.

Entityform

Drupal 8

For Drupal 8 Entityform is now EForm

Overview

The Entityform module enables you to create front-end forms (fieldable entities), which contain fields that you define! These forms use the standard Drupal fields. This means that out of the box, you can use any standard Drupal node field! As of the time this article was written, there were over three hundred "field" modules. And since Entityforms are "Drupal entities", you will automatically be able to use future "field" modules!

The forms can be used to create custom surveys, petition, and personalized contact forms, and other customized form. (For those of you who have used Webforms, this module brings Webform's functionality into the "standard" Drupal field / entity world.)

As with everything in Drupal, there are Pros and Cons to using Entityform. All though Entityform is a powerful tool, it is not always the best solution. The article When to Use Entityform discusses the advantages and disadvantages that Entityform may have over other methods of creating user "submittable" forms. Do not use Entityform for forms that will contain 150+ form elements

Reccomended Versions

The Drupal 8 verision of Entityform has been renamed to EForm(to avoid name confusion).

For new users the 7. x-2. x alpha versions are recommended. These versions are also recommended for current 7.x-1.x users who are NOT using built in Rules integration. The only remaining issues with them is upgrading 7.x-1.x Rules integrations to use Entity Rules.

The Problem

While Webform is a great module with a huge following, it does not integrate with standard Drupal field or entity aware modules. And while Webform can be integrated into Rules and Views via additional modules, it does add complexity and overhead.

The Solution

To solve these issues, the Entityform module was created. It is a survey creation tool that allows integrates with standard Drupal field and entity aware modules out of the box.

Features

  • Ability to attach any Drupal Field to the Forms
  • Ability to use most field based and entity aware modules.
  • You can download submitted data to XML and / or CSV data files using View Data Export.
  • Rules based form submission notifications. Allows for complex notifications logic.
  • Rules based form access control. Allows for complex access logic.
  • Use Views to create to create an administrative listing of each Entityform type Submissions for fine grain control.

Rabbit Hole

What is this?

Rabbit Hole is a module that adds the ability to control what should happen when an entity is being viewed at its own page.

Perhaps you have a content type that never should be displayed on its own page, like an image content type that's displayed in a carousel. Rabbit Hole can prevent this node from being accessible on its own page, through node/xxx.

Options

This works by providing multiple options to control what should happen when the entity is being viewed at its own page. You have the ability to

  • Deliver an access denied page.
  • Deliver a page not found page.
  • Issue a page redirect to any path or external url.
  • Or simply display the entity (regular behavior).

This is configurable per bundle and per entity. There is also a permission that lets certain roles override Rabbit Hole completely.

It's possible to evaluate PHP for the redirect path. This makes it possible to execute different redirects based on whatever logics you need. Perhaps you want a user to be able to view nodes that he has created, but no one else's. The PHP evaluation is limited to users with the appropriate permission, so there's no unnecessary security breach.

Supported entities

Fieldable Panels Panes (FPP)

This module creates an entity that may be used in panel panes to create fieldable entity panes. These panes can be created either directly in the Panels UI or in a separate administrative UI and later added.

Once added, they can appear in the "Add content" dialog to be easily reused. Since they are fieldable entities, they can contain any kind of data that field API can provide.

Each entity supports revisions, and any revision can be made current without having to make a new revision.

Juicebox HTML5 Responsive Image Galleries

Juiceboc gallery screenshot

This module provides an integration between the popular Juicebox HTML5 responsive gallery library and Drupal. Juicebox is in many ways the successor of Simpleviewer and offers a powerful cross-device solution for image galleries, sliders and more.

The Juicebox library, which is distributed, maintained and supported separately from this Drupal project, is:

  • Based on HTML5 and supports "universal playback". This means it can run on nearly any device and supports multiple input methods (touch gestures, etc.).
  • Fully responsive so galleries can dynamically re-size and adapt to different browser sizes.

This Juicebox module integrates with the library and allows you to turn arbitrary Drupal image data into Juicebox galleries. It includes:

  • A field formatter that allows image and file fields to be formatted as Juicebox Galleries (individual nodes/entities can contain Juicebox galleries).
  • A views style plugin that allows content and file views to be formatted as Juicebox galleries (groups of nodes/entities or files can become Juicebox galleries).

Pages