This project is not covered by Drupal’s security advisory policy.
This module is a low level ESI handling API for module developers and a besic block integration for site admins.
It handles ESI tag build and different levels of caching policy. It is able to cache blocks itself using complex cache identifiers computed using series of variables.
It provides a downgrade mode that is able to load all ESI elements using a simple and efficient piece of JavaScript if the site is not behind an ESI gate.
You can use this module safely without any ESI gate if you need to provide comprenhensible and fine tunable block AJAX loading/caching mecanism.
Technical notes
- It relies on a variable system, provided by implementors then used to compute cache identifiers.
- Strong caching policy, overridable easily by implementors (can be disabled on a per element basis).
- It stores and restores core execution context from the original page the most it can, in order for modules to be able to generate data without worrying about the ASYNC context.
- Uses the menu router 'theme callback' and 'delivery callback' for integrating to core, which makes it efficient and comprehensible (no exit() in AJAX/ESI callbacks)
Integration
Core block integration is provided.
Comparison with the legacy ESI module
This section is not revelant anymore: it took them a while, but now the ESI module has landed for Drupal 7.
It seems to be a mature module with an good design, and supports more features than this project, which was originally a proof of concept. Most of their design choices are actually more or less the same as those I made at the time.
Roadmap
None! This module was officially a proof of concept, and has no reasons to evolve anymore since the ESI module has finally been released.
Project information
Unsupported
Not supported (i.e. abandoned), and no longer being developed. Learn more about dealing with unsupported (abandoned) projectsObsolete
Use of this project is deprecated.- Project categories: Developer tools, Performance
- Created by pounard on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
