I'm stoked to the work done here. There has been great work done to support caching blocks in various scenarios; context and panels. This post proof-of-concept is ready for some enhancements. I think with a few more features Drupal we can refine the caching to the point it becomes the standard of implementation. Feature requested - region handling. I have an almost completly functional fork of the module that supports regions. I'm looking how to do a quick and dirty patch. I've had to edit several files, but have largely kept my code separate.
* Extension of admin interface with a list of regions and default caching choices similar to blocks.
* Integration with context. Panels not yet supported as I don't have to support that scenarion
* Some custom handling. We use some blocks that are super blocks of sort - blocks w/in blocks. There are a few other modules that do this and easy to extend support for variable rendering if desired.
* AJAX works, Varnish initial test was good for unauth'd traffinc, but I think there is some VCL tweaking for auth'd to be fully functional.
* Support for nested ESI - Rendered regions check their blocks for . Scenario - Cache $right region but have UberCart's block to be cached for no caching.
Desired features - might open different issue for these
* ESI Implementation in batch / queue. All ESI tags that have identical TTL can be gathered and handled with a single. Say you want the header and footer for one TTL and the right rail for another, along with a block from a separate region. I want to group the requests by TTL in a sort of queue to reduce the number of requests.
* GUI interface of statistic data. Don't know quite what this would do...
I'll have some code to post soon. Anybody interested in helping out to refactor?