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 and I've just finished Fusebox 5.1 which is now available as a public beta 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.
I developed a Fusebox 4.1 front end for Ray Camden's Blog CFC application - it powers my blog and you can download the code. The rest of my site is also a custom Fusebox application. I'm building a few new sites using Fusebox and will write up more about those in due course.
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.
Read more about...
- Fusebox, Team Fusebox and core Fusebox resources
- Fusebox - main website
- Fusebox 4 downloads, FAQ & Fusebox 4.1 Beta
- Barney Boisvert - Fusebox blog category.
- Hal Helms - (occasional) blog; newsletters; writings.
- Jeff Peters - Grok Fusebox - tools and resources; blog.
- John Beynon - Fusebox blog category; Learn Fusebox blog category.
- Sandy Clark - Fusebox blog category.
- Sean Corfield - Fusebox blog category.
- Steve Nelson - FLiP blog category; Fusebox blog category.
- Articles on various websites:
- Introduction to the Fusebox Framework by Kay Smoljak on macromedia.com.
- Tap the power of the popular Fusebox 4 by Brian Kotek on builder.com.
- Fusebox or Mach II by Hal Helms on sys-con.com (August 2004).
- Comparing Fusebox 4.1 and Mach II by Brian Kotek on techrepublic.com (January 2005).
- Resources on this website:
- Converting from ad hoc PHP to Fusebox 3 for PHP.
- Converting from Mach II to Fusebox 4.1.
- Writing a Fusebox 4.1 wrapper for Blog CFC; download the code.
- Nascent "What's New In Fusebox 5?" documentation.