Skip to main content

CDN support for Plone

Project description

CDN Support for Plone


This package implements a very basic CDN support for Plone sites. Resources registered at the portal registries (Styles, Scripts and KSS) can be delivered by specialized servers on different hostnames.

Also this package implements an experimental approach to serving image content from a CDN. We plan to improve this feature in future releases.

You must add a provider package in order to use CDN Support!

Available provider packages are:

  • AlternateHostname - collective.cdn.alternatehostname
  • Coral Networks - collective.cdn.coral
  • MultipleHostnames - collective.cdn.multiplehostnames


To enable this product,on a buildout based installation:

  1. Edit your buildout.cfg and add collective.cdn.core to the list of eggs to install

    eggs =

If another package depends on the collective.cdn.core 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.

Note: You may have to empty your browser cache and save your resource registries in order to see the effects of the product installation.


CDN settings

After installing this package, go to the ‘Site Setup’ page in the Plone interface and click on the ‘CDN Configuration’ link.

In this page you can choose which registries will use the CDN settings by clicking the respective checkboxes.

Also you must choose a provider – added by specific packages as collective.cdn.coral – and then inform hostnames, port and a path to be used by the provider.

Basic example

The simplest configuration would be possible by installing the collective.cdn.alternatehostname, which will enable you to add a alias hostname to your site.

This configuration allows you to add a alternate hostname as your CDN, for example, using the alias localhost for a site running on

Known Issues

Serving javascripts resources from a server not on the same domain as the main site could break some Plone features as this would fail the same origin policy for javascript.

Serving images from CDN still is considered a experimental feature as it only supports images which are referenced through the tag method of the Archetypes ImageField. We plan to support other content types in the future.


Development of this product was sponsored by Simples Consultoria.


  • Simples Consultoria (products at simplesconsultoria dot com dot br) - Implementation


0.6 (2012-08-01)

  • Refactor tests to use [ericof]
  • PEP 8 cleanup [ericof]
  • Import IVocabularyFactory from zope.schema.interfaces. [ericof]

0.5 (2011-02-21)

  • Experimental support for Archetypes ImageField [ericof]
  • Support for resource registries items [ericof]
  • Initial release of collective.cdn.core [ericof]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for collective.cdn.core, version 0.6
Filename, size File type Python version Upload date Hashes
Filename, size (40.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page