CDN integration
#D7CX: I pledge that CDN integration will have a full Drupal 7 release on the day that Drupal 7 is released.
Description
The aim of this module to provide easy Content Delivery Network integration for Drupal sites. Obviously it has to patch Drupal core to rewrite the URLs. URLs must be rewritten to be able to actually serve the files from a CDN.
It provides two modes: basic and advanced.
- In basic mode, only "Origin Pull" CDNs are supported. These are CDNs that only require you to replace the domain name (and possibly base path) with another domain name. The CDN will then automatically fetch (pull) the files from your server (the origin).
- In advanced mode, you must install and configure the daemon I wrote as part of my bachelor thesis: File Conveyor. This allows for much more advanced setups: files can be processed before they are synced and your CDN doesn't have to support Origin Pull, any push method is fine. Push always uses transfer protocols, either well-established ones (e.g. FTP) or custom ones (e.g. Amazon S3 and Mosso CloudFiles). It is thanks to this abstraction layer that it can be used for any CDN, thereby avoiding vendor lock-in.
- File Conveyor includes "transporters" for FTP, Amazon S3, Amazon CloudFront and Mosso CloudFiles.
- File Conveyor also allows for any kind of automatic file processing. It includes "processors" for: image optimization (using a combination of ImageMagick, pngcrush, jpegtran and gifsicle), CSS minification (YUI Compressor), JS minification (YUI Compressor and/or Google Closure Compiler), and so on. It's also very easy to add your own processors.
Note:
"Origin Pull" means the CDN pulls files from the origin server (i.e. the Drupal web server). That's where its name comes from.
Amazon S3, CloudFiles and CacheFly are all examples of Push CDNs. The first two have custom protocols, the latter uses FTP. These don't automatically pull files from your server (the origin server), but you have to push the files manually (or using a script of some sort, or my daemon) to the CDN.
Other CDNs, such as SimpleCDN, offer both pull- and push-functionality.
This module was written as part of the bachelor thesis of Wim Leers at Hasselt University.
Releases
| Official releases | Date | Size | Links | Status | |
|---|---|---|---|---|---|
| 6.x-1.1 | 2009-Jul-01 | 20.4 KB | Download · Release notes | Recommended for 6.x | |
