Fusebox is an application framework that is very popular in the ColdFusion community and many of its adherents are very zealous about it. Fusebox provides a small set of 'core' files and a large amount of structure which is very helpful for a lot of developers: it emphasizes and strongly encourages separation of presentation from logic and uses a readily understandable idiom for modeling websites, namely circuits, fuses and switches.
Fusebox has evolved dramatically over the last few years. Fusebox 4 moved the framework to XML definition files, added a plugin architecture, added the notion of 'compiling' the application definition to real code. This results in clearer separation of business logic, presentation logic and controller logic, as well as performance improvements over Fusebox 3. Fusebox 4 introduced an MVC skeleton to encourage developers to adopt that design pattern, although it doesn't enforce or require MVC-style programming. Fusebox 4.1 went further by adding support for ColdFusion Components and allowing several applications to share a single installation of the core files, as well as many other improvements. Fusebox 5 was released in mid-2006, at CFUNITED, and was a complete rewrite of the core files (using CFCs) but remained compatible with Fusebox 4.1, while adding a number of major enhancements. I was the lead developer for Fusebox 5, 5.1 and 5.5 which are available from the Fusebox site!
Fusebox also provides a methodology for software projects, called FLiP. The Fusebox website used to have this whole section on FLiP (I moved the content to my site when it was dropped from the main Fusebox site). It is also covered in the book by Nat Papovich and Jeff Peters which I reviewed in July 2002 (see below).
I have been presenting a frameworks comparison talk covering Fusebox, Mach II and Model-Glue. Check my blog for my speaking schedule.
Fusebox Core Files
The Fusebox 5, 4.1 and 3 core files are available for ColdFusion and PHP. The Fusebox 3 core files are also available for J2EE. All are available from the Fusebox site.
From November 2002 until the end of December 2003, this site was built using Fusebox 3 for PHP and as of May 2005, it is using Fusebox 5.x (Fusebox 5.1 Beta currently). Previously it was running Fusebox 4.1 (after using Mach II for nearly a year). It was previously built with no particular methodology and only a few parameterized URLs. I converted the site to Fusebox because I had been very critical about Fusebox and felt that I owed it to the Fusebox community to try it out in the 'real world'. I wrote up the experience of converting the site to Fusebox 3. Bottom line: I didn't hate Fusebox 3 after all... I think Fusebox 4 is pretty good... I think Fusebox 4.1 is rather impressive... Hence the conversion from Mach II to Fusebox 4.1 (read the article for the real reasons!). I have been a member of Team Fusebox for a couple of years now - a group of Fusebox evangelists dedicated to writing about the framework, encouraging more people to try it and helping the Fusebox community get more out of the framework.
The Mach II framework grew out of an idea that Hal Helms first unveiled at DevCon 2002. That idea was called Fusebox MX but over time it diverged from Fusebox and became Mach II. You can read how Mach II came to be, based on my recollections of that original presentation, sample Fusebox MX code and my involvement with the Mach II team of Hal Helms and Ben Edwards.
I have moved the original article / book review, which I wrote back in July 2002, to its own page as I continue to expand the Fusebox section of this site. I am currently reading "Fusebox 4 & FLiP: Master-Class ColdFusion Applications" by Jeff Peters and I'll be posting a review in due course.