I submitted my last blog entry to www.learncf.com and it got published last night. There not too many tutorials on there yet, but as more tutorials are posted, I think it could become a great resource for developers. I plan on continuing to submit tutorials as I have time.

There are many, many uses for XML, and if you use ColdFusion to consume web services, or create data integration processes, then chances are, you will need work with XML. As of ColdFusion MX there are several tags and functions that make working with XML a snap. In this tutorial I am going to focus on teaching you how to pull the information you need out of XML documents.


You definitely need your /CFIDE/Scripts directory working properly as of CF8. In previous versions, if you weren't using CFFORM then you really didn't need the /CFIDE/Scripts directory, and many people don't have their virtual directories set up properly and don't even notice. Many shared hosting providers will actually disable the /CFIDE virtual directory as a security precaution (I can't even begin to count how many times I have answered the "Why doesn't my CFForm work?" question on various ColdFusion related forums).

In previous versions of ColdFusion the directory contains 2 files cfform.js and wddx.js. As of ColdFusion 8, the directory contains 1,887 files and 250 folders, and all the AJAX related functionalities require the folder to be accessible.


So I was using the cflayout tag to create a tab navigation system for reporting module. Each tab had a different report based on live data. The problem is that if you are on any tab that is not the default tab and you click refresh or press the F5 key to reload the data, then you get sent back to the default tab.

I needed to find a way to make it so that whenever a user clicked on a tab, their selected tab was saved in the session scope so that if they happen to use their browsers refresh links instead of using the refresh links I provided for them, they didn't loose which tab they were on.


So I was reading through the list of ColdFusion 8 AJAX JavaScript Functions, and I noticed that Adobe actually built in the JavaScript Version of CFDump that I blogged about recently.

If you enable the ajax debugging and browse to your page with "cfdebug" as a url parameter, then you can use the ColdFusion.Log.dump() function to dump the object you are working with into the cfdebug log window. Of course, it still has the same problem with recursion on large objects


Right after work last night, I went to my son's ice hockey practice, and I left my laptop bag on the floor in the back seat of my car. After the practice, I came out and found my window smashed in and my laptop bag missing. Fortunately there really aren't any documents or files on that laptop that I don't have backups of. Aside from the obvious, hassle of replacing the window in my car, and having to all the police report paperwork, and insurance claims.... I really, really, really hate having to set up a new laptop. It will be days before I once again have all my software installed and all my shortcuts, and personalization back to the way I like it.

Right now I am using and old, slow, relic of a laptop until I get a new one. It really sucks.

Not only did they take my good laptop, my blue tooth headset, all my laptop accessories, my really nice leather laptop bag, my asthma and allergy medication, my "Spaceballs" and "Robin Hood: Men in Tights" DVDs, my organizer with all the business cards of my professional contacts, and my copy of the latest internet retailer magazine.... but the bastard took my favorite pen!!!

This is the first time anyone has ever done anything like this to me, and I feel really violated and creeped out. Last night I was in shock, today I am just pissed off as I am realizing that it's not just my stuff that was taken, but it's a lot of time that I am going to have to spend dealing with the aftermath, and the insurance deductible. Not to mention the emotional trauma. My 7 year old son had a hard time going to bed last night, because he was afraid that someone was going to break into our house while he was asleep.

All in all, it sucks being a victim and hope I never have to go through this again.

I am pretty excited about the new CFMenu functionality. It's by far the easiest interface I've used to create a DHTML/JavaScript/CSS menu. Basically there are two tags, <cfmenu> sets up the basic settings for the menu and <cfmenuitem> us used to build the menu items structure.

You can nest as many <cfmenuitem> levels as you want, however, once you get past 5 levels deep, you start to get noticeably slow page loads. Once you get past 10 levels,


I was developing a report application where I put a cfinput type="DateField" at the top of the page with a series of tabs below it using cflayoutarea, and cfdiv tags in each of the tab areas that are bound to the datefield. Each tab contains a different report related to the sales that occurred on the date that is selected at the top. All the div tags are bound to the datefield, so if you select a new date, the sales reports all refresh asynchronously. It's a pretty straight forward implementation of these new features in ColdFusion 8.

The only thing is that in Internet Explorer if open the calendar on a datefield that is right above a cfdiv layer, the calendar goes under the cfdiv and the links don't work on the portion of calendar that is behind the div layer.

Try this link in FireFox and it works fine, but in IE you will see the problem:


I have submitted the bug (#70618) to Adobe, so hopefully that gets a hot fix relatively soon.

Currently the suggested workaround is to either put a bunch of <br> tags in between, to make sure there is enough space for the calendar above the cfdiv, or put your calendar on the side or some other position that is not above the cfdiv layer.

With all the work I have been doing with the new ajax features lately, I am spending a lot more time dealing with JavaScript than I used to. I found this neat script out there that is basically a JavaScript version of ColdFusion's CFDump tag.


I recently found a FireFox Add On called FireBug (https://addons.mozilla.org/en-US/firefox/addon/1843) and it has been super helpful to me and I highly recommend it to any of you out there that work with JavaScript and/or CSS. When you install it you can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.

More Entries