Mastering The ColdFusion Application Framework

Posted June 1, 2010 at 8:38 AM

Tags: ColdFusion

When most people hear the term, "Framework," they think about products like ColdBox, Model-Glue, Mach-ii, and FW/1. What most people generally don't think about is the robust and powerful framework that comes already packaged with ColdFusion. The Application.cfc component is an event-driven front-controller that affords the programmer extremely granular control over all aspects of the application lifecycle, from the macro events down to per-user-request application and session overrides. Come to this presentation to learn about what a ColdFusion application really is and how you can leverage the ColdFusion application framework to build more elegant software right out of the box.


 
 
 

 
Mastering The ColdFusion Application Framework Presentation Slides.  
 
 
 

While I don't have a video recording of this just yet (hopefully I'll make one this week), feel free to check out the slides or download the code samples. You should be able to just drop the code samples in and run them, no configuration necessary.

NOTE: If you get odd behavior, you might have to delete your domain cookies between some of the code samples - they tend to use the same cookie names.




Reader Comments

Jun 1, 2010 at 9:00 AM // reply »
3 Comments

Really nice. Thanks Ben.
Just a quick note, you have a typo on pages 7,8 and 11 with your pink 'Reqeusts'


Jun 1, 2010 at 9:05 AM // reply »
8,778 Comments

@Alain,

Ah yeah, the magic of copy-paste :) Since they are in graphics, I may or may not get to changing them. I'll see what the week looks like. Thanks for bringing them to my attention though.


Jun 1, 2010 at 9:26 AM // reply »
39 Comments

Great topic. I just find it a bit strange that the "framework" aspect of ColdFusion is the reason why it's not included on the TIOBE index.

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

They consider it more of a framework than a language.


Jun 1, 2010 at 9:29 AM // reply »
8,778 Comments

@Jose,

What??? That's ridiculous! The ColdFusion framework is very much in the same vein as C# Global.asax and what not and they are on the list!


Jun 1, 2010 at 9:52 AM // reply »
6 Comments

Very nice slides Ben. tbh, I find looking at the presentation slides without any voice over it is a little...weird :-P Looking forwards to your video!

You made a good point that many people don't realize CF is already a framework by itself. But there seems to have no clear tutorials of how to set up an application and this leads to various coding styles. Good and Bad. So framework came in to help people follow a particular standard that helps sharing codes between teams/teammates easier.


Jun 1, 2010 at 9:58 AM // reply »
8,778 Comments

@Vinh,

Yeah, there's nothing in the ColdFusion framework that forces you to do anything in a particular way - it's not *that* kind of framework. It has more to do with the page request mechanics and association life-cycle and application events than with any kind of "standard".

I'll hopefully get the video done in the next few days.


Jun 1, 2010 at 10:09 AM // reply »
6 Comments

I find "framework" kind of a buzz word where people tend to use it quite loosely. Some guys who have been coding with CF for 10 years without using any "frameworks" like Coldspring, Fusebox, (or cfTrigger :-P) etc. and slowly develop his own coding styles, then he calls it his framework :-)

If you are working on your own project, I dont think it matters what you use, maybe just the CF out-of-the-box framework, as long as it helps you finish the job. But the use of framework is more important when more people need to work together either now or in the future.

I actually got some "hard" time convincing my work mates using cfTrigger as they claim they have their own "frameworks"! :-(


Jun 1, 2010 at 10:17 AM // reply »
39 Comments

@Ben

I think a good compromise for TIOBE would be to bundle all the CFML engines (ColdFusion, Railo, OpenBD) into one "CFML" label, but I highly doubt that's ever going to happen. I think the only group with the official size of the CF developer community is Adobe. The way I see it, as long as you have work and jobs are out there, who cares what everyone else says? Haters gonna hate!


Jun 1, 2010 at 11:48 AM // reply »
6 Comments

Excellent write up. I've been doing a lot of work with writing API's recently. Both RESTful and SOAP. We should chat sometime about an API framework / best practices for ColdFusion developers.


Jun 2, 2010 at 3:19 PM // reply »
5 Comments

Ben, I really digged your presentation in Amsterdam and it was cool meeting you!

I am applying the session technique in a CFBuilder extension now :) Will get back at you soon.

Cheers,
Deepak


