Over the past few weeks I've started working on a 2.x branch for the Purge module. It will be a major upgrade from the 1.x series and will make giant leaps in human and technical usability. These new functionality will not be backported to 1.x by me but I welcome patches to improve it. A bugfix release of the 1.x branch will follow at some point but scarse development time will be put into the new branch first.
Configuration storage in database table. (95% done)
The individual proxy configurations are stored in a database table. This allows for a great many extra options without the hackish proxy url scheme. Individual proxy configuration allow for adding custom domains and headers and settings advanced options like parallel execution and nonblocking requests. You can easily combine multiple proxy configurations. Also removes the configuration size limits imposed by the 1.x scheme improving scalability.
Todo: upgrade from 1.x, system and template configurations.
Admin Gui. (75% done)
The partian configuration by the non intuitive proxy URL scheme wil be replaced by a spiffy gui that allows to edit proxy configurations through detailed forms.
Todo: Optional integration with Ctools import/export, domains and headers debugging, machine name validation, ajax forms.
Dependencies and integration (0% done)
Purge 2.x will have no dependencies. The Expire module integration is now optional. The dependency on the Curl library is dropped by adding support for the Httprl module and the native drupal_http_request. All these will have options to send purge requests one at a time. Curl and Httprl can issue requests in parallel. Httprl can issue nonblocking requests.
Documentation and inline help. (10% done)
Readme.txt should be updated, as well as the Project page, the Varnish documentation handbook pages. May end up adding advanced help.
Ideas for post 2.0 release:
- Dividing proxies in separate groups for purging at different levels of caching.
- Auto discovery of certain purge enabled platform. (doable for Acquia platforms)
- API for adding extra domains, headers and form elements for more platforms. (like fastly)
At this moment (late October 2012) the 2.x branch is non functional since most effort has been put into the gui. It's usability should improve over the coming weeks. I'll keep posting updates in this issue.
Please provide feedback in the comments of this issue or create a feature request.