Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at cf.Objective() 2013 (Bloomington, MN) with:

Mastering The ColdFusion Application Framework

By Ben Nadel on
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. 
 
 
 

Watch the video presentation, 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

@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.

Reply to this Comment

@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!

Reply to this Comment

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.

Reply to this Comment

@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.

Reply to this Comment

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"! :-(

Reply to this Comment

@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!

Reply to this Comment

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.

Reply to this Comment

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

Reply to this Comment

"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 :(

Reply to this Comment

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

Reply to this Comment

@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.

Reply to this Comment

@All,

Hey guys - I finally recorded a video of this presentation and posted a video to it - there should be a link in the blog post itself.

Nothing like a "few" months to get it done :)

Reply to this Comment

Great presentation, Ben! I love it! Great timing, too. My company is about to start standardizing our codebase with a framework and this helped out greatly!

Thanks!

Reply to this Comment

I have a serious problem with one of your tips, Ben. I have built quite a big project in several months on my development pc. I used the tip in demo 11 where you encrypt the url parameters. It works fine on my development pc, which is running Apache. But the production server runs IIS and it seems that IIS can't handle long unfriendly urls. If about more than 2 urls parameters are encrypted the string gets too long and IIS generates a HTTP 400 Bad Request error. Do you have any tips for me to solve this issue (replacing IIS by Apache is not an issue).

Thanks in advance.

Frank

Reply to this Comment

@Frank,

Hmm, that's a tough problem. I do know that some servers have problems with the amount of data that gets passed in the URL; I have never personally run into this problem myself, however. I'm afraid I don't have any good advice for you this matter :( Perhaps try the StackOverflow site?

Reply to this Comment

Hi Ben,

Thanks for the quick respons. What drives me to nerves is that actually the urls aren't that long (less than 300 chars). The edge is at about 280 chars or so. If you don't know a good solution than I have to find another way to solve this.

Thanks again.

Frank

Reply to this Comment

@Frank,

Yeah, that doesn't seem all that long. Perhaps they will remove this constraint one day. Sorry I couldn't be more help.

Reply to this Comment

IIRC IE truncates at less than 300 chars (might be 255). Some things to look at:

1. Can you obfuscate in a different way that results in shorter URLs?
2. Should the data be posted?
3. What can you store in session variables to be passed to the next page instead of passing on the URL?
4. Does the data really need obfuscated?

Reply to this Comment

I have done a better look into my code and I noticed that the maximum number of url parameters to encrypt was 3 sometimes 2. I have done several improvements to reduce the number of parameters and it works now. The downside is a few more query calls in the controller to obtain the other needed parameters.

But it works now and that's most important.

Reply to this Comment

Great presentation, Ben! I really like it! but i want to download it,this helped out greatly!could you provide the link for downloading!!!!!!!

Thanks!

Reply to this Comment

Post A Comment

You — Get Out Of My Dreams, Get Into My Comments
Live in the Now
Oops!
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.