Jun 2, 2010 at 4:57 PM // reply »
37 Comments

@Jose, @Ben: http://apple.slashdot.org/story/10/06/02/1930209/Objective-C-Enters-Top-Ten-In-Language-Popularity (Slashdot article) says that tiobe bases its rankings on search engine results. But I got a 404 Not Found when I tried to go to the URL of the tiobe page that supposedly explained that, so who knows if it's true.


Jun 3, 2010 at 10:24 AM // reply »
42 Comments

"When most people hear the term, "Framework," they think about products like ColdBox, Model-Glue, Mach-ii, and FW/1."

CFWheels gets no love once again :(


Jun 3, 2010 at 10:32 AM // reply »
39 Comments

@Tony

That's too bad considering CFWheels has the best video tutorials I've seen to date.


Jun 3, 2010 at 10:34 AM // reply »
8,778 Comments

@Tony, @Jose,

Awww, nothing meant by it. I know the CFWheels people - great guys.


Jun 3, 2010 at 1:18 PM // reply »
25 Comments

Tiobe I think has it wrong, but java is on the list so not all is lost. Just not sure where Coldfusion in of itself is a really a framework ( I like classic definitions of words and ideas, I'm talking explicit frameworks - get your mind out of the gutter Ben ). Coldfusion is akin to Dbase III (oh that was fun to code in) and lots of 3&4GL languages from the '80 and '90s.

Ok I like the Presentation and surprisingly even without audio very approachable. Nice work.

Did I ramble? Do I care? its my day to be Snarky! :D


Jun 7, 2010 at 10:13 PM // reply »
8,778 Comments

@Kevin,

Thanks my man. I still mean to make a recording of this. I actually have one already, but I don't care for it. After giving the presentation 4 times, I think the next version will be much better. Hopefully by the end of the week.



Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Formatting: <strong>bold</strong> <em>italic<em>







  • Help Wanted - Find Your Next ColdFusion Job
Recent Blog Comments
Sep 3, 2010 at 6:27 PM
Escaping Form Values - Understanding The ColdFusion htmlEditFormat() Life Cycle
I've started moving my students from htmlEditFormat over to xmlFormat. As you said, it catches more characters, but it's also useful for pure XML and is faster to type. I haven't been able to come ... read »
Sep 3, 2010 at 4:37 PM
Scope Behavior When Using CFThread Inside Of ColdFusion Components
@Philip, If I understand you correctly - that you want to process something without having to wait for the processing to finish - then yes, putting that processing inside a CFThread tag will free y ... read »
Sep 3, 2010 at 3:19 PM
Muscle: Confessions Of An Unlikely Bodybuilder By Samuel Wilson Fussell
My dad gave me this book in 1991 after Samuel Fussell was interviewed on a radio show that his friend hosted. As others have commented, I have read this book numerous times over the years. I never ... read »
Sep 3, 2010 at 2:28 PM
Using ColdFusion Query's Underlying Java Methods For Query Manipulation And Logic
I've got a unique issue. I've got a multiple select box that displays output using nested cfoutput groups. By the time I get to the innermost level, the groups work but I can't sort the data that is ... read »
Sep 3, 2010 at 2:20 PM
Experimenting With HTML5's Cache Manifest For Offline Web Applications
@Ben: According to Mark Pilgrim's O'Reilly book HTML5: Up and Running , pp. 141-142, the window.applicationCache fires a sequence of events: "checking", "downloading", multiple "progress" events, po ... read »
Sep 3, 2010 at 7:09 AM
Reflections On My Client-Side MVC View-Rendering Hackathon
A minor enhancement proposal - there's a native hashchange event in the latest versions of several browsers (FF, IE, Safari/Webkit), this way such a page feels even faster. I've blogged about this f ... read »
Sep 3, 2010 at 5:48 AM
Scope Behavior When Using CFThread Inside Of ColdFusion Components
Thanks Ben, Excellent article and very precise explanation. Cheers Philip A question on invoking asynchronous save or some task and returning response back to the calling page. Using cfThread is ... read »
Sep 3, 2010 at 3:04 AM
Long Polling Experiment With jQuery And ColdFusion
@Ben, Thank you for your answer. If you are interested in - I solved the problem. It was, as you said, a buffer issue. Now when I'm getting a new request, the first thing I do is I'm sending some fa ... read »