Earlier in the week I blogged about the latest release of ColdFire and briefly mentioned the new request queue feature. I wanted to follow up with some details about this new feature, however in thinking about this blog post I realized that a more correct name would be the response queue, as the queue lists responses from the server which have ColdFire data. So, nevermind what it is called, what can it do?
Show Debugging Data for Multiple Frames
The response queue holds the last ten responses with ColdFire data that result from requests generated by the top level browser window. That means if you have a muti-frame site (yes, they still exist) you will see debugging data for not only each frame, but also the top level page which contains the frameset.
Show Debugging Data for ColdFusion Generated Assets
I'll note here that by default ColdFire displays debugging info for the last response it receives. In some cases you may not want this so for those situations you can "pin" ColdFire to the first response it receives by un-checking the "Show Last Request" option. See the above demo for more info on this option.
Show Debugging Data for AJAX Responses
The response queue can also be useful for debugging some AJAX applications. I say some because it depends on how you are handling your AJAX requests. If you are using remote CFC calls to generate AJAX responses then you are out of luck because ColdFusion debugging does not run for those requests. If you are using plain old .cfm templates however, then you will see debugging info for your AJAX calls. To get this to work with CF 8's built in AJAX functionality you need to make some small tweaks, but other frameworks should work just fine. (See the related entry for Spry demo if you are interested.)
Debugging ColdFusion 8 AJAX with ColdFire
By default, ColdFusion's AJAX engine appends the _cf_nodebug=true parameter to all URLs. This disables the ColdFusion debugger and thus ColdFire. If you want to change this you can open the /CFIDE/scripts/ajax/package/cfajax.js file and replace all occurrences of "_cf_nodebug=true" with "_cf_nodebug=false". (Be sure to back up the original cfajax.js before you do this!) This change should allow you to debug ColdFusion AJAX requests made to .cfm templates.
So there you have it, the ColdFire response queue. I'm still working on ideas for the UI as I would like to be able to change the current response from any view, but I think it is still useful even in this early state. As always if you have any issues or suggestions please let me know.