7.x

Summary (7.x)
AdvAgg allows you to improve the frontend performance of your site. Be sure to do a before and after comparison by using Google's PageSpeed Insights and WebPagetest.org. The performance benefits are achieved by using some of the features found in AdvAgg and its sub modules. Out of the box AdvAgg's frontend performance will be similar to cores.

Features & benefits (7.x)

  • Stability - If the Aggregate doesn't exist it will be generated on demand.
  • Stability - Stampede file protection. Uses locking so multiple requests for the same thing will result in only one thread doing the work.
     
  • Backend - Render Cache; cache the generated HTML.
  • Backend - Zero file I/O if the Aggregated file already exists. Big improvement if using a networked filesystems (NFS, S3, etc).
     
  • Frontend - Combine CSS files by using media queries; better CSS groupings.
  • Frontend - DNS Prefetch. Start DNS lookup for external domains as soon as possible.
  • Frontend - Workaround IE 6-9 CSS limitation by preventing more than 4095 selectors in a CSS file.
  • Frontend - Gzip support. Compress files into a .gz file and serve from Apache. This is faster then gzipping the file on each request.
     
  • DX - Browser conditional comments for CSS and JS.
  • DX - All attributes are supported.
  • DX - D8 Features backported when feasible.
  • DX - Add JS to any region of the theme.
  • DX - Admin can drop a cookie that will turn off file aggregation (theme development).
  • DX - 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.

Submodules (7.x)

  • Frontend - Bundler Submodule. Given a target number of CSS/JS aggregates, this will try very hard to meet that goal. It smartly groups files together.
  • Frontend - Modifier Submodule. Has various tweaks packaged up. Force preprocessing for all CSS/JS; move JS to footer; add defer tag to all JS; Inline all CSS/JS for given paths; remove unused JavaScript tags if possible, which will scan all included JS files for references to jquery and drupal, if none are found then the default JavaScript is removed from the page; built-in support for the JavaScript async shim; the use of a shared directory for a unified multisite; Use JS to load CSS asynchronously.
  • Frontend - CSS/JS Compress Submodules. Can minifiy files & inline CSS/JS. Can also turn off core CSS compression for theme development.
     
  • DX - CSS/JS Validator Submodule. Validate all CSS files using jigsaw.w3.org. Check all CSS files with CSSLint. Check all JS files with JSHint

Notes (7.x)

HTTP Parallel Request & Threading Library is not required but is recommended so Aggregates will be built in the background.
OpenLayers - #2320267: Blindly setting Drupal.settings.openlayers to an empty object in openlayers.js is a bad idea is only needed moving the JS out of the header.

3rd Party Modules

AdvAgg Search & Replace
CSS Delivery Optimizer

Similar Modules (7.x)

List of modules in D7 that might provide similar functionality.
http://drupal.org/project/core_library
http://drupal.org/project/agrcache
http://drupal.org/project/blackwhite
http://drupal.org/project/bundle_aggregation
http://drupal.org/sandbox/JaceRider/1728316 (Aggregated SASS via Compass)
http://drupal.org/project/magic
http://drupal.org/project/uglifyjs
http://drupal.org/project/speedy
http://drupal.org/project/simple_aggregation
https://www.drupal.org/sandbox/alanmackenzie/2135127 (Role CSS & JS Aggregation)

6.x

This is the holy grail of CSS & JS aggregation and optimization. If you want your website to load faster, install this module. If you think flushing your CSS/JS directory on certain submit forms is a dumb idea, you should install this module. If you like the idea of using Google's CDN for jquery.js, install this module. It also aggregates JS in the footer. JS minification/CSS compression ... you guessed it install this module. Gzip CSS/JS files, yep it does that too! Using a private file system? Use this module and bring back aggregation for improved performance! Wish you could use the same aggregate on different pages, guess what? Install the bundler submodule and watch in awe of how fast your site loads.

See the readme.txt file for more details.

Notes (6.x)

This is fully compatible with the following modules:
jQuery Update
jQuery UI
CDN
LABjs
HeadJS
Parallel CSS - AdvAgg Plugin
Cookieless Subdomain
If the user has the permission of "bypass advanced aggregation" then adding ?advagg=0 to the end of the URL will turn off aggregation for that request (very useful for debugging CSS/JS issues on a live site). CSS files are located in the files/advagg_css dir. JS files are located in the files/advagg_js dir.

Thanks (6.x)

These are the modules I borrowed from in order to make this happen.
Javascript Aggregator
CSSTidy
Bundlecache
IE Unlimited CSS Loader
Reason why this is an all in one module is because of the 404 handling; yes that is correct, getting a 404 for a CSS or JS file is now almost impossible. This is good news for Varnish, Purge and Boost users.

Known Issues (6.x)

#1172010-6: Quicktabs, AdvAgg - Loaded via AJAX do not pull advagg bundles
#1149792-9: CTools - Allow ctools_ajax_page_preprocess to not be ran & added documentation to includes/ajax.inc
#1358506: AdvAgg, Popups API: No CSS/JS aggregation on Popups
#1272314: CTools javascript compression and JSLint issues.
#1867284: Do not use packed Javascript file

Supporting organizations: 
Paid for mikeytown2 to develop & maintain this module

Project Information

Downloads