AdobeStock_455007340

ColdFusion 9 And CFCACHE Backwards Compatibility

As a general rule we are exceedingly careful to not break backwards compatibility when updating ColdFusion. But, sometimes this happens, and here is an example that a reader just alerted me to.
is used to cache the generated output of dynamic pages so as to improve performance. Prior to ColdFusion 9, the request query string was automatically used as part of the page identifier, so that pages with different query strings (URL parameters) would be cached independent of each other. In ColdFusion 9 this changed. As per the documentation, ColdFusion 9 added a new usequerystring attribute which specifies whether or not pages should be treated as unique if they only differ by query string. And unfortunately, the default is false, effectively changing behavior if this new attribute is not used.
The change was made to fix a specific bug. But, unfortunately, the implementation can break backwards compatibility.

2 responses to “ColdFusion 9 And CFCACHE Backwards Compatibility”

  1. Peter Boughton Avatar
    Peter Boughton

    Hmmm… the bug doesn’t explain why the default is false, rather than true, (which would maintain backwards compatibility)?
    Or indeed why there isn’t instead an admin setting to control the default at a server-level (to avoid someone having to modify all cfcache tags)?
    btw, documentation link isn’t working. Guessing it should be pointing here:
    http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7d5a.html
    Or, for a simpler url, here: http://www.cfquickdocs.com/cf9/#cfcache

  2. Ben Forta Avatar
    Ben Forta

    Agreed. And doc link fixed, thanks.
    — Ben

Leave a Reply