Introducing ColdBox. An open source Coldfusion Framework

Posted by Luis Majano
Jun 16, 2006 00:00:00 UTC
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.

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 availabilty 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 neededBug 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 messagebox)
    • 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.



I upgraded to Ubuntu Dapper 6.06

Posted by Luis Majano
Jun 09, 2006 00:00:00 UTC

I finally got some time to upgrade my ubuntu 5.10 installation to the latest release, Dapper 6.06.   It was as some as a baby's buttocks!! Just updated my sources in /etc/apt/source.list to point to dapper, run my synaptic manager to mark my upgrades, apply and that is it.  Wow!! What a great way to upgrade an entire operating system.  The system now boots up much more faster than it did, the screens look sharper, and overall the system responds more snappier. I still have to check that everything is running as it should, but from what I can see it was a seemless upgarde.

If some of you have still not messed around with this Linux Distro, you have to check it out. In my opinion, it is one of the best I have used in over 10 years.  Easy to install, maintain, operate. And now the released the server version which includes a pre-configured LAMP (Linux, Apache, MySQL, PHP) Server.

In about 15 minutes, the time it takes to install Ubuntu Server Edition, you can have a LAMP server up and ready to go. This feature, exclusive to Ubuntu Server Edition, is available at the time of installation. The LAMP option saves the trouble of installing and integrating each of the four separate LAMP components, a process which can take hours and requires someone who is skilled in the installation and configuration of the individual applications. You get increased security, reduced time to install, and reduced risk of misconfiguration, all of which results in a lower cost of ownership.


They also offer a Live CD option, where if you just want to test it out you can.  I highly recommend this distro and you can download the binaries from here:

World Cup 2006!!

Posted by Luis Majano
Jun 09, 2006 00:00:00 UTC

Finally, after four years of waiting we get the World Cup.  I am excited just like a little kid. I bought my stickers album like I have since Spain 1982 and have it almost filled out.  I am wearing my Argentina Jersey today in preparation for tomorrows game against Ivory Coast.  For all you "Futbol" fans, hope you are ready for an exciting month!!


Viva Argentina Boludo!! 


Germany 4 : Costa Rica 2

Posted by Luis Majano
Jun 09, 2006 00:00:00 UTC
What an exciting first world cup game.  The tension was high and the game was amazing. Germany played incredibly!! I am afraid of them now!! Costa Rica played awesome too, but their defense was shabby.  What an exciting world cup, I hope all the games are this intense. Gotta go, game 2 is on now.

'Mind over matter' no longer science fiction

Posted by Luis Majano
Jun 09, 2006 00:00:00 UTC

I just read this incredible article on digg. please check it out. It will blow your mind!!

Controlling your source code with your mind. hmmm that might be possible in the near future.

Mind Freak 

Do you use CVS or Subversion?What do you Think?

Posted by Luis Majano
Jun 08, 2006 00:00:00 UTC
I have only been exposed to using CVS for version control and find it pretty straightforward and useful. The server was easy to setup on Linux and the maintenance of it has been pretty good.  However, I have been told and reading that Subversion is CVS on steroids and just wanted to get a public opinion before I start messing around with it.  Has anyone used both and can comment on the pros and cons of each?

Is it easy to setup on Linux? Does it mesh well with Eclipse, any Mac GUI? 

The usual questions!! Thanks and have a great day today.

Viewing the Error Log in Eclipse

Posted by Luis Majano
Jun 07, 2006 00:00:00 UTC

This is a simple entry, mainly directed so I never forget, but it might be useful to eclipse newbies. If you need to see the eclipse IDE error log all you need to do is the following:

1) Click on the Plugin-in Development Perspective

2) Click on the Error Window tab


 You can also reach it by going to Window >> Show View >> PDE Runtime >> Error Log

Hope this helps 

RDS Eclipse Plugin Errors When opening files??

Posted by Luis Majano
Jun 07, 2006 00:00:00 UTC

Has anybody experienced errors when trying to open a file through the RDS plugin?? I have, and don't know why. Here is a screenshot of the error with the Error Log open so you can see the errors. Please let me know if this is my error or a bug.

I am back from vacation!! Thailand & Hong Kong

Posted by Luis Majano
Jun 06, 2006 00:00:00 UTC

Well, I am back from my vacation to Amazing Thailand!! Wow what a wonderful country, we spent about 12 days in Asia with my wife. You can look at the amazing pictures here:

Photo Gallery

The trip was amazing, we started in Hong Kong for two days then to hectic Bangkok. What a busy city, reminds me of mexico city.  We then headed to Krabi in the south of thailand to a beautiful resort called Tubkaak. What a resort!! In the middle of the jungle with a beach. The pictures tell the story.  We then headed to Koh Phi Phi island, where they filmed the Beach. Amazing beaches!!We did not have the greatest weather there, almost threw up on the boats, but overall a great experience.

We then headed to Koh Samui another island chain. WOW!! This island has it all. You can go elephant riding, snorkeling, jungle exploration, etc.  And the restaurants are amazing.  We then concluded our trip in Bangkok for 5 more days.  Thailand is indeed a beautiful country, the people are extremely nice and best of all it is really cheap!! Really really cheap.

 Well enjoy the pictures.

How to create an Eclipse Plugin Extension Location

Posted by Luis Majano
May 10, 2006 00:00:00 UTC

For any eclipse newbie, you will find out that all the plugins you download or update will be placed by you or the update manager in the eclipse install folder under the plugins directory. However, when updating comes around or removing or any kind of update, it is a hassle to manage it.  That is why you can create multiple plugin extension directories in order to facillitate plugin management.  I have attached a simple zip file with the correct format of an extension directory.

It basically contains the following structure:

+MyPlugins (Dir)
|--+eclipse (Dir)
    |--features (Dir)
    |--plugins (Dir)

The .eclipseextension is a text file that contains the following:

name=Eclipse Platform

You now have a succesfull extension directory.  You now can go to eclipse to add it.

1) Open Eclipse

2) Click on Help ==> Manage Configuration

3) Click on Add An Extension Location:

4)  Choose your directory


5) Restart your workbench

6) You are set and dandy!! Ready to roll!!


Hope this works for you. I have also a testing eclipse extension folder, so I can drop and test new plugins without affecting my workbench.

Site Updates


Entries Search