Package: sc.base.cdn
ContentsOverviewRequirementsInstallationPost-InstallationProvidersCoralCDNAlternateHostnameMultipleHostnamesTodo/FutureCreditsChangelog0.6 (2010-09-02)0.5a1 (2010-09-02)OverviewThis package implements an easy way to configure a CDN to distribute skin
elements of your site, thus reducing server accesses and improving response
time.sc.base.cdn as developed initially as a proof of concept and it’s shipped with
three different providers:Coral CDNAlternateHostnameMultipleHostnamesRequirementssc.base.cdnhas been tested with:Plone 3.3.x (http://plone.org/products/plone)InstallationTo use this package, on a buildout based installation:Edit your buildout.cfg and addsc.base.cdnto the list of eggs to install[buildout]
...
eggs =
    sc.base.cdnTell the plone.recipe.zope2instance recipe to install a ZCML slug:[instance]
...
zcml =
    ...
    sc.base.cdnIf another package depends on the sc.base.cdn egg or
includes its zcml directly you do not need to specify anything in the
buildout configuration: buildout will detect this automatically.After updating the configuration you need to run the ‘’bin/buildout’’,
which will take care of updating your system.Go to the ‘Site Setup’ page in the Plone interface and click on the
‘Add/Remove Products’ link.Choose the product (check its checkbox) and click the ‘Install’ button.Uninstall – This can be done from the same management screen, but only
if you installed it from the quick installer.Post-InstallationThis package installs a control panel on your Plone instance. To access it
point your browser athttp://<address_to_your_plone_site/@@cdn-controlpanel .The CDN Control Panel allows you to enable/disable the CDN support and also
choose which CDN provider you plan to use.ProvidersThis package is bundled with threevery basicCDN providers. Each one of
them could be used in production but it’s possible to deploy new ones.CoralCDNCoralCDN is a decentralized, self-organizing, peer-to-peer web-content
distribution network. CoralCDN leverages the aggregate bandwidth of volunteers
running the software to absorb and dissipate most of the traffic for web sites
using the system. In so doing, CoralCDN replicates content in proportion to the
content’s popularity, regardless of the publisher’s resources.[#]_Our implementation basically appends the .nyud.net sufix to urls generated by
resource registries (like portal_javascripts, portal_css, portal_kss).AlternateHostnameThis provider allows you to designate an alternate hostname to serve skin
resources for your portal.
A very basic example would be to add 127.0.0.1 as an alternate hostname –
using same port number as your zope instance – during development, thus enabling
resources to be downloaded from 127.0.0.1 while content will be served from
localhost.MultipleHostnamesActing in a similar way to AlternateHostname provider, MultipleHostnames allows
you to type in multiple values for hostname.When the absolute_url method from a resource registry is called, we use choice
to pick one of the available hostnames and return it to the browser.Using MultipleHostnames allows you to serve content from a hostname while
resources will be called from up to 3 other addresses – one for each registry.Todo/FutureSupport other CDN providers as Amazon AWS/S3, FTP / SCP serversSelect which contents will be distributed by a CDNCreditsErico Andrei (erico at simplesconsultoria dot com dot br) - Coding and
Packaging[1]Extracted fromhttp://www.coralcdn.org/overview/Changelog0.6 (2010-09-02)Initial public release [erico_andrei]0.5a1 (2010-09-02)Support for MultipleHostnames. [erico_andrei]Support for AlternateHostname. [erico_andrei]Support for CoralCDN. [erico_andrei]Initial release [erico_andrei]