Announcing ColdFire
If you have attended any of my Spry presentations, you have heard me sing the praises of Firebug, the best Firefox extension ever created. About once a week I discover something new about it that just amazes me.
About a week or so ago I discovered that Firebug, a Firefox extension, can also be extended. Turns out someone made FirePHP, an add on to Firebug that lets you do basic debugging of PHP code in Firebug.
Now I don't know about you guys - but I think anything the PHP folks can do we can do better. (And easier. And quicker...) So I started looking into how this could be added to Firebug. Turns out working with Firefox is a bit complex. Luckily I found out that Adam Podolnick (Podman on the CF IRC channel) was experienced with it. I've had plenty of experience working with ColdFusion's debug templates. So we teamed up to create ColdFire.
ColdFire is a plugin that will let you view debugging information in Firebug instead of a giant dump at the bottom of the page. This is especially useful in cases where ColdFusion's debug output doesn't play well with CSS based sites. Right now it is not quite ready for release, but Adam and I hope to have a 1.0 release sometime soon. Here are a few screen shots. Click the image for a larger picture.
The first screen shots shows the General Information tab. This is basic information about the request including server level, template, and other pieces of information. Unlike the built-in debug template, I also added support to show the current active application, if one exists.
This second screen shot shows the template display. Note how you can tell regular templates from includes, custom tags, and CFCs. Also note the red background on slow templates. We may add filtering so you can restrict the display to just one template or method. This would be useful when you are working on cutting down the execution time of just one part of the request.
Last is the query display. As you can see, it shows each query along with the SQL. This will probably need a bit more work for larger queries. Since I was able to use the code from Starfish, the queries will automatically replace cfqueryparam values with their real data, so you won't see ? in the SQL.
So - what do you guys think? Useful?
Comments
What needs to be enabled on the server / in the application in the terms of debugging settings?
Danlance - You turn on debugging, select coldfire as the template, and that's it.
Cheers
Now about that beta testing. :)
In Fusebox 5 you have to disable query execution time.. since the fusebox cfc's are clogging the debug parsing time.
Fusebox: Well, as I said, we should be adding a filter. This will let you drill down to specific entries. It was not intended to remove entries, but you could do that to focus on non-fusebox stuff.
Release it to the masses!!! :)
Thanks a lot.
Good work!
When displaying queries could it parse the real values in and not the ? when using cfqueryparam?
AJAX support would be amazing.
>support N sets of data per request
Will it support -gag- frames and allow viewing the debug info of each frame in the current set? I'm personally not a frames-lover (or even liker) but I've got to support some legacy apps that make extensive use of them (they were so cool in 1998! ;). It's tough to get debugging info out of very small frames and this would make life so much easier.
If frames support isn't planned and this sounds like a feature request on a piece of software that isn't even released yet, then my apologies for that. I'm really looking forward to something to squash the CSS positioning headaches with debug info once and for all. Woohoo!
There won't be a beta sign up or anything, I'll just post the bits to my blog. It will open to all.
Oh wait - no - um - the beta is available to anyone who visits the wishlist! Or gets me a good import beer! There we go! ;)
This would save me hours of frustration!!!
Well done!
Very cool idea Ray! Thanks for all your hard work.
That looks really cool! Kudos to you and Adam for coming up with this. I look forward to hearing more about it.
Once you get this wrapped up let me know because it would be the ideal thing to port the ModelGlue debugging info into this.
- Roy
Mark
So, how about ASP now?
I love Firebug and often thought it would be great if I could do CF with it as well.
Michael
So first off - I didn't consider it for ModelGlue. It _may_ be something to consider. We could make ColdFire extensible, where if it finds a header of the form coldfire_XXXX, then it tries to parse XXX. It would only support simple datasets, but, it could be possible. Definitely a 2.0 thing. ;)
Jeff - I'll do an ASP one when they pry the CF from my cold, dead, hands. :)
And not to get too wild.... but RDS is really just HTTP calls. If you look at Dreamweaver, it just does HTTP calls to get data. It is possible to enable RDS support via the plugin to let you browse DBs, and even see source code for files. Now mind you - I'm just talking wildly here so take this with a gigantic grain of salt.
"Insanely Great!"
How can I sign up to be notified when it becomes available?
How can I sign up to be notified when it becomes available?
Again - a lot of this was already done in Starfish - I'm just using the old code with some new updates.
I'm looking forward to it being ready!
I want Starbuck back too! What the heck were they thinking? That said, I want Cylons back too! Season 3=yawn (with a few exceptions).
Awesome, cool, rocking, miindblowing - please apply the one(s) that are not already used.
I'm using Firebug all the time, and I won't be using it any less once this get out.
But it's an awesome tool.
I wouldn't mind Alpha/Beta testing it!
yes.

