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.
An Acquia Subscription enhances the Drupal experience by providing the support and network services to operate a trouble-free Drupal website. Subscribers to Acquia gain access to remote network services, documentation and the Acquia subscriber forums. Premium subscriptions provide web-based ticket management, as well as email and telephone support.
These modules allow you to connect any Drupal 6.x of Drupal 7.x site to your Acquia subscription. Acquia also has a distribution of Drupal called Acquia Drupal which is composed of purely open source GPL licensed components. If you are looking for a quick start with Drupal, Acquia Drupal might be of great use for you.
Acquia Connector requires PHP 5.2 or above
Modules in this project
Acquia Agent: Enables secure communication between your Drupal sites and Acquia to monitor uptime, check for updates, and collect site information.
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:
The Drupal 7 successor to Build modes which will allow administrators to define custom view modes for entities. Custom entities are added to the entity registry via hook_entity_info_alter() so they are available to any code that uses entity_get_info() to provide a list of view modes for an entity. This includes node and user reference fields, Views, etc.
What is Bean?
Think of a Bean as a method to provide new types (compared to node this would be a content type) which then provides an add content interface to create as many blocks as you require (see screenshot below). The bean content can then be placed around the site just like any other block.
Beans were driven by the API first. This means that you can create block types (bean types) all in a plugin class turning off the UI. The entire configuration in code. No worry about feature reverts.
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.
Useful Drupal module to assign separate themes for different roles (including anonymous) in your system.
Often you want to separate Drupal administrative interface from frontend. You can do this assigning appropriate theme for you as user. What to do if you want to show different theme for non-authorized user?
By default, Drupal allows only users with "administrer menu permission" to add, modify or delete menu items.
In case you want for instance to let certain users manage primary links or secondary links but not navigation menu, this module provides this functionality.
The Format Number API module provides a method to configure number formats (site default and user defined) with configurable decimal point and thousand separators.
This module also provides the 'numericfield' Forms API element, which is a right aligned text input element that allows the user enter numbers using the configured thousands separator and decimal point (site default or user defined). This Forms API element provides a validation callback that is used automatically and that ensures input is valid numeric as per the options defined for the element.
Drupal allows you to define a different theme for administration pages (Administer -> Site configuration -> Administration theme). By default this only applies to pages with a path starting with 'admin' and content editing pages.
The Administration theme module allows you to use this theme on more pages like :
- batch processing pages
- devel node load and render pages
- coder code review pages
- pages you define yourself in the provided textarea
The Drupal 5 version adds the option "Use administration theme for content editing" available in Drupal 6 core.
Some of these options will only be available to you if they apply to your installation, i.e. you have the module installed which generates these pages.
Use default theme (not administration theme) for anonymous users on admin/*
Page manager existing pages allows you to override/configure Drupal menu paths so you can create variants with Page manager, which is bundled in the CTools project.
Technically, this project defines one abstract task and one content type plugin, so menu items can be overridden and the original page callback can be called through the content type plugin. This project comes with one default existing page, which is 'node', the default Drupal frontpage.
Tested overridden paths
Drupal frontpage at 'node'.
Media file paths as 'media/%'.
Apache Solr search pages at any path you defined.
FAQ at 'faq-page', 'faq-page/%', 'faq-page/list' and 'faq-page/%/list'.
In theory, any menu callback can now be overridden. Default contexts can be added for entity paths, but will need more testing.
This is a Messaging Framework to allow message sending in a channel independent way. It will provide a common API for message composition and sending while allowing plug-ins for multiple messaging methods.
When using this framework, you won't send e-mails to users anymore. You will send them 'messages' and they will decide how they want to get them delivered, that may be by mail, IM, SMS, depending on user's preferences...
Drupal 7 upgrade
Some limited funcionality has been upgraded.
Development is back on Drupal git repository.
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:
Filter and sort available options with a view (if views is installed)
The ability to start with the tree either minimized or maximized
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.
OpenLayers supports a wide range of map types and new types can easily be added as ctools exportables - new layer types are being added all the time. Currently the module supports OpenStreetMap, Google Maps, Yahoo Maps, Bing Maps, TMS, WMS, CloudMade, XYZ map types and the MapBox maps.
OpenLayers supports a wide range projections and new ones can easily be added as ctools exportables. Proj4JS is the JS library who allows to create custom projections, so, the proj4js module is now a dependency.
Map interactions like popups, zoom controls, editing, and fullscreen can be added via the UI and extended by other modules.
This module allows for a user interface to create and store maps which can be used to customize all sorts of things like CCK Formatters to Views Plugins. Maps can be provided by code or stored in the database and integrated with Features.
This module allows you to create arbitrary Workflows, and assign them to Entities.
Workflows are made up of workflow states. Transitions between states can be allowed per role. For example, a workflow with the states Draft, Review, and Published could be assigned to the Story node type. Only users with role 'chief editor' can set Stories to the published state.
You can set up the Workflow to alter states from form, page, comment and a special workflow tab.
This group of modules is sort of a recipe module that makes things easier by showing how to integrate some other modules as well as providing miscellaneous features that aren't distributed by Views itself. Sometimes these modules are only base recipes that will need to be themed and spiced up to fit your needs so be creative!
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.
Rather than having to manually copy/paste the Like this on Facebook code for each piece of content you (or your users) create, this module will automatically add that code to the end of each chosen node type. You are able to add a Like button which likes a given URL (static, e.g. your homepage) or/and put a dynamic Like button on your page to like the page you are actually visiting.
!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.