[Looking for Charlie's main web site?]

Ultimate list of CF debugging output template alternatives

Following on the heels of my "Ultimate Var Scope Resource list" last week, here now I present what I think is the ultimate list of CF debugging output template alternatives.

Yes, you CAN modify the debugging output. Some have even done it for you

Many may not realize that the CF debugging output (optionally displayed at the bottom of the page, as enabled in the CF Admin) is actually created by a CFML template that can be modified ([cf]\wwwroot\WEB-INF\debug\classic.cfm).

Fortunately, several people have offered various resources that explain how to work with this file and offer packaged alternatives with specific features to resolve particular problems (where people wish the debugging output did more, or could be seen differently than at the bottom of the page).

Just drop and reload

You can just drop any of these files into the debug file directory to add to or replace the default file. If it's a new file you then need to select it as an alternative in the CF Admin Debugging Output page which offers a choice for "Select Debugging Output Format", which points to the classic.cfm by default.

Of course, since it's CFML source code, all the options mentioned here are free and open source.

The alternatives, discussed and downloadable

The alternatives include:

  • "Another hack job", from Ray Camden, adding total query time, improved number formatting for individual query times, and highlighting queries that a given duration
  • ColdFire, open source from Nathan Mische et al, a Firefox/Firebug extension to aid in viewing CFML debugging output by way of a new alternative debugging output template, coldfire.cfm
  • ColdFusion Debug Templates, "in case you want to try something different than the default template", from Josh Knutson
  • Debug2FusionReactor, from Intergral, for showing CF debugging output in FR Marker tab
  • Improved Classic CF debugging template, from Aaron Longnion. Changes list of templates executed to show in order executed, rather than by order of duration. Also adds cfqueryparam variable values for queries shown.
  • StarFish, from Ray Camden, a profiling tool built on the CF debugger. Stores debugging output in server scope, and adds an Admin customization interface to view reports based on gathered information.
  • Stiletto, from John Mason, for logging CF debugging output to a file (inspired by a blog entry by Bilal Soylu
  • Zoid, from Ray Camden. Changes the table of templates executed from a summary for each (even if called multiple times) to in individual display of each, in order.
  • Note as well that another alternative to showing debugging output at the bottom of the page is a built-in option in CF. Note the available "dockable" option in the choice for "Select Debugging Output Format". While the aforementioned classic.cfm is the default, the dockable.cfm instead shows the debugging output as dockable/movable/floatable pane instead.

Also listed on my CF411 site

Note as well that I have just created a section in my CF411 site, called "CFML Debugging Output Template Alternatives/Mods". If anyone offers me additions or corrections as a comment below, I'll be sure to update the list in the CF411 page as well.

Finally, as I mention at the bottom of the list on that page, note that I have yet another section (following that one) on the site, called CFML Debugging Tools, which lists still other kinds of CFML debugging tools.

The Ultimate Var Scope Resource list? Understanding/resolving problems with the var scope in CFML

If you or anyone you know ever wants to get up to speed on the "var scope problem" in CF, you may be challenged by the fact that there are many discussions of the topic, spread across many blogs. I've accumulated here a starting list of several of the key ones I know of. I certainly may have missed some, so I welcome suggestions of more.

I think it's helpful to have all the resources in one place. Indeed, ultimately I'll move this to my "resource lists" page where I keep similar "compendia".

I created the list of VAR scope resources today after helping a client with a problem which seemed related to this classic problem: the need to remember to var scope your variables in CFCs. It's often the cause of subtle bugs. Like many, they still hadn't heard about the problem (or had seen mention of it but didn't really understand it).

So if you're in that place, or know someone who may be, here are resources to help get started on understanding the topic and related issues. As always, the CF community has rallied the troops on the matter, and several folks have blogged in various detail or on various related aspects.

About the resources

The first few elaborate on the problem, and the first one even includes a live running example to demonstrate the point. Then a couple explain some related issues.

I also then list resources on the related new "local" scope in CF 9, and some more that discuss compatibility issues with that.

Note that these may have been written any time in the past couple/few years, so keep that in mind and be sure to check the comments as well.

The resources

First, some general resources introducing the var scoping issue/feature:

And some that address various issues related to using the VAR scope:

And some on the change in CF9, for the local scope:

And some tangential discussions of that, including some compatibility issues with the new scope:

The VarScope tool

Finally, of course, as most of these resources point out, be sure to use Mike Schierberl's wonderful varscoper tool to help find whether you have instances of this problem. It tells you literally what to change, where, to don't let concern of this problem overwhelm you.

Conclusion

Hope those are helpful. Again, it's just a starting list. I welcome additions, and I look forward to your comments. In time, I'll move this (and any suggested additions) to my "resource lists" page. Check that out for similar lists of resources on various subjects.

Who's on the CFMeetup this week, Thurs Feb 25

We have two talks this week on the Online ColdFusion Meetup, Thursday Feb 25 at 12pm and 6pm US ET.

"HTML Formatter: Easily formats and indents Coldfusion", with Matt Pressnall

Thursday, Feb 25, 12pm US ET (GMT-5)

Meeting description, details, optional RSVP

"FarCry, tailoring your own CMS", with Geoff Bowers

Thursday, Feb 25, 6pm US ET (GMT-5)

Meeting description, details, optional RSVP

Please join us in the meeting room, experts.acrobat.com/cfmeetup, on the day at the time above. Use the "enter as guest" option offering your name (don't try to log in).

Wondering what time this is in your time zone?

All CFMeetup announcements show the time as US Eastern Time (ET), but they also offer a link (in the announcement pages above) to a page that helps you see the time in your own timezone. If you can't access the meetup.com page above (more on that problem below), you can find the time yourself using the available timeanddate.com site yourself.

Can't access the meetup.com site? You can still join the meeting

The CF Meetup announcements are offered via the commercial third-party hosted site, meetup.com. Since that's been marked by some organizations as a "social networking" site, it may be blocked at your workplace. If you can't see the descriptions (and other details) or use the RSVP mechanism, no worries. There are either of two solutions to get around this.

First, you can just show up on the day at the time above at experts.acrobat.com/cfmeetup. Use the "enter as guest" option and offer your name (as even meetup.com members must do), and you're in. No fuss.

Second, if you'd like to be notified of CF Meetup events and/or see the descriptions, there are a few ways you can (or you can tell others how they can) do these. I discuss them in another blog entry.

All meetings are recorded

All CF Meetup meetings are recorded, and the URLs are posted after the meeting at recordings page and also at my UGTV site. Streaming recordings are available immediately, while downloadable (FLV) recordings will take at least an hour or more to become available.

Wish we had meetings at different times?

The normal time of our meetings is either noon or 6pm US ET, depending on the availability of speakers. To be clear, I would be happy to hold a meetup at another time. If you're in a distant timezone and are willing to speak, I'll be happy to hold a meeting at an hour outside our norm. Speaking of which...

Call for speakers

We're always open to and indeed looking for more speakers. The topics can be new stuff, old stuff, beginner stuff, or advanced stuff. It can be a repeat of something you've given before, or it can be your first presentation ever. In a group with over 1900 members, there's an audience for every topic, and none is ever too small (plus, still more watch the recordings).

If you may be interested in speaking or know someone who is (or you may want to suggest someone you think I should ask), check out speak.coldfusionmeetup.com, which is a past blog entry where I answer common questions, or have them get in touch with me.

I'll be speaking on the CFMeetup this week, doing a CF911 talk

Just a heads up: I'll be speaking on the CFMeetup this week, presenting a new talk, "CF911: ColdFusion Tools for When the Stuff Hits the Fan".

While you can find the details (and optional RSVP info) on the meetup event page, I'll repeat the description to save you having to go there:

If you run a production CF server, you've likely hit a situation where the server seems to hang up. Do you know why it's happened? How to troubleshoot it? It may not be CF's fault at all, though it tends to get the blame. In this presentation, I'll point out a few tools (some free, some commercial, some built-in and some third-party) which you ought to know about when the stuff hits the fan. With the right tools and just a little understanding, you can be a CF troubleshooting superhero.

I'll be presenting in the noon (US Eastern Time) slot, this coming Thursday, Feb 18.

Of course, some of the concepts will apply as well to those using Railo, BlueDragon, etc. This is an expansion of an article of the same name that I did in the latest issue of the FusionAuthority Quarterly Update. (BTW, the magazine has converted to an online-only (though still subscription-based) format.)

Happy to help

This is part of my ongoing focus in recent years on CF server troubleshooting, to go along with the various articles, presentations, blog entries, tweets, and many mailing lists I contribute to.

I'll add also that if you ever find yourself in need of assistance, and have exhausted your review of the many resources on my site and elsewhere (or don't have time), I am available for direct, remote, short-term assistance. More at carehart.org/consulting/. I love helping solve problems and can generally do it very quickly.

That said, the talk is definitely NOT a sales pitch for my services. Like most of my site, the information in the talk is provided freely to those who like to "do it themselves".

Who's on the CFMeetup this week, Thurs Feb 18

We have two talks this week on the Online ColdFusion Meetup, Thursday Feb 18 at 12pm and 6pm US ET.

"CF911: ColdFusion Tools for When the Stuff Hits the Fan", with Charlie Arehart

Thursday, Feb 18, 12pm US ET (GMT-5)

Meeting description, details, optional RSVP

"FarCry CMS 6.0", with Geoff Bowers

Thursday, Feb 18, 6pm US ET (GMT-5)

Meeting description, details, optional RSVP

Please join us in the meeting room, experts.acrobat.com/cfmeetup, on the day at the time above. Use the "enter as guest" option offering your name (don't try to log in).

Wondering what time this is in your time zone?

All CFMeetup announcements show the time as US Eastern Time (ET), but they also offer a link (in the announcement pages above) to a page that helps you see the time in your own timezone. If you can't access the meetup.com page above (more on that problem below), you can find the time yourself using the available timeanddate.com site yourself.

Can't access the meetup.com site? You can still join the meeting

The CF Meetup announcements are offered via the commercial third-party hosted site, meetup.com. Since that's been marked by some organizations as a "social networking" site, it may be blocked at your workplace. If you can't see the descriptions (and other details) or use the RSVP mechanism, no worries. There are either of two solutions to get around this.

First, you can just show up on the day at the time above at experts.acrobat.com/cfmeetup. Use the "enter as guest" option and offer your name (as even meetup.com members must do), and you're in. No fuss.

Second, if you'd like to be notified of CF Meetup events and/or see the descriptions, there are a few ways you can (or you can tell others how they can) do these. I discuss them in another blog entry.

All meetings are recorded

All CF Meetup meetings are recorded, and the URLs are posted after the meeting at recordings page and also at my UGTV site.

Wish we had meetings at different times?

I've had some recent complaints from people not liking the time of the meetings, which are either noon or 6pm US ET, depending on the availability of speakers. To be clear, I would be happy to hold a meetup at another time. If you're in a distant timezone and are willing to speak, I'll be happy to hold a meeting at an hour outside our norm. Speaking of which...

Call for speakers

We're always open to and indeed looking for more speakers. The topics can be new stuff, old stuff, beginner stuff, or advanced stuff. It can be a repeat of something you've given before, or it can be your first presentation ever. In a group with over 1900 members, there's an audience for every topic, and none is ever too small (plus, still more watch the recordings).

If you may be interested in speaking or know someone who is (or you may want to suggest someone you think I should ask), check out speak.coldfusionmeetup.com, which is a past blog entry where I answer common questions, or have them get in touch with me.

BlogCFC was created by Raymond Camden. This blog is running version 5.005.

Managed Hosting Services provided by
http://www.edgewebhosting.net/
Managed Dedicated Hosting