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.
On demand generation of CSS/JS Aggregates. If the file doesn't exist it will be generated on demand.
Stampede protection for CSS and JS aggregation. Uses locking so multiple requests for the same thing will result in only one thread doing the work.
Fully cached CSS/JS assets allow for zero file I/O if the Aggregated file already exists. Results in better page generation performance.
Can add JS to any region of the theme & have it work and be aggregated.
Combine CSS files by using media queries.
Prevent more than 4095 CSS selectors in an aggregated CSS file (IE 6-9 limitation).
Url query string to turn off aggregation for that request. ?advagg=0 will turn off file aggregation if the user has the "bypass advanced aggregation" permission. ?advagg=-1 will completely bypass all of Advanced CSS/JS Aggregations modules and submodules.
Button on the admin page for dropping a cookie that will turn off file aggregation. Useful for theme development.
Gzip support. All aggregated files can be pre-compressed into a .gz file and served from Apache. This is faster then gzipping the file on each request.
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.
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.
This module creates a new Form API element type: colorpicker, which relies on the 3rd party integration of the jquery colorpicker. After enabling this module and downloading the relevant files from the site linked above, a new form element can be created.
Google Analytics Reports provides graphical reporting of your site's tracking data. Graphical reports include a dashboard widget for admins, a small path-based report in blocks, and a full path-based report.