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.
This suite is primarily a set of APIs and tools to improve the developer experience. It also contains a module called the Page Manager whose job is to manage pages. In particular it manages panel pages, but as it grows it will be able to manage far more than just Panels.
For the moment, it includes the following tools:
Plugins -- tools to make it easy for modules to let other modules implement plugins from .inc files.
Exportables -- tools to make it easier for modules to have objects that live in database or live in code, such as 'default views'.
AJAX responder -- tools to make it easier for the server to handle AJAX requests and tell the client what to do with them.
Form tools -- tools to make it easier for forms to deal with AJAX.
Object caching -- tool to make it easier to edit an object across multiple page requests and cache the editing work.
Contexts -- the notion of wrapping objects in a unified wrapper and providing an API to create and accept these contexts as input.
Modal dialog -- tool to make it simple to put a form in a modal dialog.
Dependent -- a simple form widget to make form items appear and disappear based upon the selections in another item.
Content -- pluggable content types used as panes in Panels and other modules like Dashboard.
Provides a theme-independent administration interface (aka. navigation, back-end). It's a helper for novice users coming from other CMS, a time-saver for site administrators, and useful for developers and site builders.
Administrative links are displayed in a CSS/JS-based menu at the top on all pages of your site. It not only contains regular menu items — tasks and actions are also included, enabling fast access to any administrative resource your Drupal site provides.
Back up and restore your Drupal MySQL database, code, and files or migrate a site between environments. Backup and Migrate supports gzip, bzip and zip compression as well as automatic scheduled backups.
With Backup and Migrate you can dump some or all of your database tables to a file download or save to a file on the server or offsite, and to restore from an uploaded or previously saved database dump. You can choose which tables and what data to backup and cache data is excluded by default.
The features module enables the capture and management of features in Drupal. A feature is a collection of Drupal entities which taken together satisfy a certain use-case.
Features provides a UI and API for taking different site building components from modules with exportables and bundling them together in a single feature module. A feature module is like any other Drupal module except that it declares its components (e.g. views, contexts, CCK fields, etc.) in its .info file so that it can be checked, updated, or reverted programmatically.
The Masquerade module allows site administrators (or anyone with enough permissions) to switch users and surf the site as that user (no password required). That person can switch back to their own user account at any time.
This is helpful for site developers when trying to determine what a client, logged in as themselves, might see when logged into the site.
A standardized solution of integrating external applications with Drupal. Service callbacks may be used with multiple interfaces like REST, XMLRPC, JSON, JSON-RPC, SOAP, AMF, etc. This allows a Drupal site to provide web services via multiple interfaces while using the same callback code.
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):
Content Access (optionally uses ACL to provide by-user access control)
Widgets enables you to centrally manage and configure code snippets on your site such as share and follow buttons or Twitter updates and Facebook like boxes. It implements a user interface that allows you to easily organize and configure various widget elements. Using a UI similar to core’s image styles, elements can be assembled into widget sets which can be reused throughout the site via blocks and other render displays.
The Widgets module is primarily a user interface API and as such includes only generic markup widgets. You can add new custom widgets using the widget definition admin or enable modules that provide widgets. There are several dozen widgets available through the Social media and Service links modules.
Installation. Use standard methods to install the Widgets archive files into your Drupal site. Then go to admin > modules and enable the Widgets module. You will want to install the Social media and/or Service links modules also to provide widget sources.
To display widget sets on your site use the blocks admin at admin > structure > blocks or other method for managing blocks such as Context or Panels. Look for blocks that start with the label "Widgets:" Several pre-built widget sets are provided by the Social media module.
!NEW Release 2.0 is finally out, with D7 support, code & performance improvements and a lot of new features!
Elysia Cron extends Drupal standard cron, allowing a fine grain control over each task and several ways to add custom cron jobs to your site.
[NEW IN 2.0] Set the timings and frequencies of each cron task (you can run some jobs every day at a specified hour, other only monthly and so on...). For each task you can simply choose between some frequently used options ("once a day", "once a month" ...), or use a powerful "linux crontab"-like syntax to set the accurate timings. You can even define your frequently used options to speed up site configuration.
Parallel execution of cron task: you can group jobs in channels and execute then simultaneously: so a task that takes a lot of time to execute won't block other tasks that need to be executed every 5 minutes...
You can disable all tasks, an entire channel or a single task.
Change the priority/order of task execution.
Manual force the execution of a cron tasks.
Detailed overview of cron status with time statistics for single tasks and channels.
[NEW IN 2.0] powerful API for module developers: you can define extra cron tasks for your modules, each one with own default timings (site administrators can override them by configuration, other modules via hook_alter). Elysia Cron 2.0 gives a brand new API support (compatible with 1.0 version) with a lot of features.
Administrators can define custom jobs (call to functions with parameters), via the "script" option.
Several optimization for frequent cron calls and error handling.
Protection from external cron calling by cron_key or allowed host list.
Elysia has no dependencies with contributed modules, and doesn't need to patch the core: it can be used in minimal Drupal installation with only core modules.
It also can be used in a Drupal install profile.
3rd party integration:
[NEW IN 2.0] Ping feature, for external tracking services like host-tracker to tell whether cron is functioning properly on your site.
[NEW IN 2.0] Drush support: you can call "drush elysia-cron" to manually run extended cron.
[NEW IN 2.0] CTools support for exports/backup of task settings.
Introduced in Drupal 6, the Schema API allows modules to declare their database tables in a structured array (similar to the Form API) and provides API functions for creating, dropping, and changing tables, columns, keys, and indexes.
The Schema module provides additional Schema-related functionality not provided by the core Schema API that is useful for module developers. Currently, this includes:
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.
Boxes module is a reimplementation of the custom blocks (boxes) that the core block module provides. It is a proof of concept for what a re-worked block module could do.
The module assumes that custom blocks are configuration, and not content. This means that it is a reasonable action to ask for all blocks at one time, this is in fact exactly what the core block module does.
Boxes provides an inline interface for editing blocks, allowing you to change the contents of blocks without going to an admin page.
Boxes provides exportables for its blocks via the (required) Chaos tools module. This allows modules to provide blocks in code that can be overwritten in the UI.
Chaos tools is required to use Boxes.
The following modules provide Boxes plugins. Let us know if your plugin is not listed here.
UUID Features 7.x-1.0-alpha3 fixes some HTML code that made the module completely unusable. Please update ASAP. If you're experiencing WSOD simply remove the module files completely then upload the latest version. The latest version now works with UUID 7.x-1.0-alpha3. Please report any bug you encounter in the issue queue.
The UUID Features Integration module provides a mechanism for exporting content (nodes, taxonomy, fields) into a features module. What's that you say? You thought features was only for configuration? This module is meant to be used in the cases where certain pieces of content straddle the line between pure content and configuration.
There are relatively static pages (like an About Us page) that have links from your primary navigation. If these were to go missing, your client would certainly say the site is broken.
NOTE: This module has now been rolled into the 3.x branch of Backup and Migrate and is no longer supported independently.
This module is a plugin for Backup and Migrate and does nothing on its own. You must download and install Backup and Migrate 2.x (Aug 24 dev or later) to use this module. This module is not compatible with version 1 of Backup and Migrate.
The Custom Formatters module allows users to easily create custom Field Formatters without the need to write a custom module. Custom Formatters can then be exported as CTools Exportables, Features or Drupal API Field Formatters.
Pluggable editor/renderer engines:
Create simple formatters from existing formatters with preset formatter settings.
HTML + Tokens
A HTML based editor with Token support.
A PHP based editor with support for multiple fields and multiple values.
A Twig based editor provided by the Twig filter module.
Supports for all fieldable entities, including but not limited to:
Drupal core - Comment, Node, Taxonomy term and User entities.
Field collection module - Field-collection item entity.
Media module - Media entity.
Drupal API formatter via:
Custom Formatters export interface.
CTools exportable via:
Custom Formatters export interface.
CTools Bulk Export module.
Live preview using real entities or Devel Generate.
Review your Custom Formatter code for Drupal coding standards and more.
Contextual links(Drupal core)
Adds a hover link for quick editing of Custom Formatters.
Format Display Suite fields.
Adds dependent Custom Formatters (from Views or Content types) to Feature.
Drag'n'Drop interface for builder Formatter Settings forms.
Exposes Custom Formatters to the Insert module.
Adds real-time syntax highlighting.
Adds the Token tree browser to the HTML + Tokens engine.
The Content Analysis module is an API designed to help modules that need to analyze content. The module enables a suite of content analyzers to provide multiple views into the content on your Drupal site or on any website. The current list of available analyzers are:
Quick SEO: Provides a quick and easy analysis of content to help your site rank better in the search engines for a specific keyword.
Scribe SEO: Provides advanced analysis of content to help your site rank better in the search engines. Also provides keyword extraction and guidance.
Readability: Grades content based on five popular automated readability tests for content
Modernizr tests which native CSS3 and HTML5 features are available in each browser and makes the results available to you in two ways: as properties on a global Modernizr object, and as classes on the <html> element. This information allows you to progressively enhance your pages with a granular level of control over the experience.
This Drupal module provides deep integration with the Modernizr JS library, allowing other modules or themes to register tests, load additional assets as needed, and even create new copies of the Modernizr library when a website's requirements change. Read more below.