Blog

Luis Majano

October 15, 2008

Spread the word


Share your thoughts

Well, I am finally opening the lid on a project I have been developing since August of last year: ColdBox a ColdFusion Framework. I am just releasing the specs for this framework for now as I complete all the documentation and sample applications. If you want to see how it works, well you are already using it. This site, its blog (Raymond Camden's BlogCFC by the way), and its forums (Raymond Camden's Galleon Forums) are all running via ColdBox.  A subset of ColdBox is powering the Sandals Online Booking Engine and Online Event Engine , which handle more than 500,000 requests per day per server.  So tune in for the next few weeks as I release more information.

ColdBox is a proven event-driven CFC based ColdFusion Framework, specifically designed for high availability web applications. The purpose behind ColdBox was to create a fast & stable development methodology that could be shared among several developers. It makes use of an MVC (Model View Controller) design pattern implemented via CFC's. I introduce the concept of event handler CFC's that hold all the code necessary to prepare views, call model CFC's, use ColdBox plugins, and redirect requests through the ColdBox Controller.   You can consider the event handlers to be all that code that you had on top of your templates, but now moved to an Object Oriented pattern.  You can look at the MVC Design Pattern diagram below:

ColdBox uses both implicit and explicit invocation methods.  You have one single xml file: config.xml, from where you can configure your entire application and plugins.  You can use ColdSpring, Reactor, Remoting, CRUD, Bean/DAO Factories or any other technology and/or pattern that you can think off with ColdBox. However, ColdBox does make you adhere to an application directory structure and some naming conventions.  This is done with the purpose of creating a standard for all developers in the same team to share and for ColdBox to find what it needs. You are only limited by your ingenuity.ColdBox also uses a request collection where all variables can be shared among an execution request. The Request Collection is a central repository of information that is refreshed on every user request.  This is how data gets moved around from event handlers to views and layouts.Another important feature is the use of a plugin library of CFC's that extend the normal usage of ColdBox to application specific tasks but without hindering system performance.  These plugins are reusable components that your applications can use for application-specific tasks and can be loaded on demand via a Plugin Factory. Thus, your plugins are not utilized or loaded into a scope, they are just invoked. Some samples are: i18n, resource bundles, refresh a webservice stub, Bug Reports, java file utilities, etc.  This is a major difference between ColdBox and any other framework, in that it gives you a set of reusable on-demand components for tedious or repeatable application-specific tasks.Below you can see an overview diagram of how ColdBox works, you do not need to install special software on your web server or radically modify your coldfusion installation. You can explore this site to find more information about ColdBox. If you need to contact me please use the Contact button in the navigation bar.

ColdBox Overview:

 

ColdBox Capabilities & Features

  • MVC Design pattern
  • PROVEN & TESTED for high availability and mission critical applications
  • Multi-Layout & View concept (Can be programmed at runtime if needed)
  • One Centralized Variable Collection for data
  • One config.xml for implicit invocation and setup
  • Event Handler CFC's
  • Event Chaining
  • Support for Child Applications
    • Supports as many as you want child applications
    • No extra configurations, just point to the parent's system folder
    • ColdBox auto-senses if it is in a Parent or Child Application
    • ColdBox auto calculates the distance to its parent if parent code is needed
    • Bug Reports
  • Event Handler Execution Profiling
  • UDF Library usage (Optional, for legacy)
  • Small footprint controller
  • Optimized for high traffic sites
  • Incorporated ColdBox Dashboard (Optional)
    • Online System Update
    • Online API
    • Main Application Config.xml Editor
    • Online Backups
  • Framework extensions through Plugins
    • Logger (Bug Tracking, Tracers)
    • Renderer (Render Logs, Views, Layouts,etc)
    • FileUtilities (Java Utilities, File Utilities)
    • Webservices (instantiation, refresh, etc)
    • ClientStorage (Permanent variable storage for clustered environment uses WDDX)
    • Messagebox (Universal Error/Warning/Information message box)
    • Settings (ColdBox metadata and dashboard utility)
    • Zip (A great zip utility plugin by Arthur Kordowski)
    • cfcViewer (A cfc metadata retriever by Oscar Arevalo )

 

Hope this can give you a better insight into what ColdBox is and what it can do.  I will start posting more information as I progress. 

 

 

Add Your Comment

(9)

Jun 16, 2006 12:02:46 UTC

by Brian Rinaldi

