Skip to main content

Overview

This 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 CDN

  • AlternateHostname

  • MultipleHostnames

Requirements

sc.base.cdn has been tested with:

Installation

To use this package, on a buildout based installation:

  1. Edit your buildout.cfg and add sc.base.cdn to the list of eggs to install

    [buildout]
    ...
    eggs =
        sc.base.cdn
  2. Tell the plone.recipe.zope2instance recipe to install a ZCML slug:

    [instance]
    ...
    zcml =
        ...
        sc.base.cdn

If 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-Installation

This package installs a control panel on your Plone instance. To access it point your browser at http://<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.

Providers

This package is bundled with three very basic CDN providers. Each one of them could be used in production but it’s possible to deploy new ones.

CoralCDN

CoralCDN 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).

AlternateHostname

This 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.

MultipleHostnames

Acting 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/Future

  • Support other CDN providers as Amazon AWS/S3, FTP / SCP servers

  • Select which contents will be distributed by a CDN

Credits

  • Erico Andrei (erico at simplesconsultoria dot com dot br) - Coding and Packaging

Changelog

0.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]

Release files for sc.base.cdn 0.6-

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sc.base.cdn 0.6-
File Size Uploaded
sc.base.cdn-0.6-.zip 34.2 kB Details

Release files / sc.base.cdn-0.6-.zip

Download URL sc.base.cdn-0.6-.zip
Size 34.2 kB
Tags Source
SHA-256 checksum
How to use checksums
46b8361aa5bdeabc465eb36b267cf84c0b58c6f9ba108751d1b08c228dff975a
BLAKE2b-256 checksum
How to use checksums
a6967e49c1bda1e85b77b2476a12285557076566065c5e58dd5a0e441b603b07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.6- This release

1 release file

0.6

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page