Install

Works with Drupal: 8.x

Using Composer to manage Drupal site dependencies

Alternative installation files

Download cdn-8.x-3.0-rc1.tar.gztar.gz 30.77 KB
MD5: 7bf35506c414d9fb2de1ce4fb0158a4d
SHA-1: 540d98edc6a02bc4096af624d58182b8848ad600
SHA-256: 64f9a774f7388cc947dc833aeed60a86bcaf32bc1089e37ed4bed09ff8280c2d
Download cdn-8.x-3.0-rc1.zipzip 46.46 KB
MD5: 1915d9ff62e17ae611cbe1e78dae1ce3
SHA-1: 6f5d86b72a31e8437838c823a2f975ac1ec05a59
SHA-256: 2378762f84b1bac31d3ded446e79b407d132799eaf1247b7895ee8089a5f05cc

Release notes

After two weeks of beta1, here's RC1! Since no bugs were reported (and I fixed the ones I found), I felt it was time for an RC, to get more people to test it :)

The CDN module is now fully ported to Drupal 8. It is much simpler to use (just look at the UI). It has less overhead (the UI is in a separate module, the altering of file URLs has far simpler logic). It has lower technical complexity (File Conveyor support was dropped, it no longer needs to detect HTTP vs HTTPS: it always uses protocol-relative URLs, less unnecessary configurability, the farfuture functionality no longer tries to generate file and no longer has extremely detailed configurability).

In other words: the CDN module in Drupal 8 is much simpler. And has much better test coverage too. (You can see this in the tarball size too: it's about half of the Drupal 7 version of the module!)


The CDN UI module's configuration UI.

all the fundamentals
  • the ability to use simple CDN mappings, including conditional ones depending on file extensions, auto-balancing, and complex combinations of all of the above
  • DNS prefetching
  • a simple UI to set it up — in fact, much simpler than before!
changed/improved
  1. the CDN module now always uses protocol-relative URLs, which means there's no more need to distinguish between HTTP and HTTPS, which simplifies a lot
  2. the UI is now a separate module (fixes #1784432: Version 3.0: move UI of CDN module into a cdn_ui module)
  3. the UI is optional: for power users there is a sensible configuration structure with strict config schema validation
  4. complete unit test coverage of the heart of the CDN module, thanks to D8's improved architecture
  5. DNS prefetching using headers rather than tags in <head>, which allows me to use a much simpler/cleaner Symfony response subscriber
  6. tours instead of advanced help (fixes #1753174: Dependency for advanced_help module), which very often was ignored
  7. there is nothing to configure for the SEO (duplicate content prevention) feature anymore
  8. nor is there anything to configure for the Forever cacheable files feature anymore (named Far Future expiration in Drupal 7), and it's a lot more robust
removed
  1. File Conveyor support
  2. separate HTTPS mapping (also mentioned above)
  3. all the exceptions (blacklist, whitelist, based on Drupal path, file path…) — all of them are a maintenance/debugging/cacheability nightmare
  4. configurability of SEO feature
  5. configurability of unique file identifiers for the Forever cacheable files feature
  6. testing mode

Changes since 8.x-3.0-beta1:

  • #2717015 by Wim Leers, captainack: Add test coverage to ensure rewriting file URLs in tags continues to work
  • #2801225 by dbt102@gmail.com, Shashwat Purav, Wim Leers, shruti1803: Add hook_help() to the module
  • #2745109 by Wim Leers: Files referenced in CSS aggregates should not have CDN URLs: already root-relative, and they cannot be safely made forever cacheable anyway
  • #2806241 by Wim Leers: Far Future expiration functionality doesn't work when Drupal is not installed in the root of a domain
  • #2804463 by Wim Leers: The UI incorrectly marks the status as always being enabled, even when it's not
  • #2801255 by Wim Leers: Move CdnIntegrationTest from src/Tests/ to tests/Functional/
Created by: Wim Leers
Created on: 26 Sep 2016 at 14:12 UTC
Last updated: 18 Nov 2016 at 11:44 UTC
Bug fixes

Other releases