Looks impressive. Do you have a place to download the code yet?

Jun 16, 2006 12:58:51 UTC

by Luis Majano

Not yet Brian, I want to finish all the documentation and sample applications so I can release the whole bundle. I still have not updated the entire dashboard. I am considering releasing it without the dashboard for now.

Jun 16, 2006 22:34:26 UTC

by Dave Ross

I think it would help if you described the differences between the two existing front-controller web frameworks out there (Mach-II & Model-Glue) and this. Without looking at it (because we can't), it's tough to see any advantages.

Jun 17, 2006 09:22:56 UTC

by Brian Rinaldi

Dave - I agree that if Luis did a comparison it may be useful to understand the differences, however, there seems to be some implication in your comment that somehow if he doesn't meet some unwritten standard it isn't worth releasing. Given the relatively small size of open source in CF at the moment, I hope that wasn't what you intended to mean. - Brian

Jun 17, 2006 10:19:49 UTC

by Dave Ross

I'm not sure where you read that in my comment. There are plenty of frameworks out there that i would never use because they don't meet my standards - it's not my job to go around and tell them "go home".

Jun 17, 2006 10:22:15 UTC

by Dave Ross

This comment system is awful - I've tried 20 times to get my comment to go trhough - I had a lot more written but it would only take a paragraph as small as above. Error messages would help.

Jun 18, 2006 10:37:00 UTC

by Luis Majano

Dave, I agree with releasing some comparisons, which I will start to create. However, I am more concerned with finishing up the documentation and more sample applications than comparisons. I don't want to compete with anybody, I just want to add my grain of salt to the community. I believe Mach II and Model -Glue are incredible frameworks that can accelerate and innovate developer teams. I am a big fan of Model Glue!! Anyways, I will try to squeeze in a comparison sheet, thanks Dave. Brian, this is the framework I told you about last year. I just had to redo names and references.

Jun 18, 2006 19:24:55 UTC

by Scott Barnes

What problems is it solving compared to other frameworks? Is probably more the interest. I'm all for multiple flavours of how to do things, but i often sometimes question the reasoning behind some frameworks? ie do they exist because of a personalized touch over a similiar concept or is there a specific problem being solved by its existance?

May 08, 2008 21:45:21 UTC

by sdge

http://www.sosit.com.cn http://www.aihuifu.com http://www.fixhdd.cn http://www.fix88.com http://www.witji.com http://www.sosell.com.cn http://www.fireworksbiz.cn http://www.ailiuxue.com/ http://www.sosname.com.cn http://www.ucooe.cn http://www.2500rd.cn http://www.7seh.com

Recent Entries

The Into the Box 2025 Agenda is LIVE and Done!

The Into the Box 2025 Agenda is LIVE and Done!

The wait is over! The official Into the Box 2025 agenda is now live — and it's packed with high-impact sessions designed for modern CFML and BoxLang developers. Whether you’re building APIs, modernizing legacy apps, diving into serverless, or exploring AI integrations, this is the conference you’ve been waiting for.

Here’s a look at what you can expect — categorized by key topics to help you plan your learning journey, there’s something for everyone covering modern CFML tools and BoxLang:

Maria Jose Herrera
Maria Jose Herrera
April 15, 2025
Only 2 Days Left to Lock In Early Bird Pricing for Into the Box 2025!

Only 2 Days Left to Lock In Early Bird Pricing for Into the Box 2025!

The countdown is on. You have just two days left to secure your Early Bird ticket  for just $199 to Into the Box 2025 before prices increase on April 16.

We are proud to offer an engaging and high-value online experience for developers around the world. With a virtual ticket, you get more than just access — you get ongoing value that supports your growth long after the conference ends.

Maria Jose Herrera
Maria Jose Herrera
April 14, 2025
BoxLang is Going Stable — Join Us for the Big Reveal at Into the Box 2025!

BoxLang is Going Stable — Join Us for the Big Reveal at Into the Box 2025!

BoxLang is the modern, flexible JVM language you've been waiting for. We know what it’s like to need better tools, more freedom, and the ability to scale without limits — because we’ve been there too. That’s why we’re building BoxLang with you and for you. Your feedback, ideas, and needs shape its future.

We’re committed to fair pricing, real support, and a growing ecosystem designed to help us all modernize, innovate, and thrive — together.

Maria Jose Herrera
Maria Jose Herrera
April 14, 2025