Drupal 8's render pipeline
In Drupal 8, we’ve significantly improved the way pages are rendered. This talk explains the entire render pipeline, in some detail. But it also covers:
- render caching — blocks and entities are now render cached automatically!
- cache tags — finally we have the cache invalidation system we’ve always needed!
- assets — only the necessary assets are loaded anymore, thanks to asset dependencies!
- bubbling — rather than relying on global statics that broke caching, we now correctly bubble up all attached metadata — no more frustrations!
Besides that, I also cover a few of the most interesting new possibilities in Drupal 8:
- anonymous page loads: invalidating Varnish/CDNs with perfect precision
- authenticated page loads: not completely regenerated on every page load, but assembled from render cached parts
- alternative render strategies, like Big Pipe
Update (November 14, 2014): since I gave this talk, https://www.drupal.org/node/2352155 was committed, so this talk is now indeed a comprehensive, correct talk about the finalized Drupal 8 render pipeline!
Update (March 20, 2015): there is now an official Drupal 8 documentation page: https://www.drupal.org/developing/api/8/render/pipeline.
See http://ghent2014.drupalcamp.be/sessions/drupal-8s-render-pipeline.
Also presented at DrupalCon Los Angeles 2015: https://events.drupal.org/losangeles2015/sessions/drupal-8s-render-pipeline (for which it was updated).