| 14 |
server (the origin). |
server (the origin). |
| 15 |
|
|
| 16 |
In advanced mode, you must install and configure the daemon I wrote as part of |
In advanced mode, you must install and configure the daemon I wrote as part of |
| 17 |
my bachelor thesis. This allows for much more advanced setups: files can be |
my bachelor thesis: File Conveyor [1]. This allows for much more advanced |
| 18 |
processed before they are synced and your CDN doesn't *have* to support |
setups: files can be processed before they are synced and your CDN doesn't |
| 19 |
Origin Pull, any push method is fine. Push always uses transfer protocols, |
*have* to support Origin Pull, any push method is fine. Push always uses |
| 20 |
either well-established ones (e.g. FTP) or custom ones (e.g. Amazon S3). It is |
transfer protocols, either well-established ones (e.g. FTP) or custom ones |
| 21 |
thanks to this abstraction layer that it can be used for *any* CDN, thereby |
(e.g. Amazon S3 and Mosso CloudFiles). It is thanks to this abstraction layer |
| 22 |
avoiding vendor lock-in. |
that it can be used for *any* CDN, thereby avoiding vendor lock-in. |
| 23 |
|
- File Conveyor includes "transporters" for FTP, Amazon S3, Amazon CloudFront |
| 24 |
|
and Mosso CloudFiles. |
| 25 |
|
- File Conveyor also allows for any kind of automatic file processing. It |
| 26 |
|
includes "processors" for: image optimization (using a combination of |
| 27 |
|
ImageMagick, pngcrush, jpegtran and gifsicle), CSS minification (YUI |
| 28 |
|
Compressor), JS minification (YUI Compressor and/or Google Closure |
| 29 |
|
Compiler), and so on. It's also very easy to add your own processors. |
| 30 |
|
|
| 31 |
|
Note: |
| 32 |
|
"Origin Pull" means the CDN pulls files from the origin server (i.e. the |
| 33 |
|
Drupal web server). That's where its name comes from. Amazon S3, CloudFiles |
| 34 |
|
and CacheFly are all examples of Push CDNs. The first two have custom |
| 35 |
|
protocols, the latter uses FTP. These don't automatically pull files from your |
| 36 |
|
server (the origin server), but you have to push the files manually (or using |
| 37 |
|
a script of some sort, or my daemon) to the CDN. Other CDNs, such as |
| 38 |
|
SimpleCDN, offer both pull- and push-functionality. |
| 39 |
|
|
| 40 |
This module was written as part of the bachelor thesis [1] of Wim Leers at |
This module was written as part of the bachelor thesis [1] of Wim Leers at |
| 41 |
Hasselt University [3]. |
Hasselt University [3]. |
| 42 |
|
|
| 43 |
[1] http://wimleers.com/tags/bachelor-thesis |
[1] http://fileconveyor.org/ |
| 44 |
[2] http://uhasselt.be/ |
[2] http://wimleers.com/tags/bachelor-thesis |
| 45 |
|
[3] http://uhasselt.be/ |
| 46 |
|
|
| 47 |
|
|
| 48 |
Supported CDNs |
Supported CDNs |
| 50 |
- Basic mode: any Origin Pull CDN. |
- Basic mode: any Origin Pull CDN. |
| 51 |
- Advanced mode: any Origin Pull CDN and any push CDN that supports FTP. |
- Advanced mode: any Origin Pull CDN and any push CDN that supports FTP. |
| 52 |
Support for other transfer protocols is welcomed and encouraged: your |
Support for other transfer protocols is welcomed and encouraged: your |
| 53 |
patches are welcome! Amazon S3 and Amazon CloudFront are also supported. |
patches are welcome! Amazon S3, Amazon CloudFront and Mosso CloudFiles are |
| 54 |
|
also supported. |
| 55 |
|
|
| 56 |
|
|
| 57 |
Installation |
Installation |