Why Did I Decide To Use ColdBox? Hmmmm...

In my previous post on porting one of my Fusebox applications over to ColdBox, one of my readers asked the question in the comments:

"Hey Russ,

Curious as to why you are porting from Fusebox to Coldbox? What about Coldbox do you like more than Fusebox if anything?"

I actually started replying to his question in the comments and then I realized I had about 3 paragraphs in my reply already and this might get buried in the comments. So I decided to make it a post to explain my reasons for choosing to use ColdBox over Fusebox for this application and most all of my new applications.

[More]


Porting Fusebox 5 Apps to Coldbox : Views

In my previous post of this series I showed you how I ported my Fusebox 5 controllers over to Coldbox event handlers. It was quite an easy task and didn't take much time at all. In this post I want to show you a few changes that I made to my views when porting this particular application. Now I will mostly be focusing on CRUD type views from the admin system since this is where most of the work was involved.

Before we talk about views though, let me take a few minutes and talk about some of the things that I do in my Fusebox apps that have made porting to Coldbox VERY easy.

First, I always use MVC patterns. That is, I separate my business logic from my views and I use controllers to handle tying them together. This has always been a strong point in Fusebox and one of the things that has kept me using it for so long. By doing this, its much easier to port components of your application to other frameworks. If you have queries intermingled in your views its going to be much harder and more time consuming to port.

[More]


Porting Fusebox 5 Apps to Coldbox : Controllers

I started poking around Coldbox a couple months ago but only had enough time to see how it operates from a 10,000 foot view. So I decided that I wanted to take another crack at it and really see what it was all about. I figured the best way to do that was to port one of my existing Fusebox 5 apps over to Coldbox so I could get a good comparison. After creating a new application via the Coldbox dashboard and importing it into CFEclipse, I was on my way to porting bliss.

In my opinion, the two frameworks aren't really all that different. Of course I develop all of my Fusebox applications using MVC so that helps quite a bit. One of the biggest differences that I noticed right away is that Fusebox 5 uses XML based controllers where Coldbox uses CFC based controllers. I have to admit after writing literally thousands of XML fuseaction's over the last couple years, I am finding myself smiling every time I write a new method in one of my event handlers for Coldbox. This has been the one single feature of Fusebox that has bugged the crap out of me since it was introduced. And to be fair, I know that Sean Corfield and Team Fusebox are working hard on the new Fusebox 5.5 release which will allow you to use CFC based controllers.

Going into a full feature comparison is beyond the scope of this post so lets look at a couple examples of what I did when porting my application over to Coldbox.

[More]


I Won The Fusebox Video Contest! Yay!

My internet connection was finally restored late yesterday after our move and I was greeted by a message from Adam of Team Fusebox telling me that I won the Fusebox Video Contest.

I guess since I was the only submitter, judging was pretty easy;)

Adam told me I won a copy of the Fusebox book (not sure which one), and a ticket to one of the Teratech Events of my choice! Nice!!

Not sure which event is going to be the best for me to attend but I hope to make a decision soon.

Thanks to the Fusebox team!


UPDATE: Fusebox 5 Templates for Illudium-PU36

My first release of the Fusebox 5 Illudium-PU36 templates has some issues. Actually, somehow I managed to upload the wrong zip file!

I have updated the templates a bit more today to work out-of-the-box with the Fusebox 5.1 skeleton application and uploaded a new zip file which you can download from the software pod on the right or here: Fusebox5 Illudium Templates.

Sorry about the mix-up. Stay tuned for a screencast on how easy it is to generate these CRUD operations.


Screencast: Generating Fusebox5 CRUD Files With Illudium-PU36

After releasing my templates, I decided I would throw together a quick screencast on how easy it is to generate CRUD operations using the templates and the Fusebox 5.1 skeleton application.

Be kind, its my first screencast ever. BTW, IShowU for Mac ROCKS! and at $20, it simply cannot be beat!

Watch it on YouTube or you can view the uncompressed original recording using Quicktime here (16MB).


Fusebox 5 Templates for Illudium PU-36 Code Generator

I've been using Brian Rinaldi's Illudium code generator for a while now and I would be lying if I said it hasnt saved me TONS of time in writing alot of repetitive code.

Since almost all of my projects are in Fusebox, I decided to write myself some Fusebox 5 XSL templates for the generator when I started working on Trac_Fu to handle most of the CRUD stuff for me. These templates generate the following files for a database table:

  • Controller Circuit.xml.cfm
  • View Circuit.xml.cfm
  • List Page
  • Form Page (handles creation and editing)
  • Bean cfc
  • Service cfc
  • DAO cfc
  • Gateway cfc
  • Coldspring config

Keep in mind that just as Brian states, Illudium is not designed to generate a complete application and these templates follow that same direction. However, you should be able to generate the files and have a working set of CRUD files when added to a Fusebox 5 application.

If you have any suggestions for the templates or ideas on how to improve them, or run into any problems please let me know as Im always up for improving them!

Download them from the Software Pod on the right or grab them here: Fusebox5 Illudium Templates

UPDATE: This link has been updated, the first release files has some major issues.


Frustrations with Fusebox After All These Years...

I've been using Fusebox for well over 6 years now. Its the only framework I have have ever used when developing applications for clients or myself. Its served its purpose well and has always seemed to fit my needs. However, lately I have been running into some things that are frustrating me about it. Mostly when it comes to working with other frameworks for CFC's and throwing in an ORM here and there.

I have been working on an application over the last month or two that I wrote in FB5 and ColdSpring. At first it was fine. Mostly due to the custom lexicons written by Nathan Strutz to instantiate ColdSpring and get beans from the factory right in the XML control file. Then after seeing Mark Mandels Breezo on the Transfer ORM, I decided I wanted to give it a whirl and throw it into the mix. Now this is where things started to get interesting (read aggravating).

[More]


Sniffing the Model-Glue....

I've been coding ColdFusion applications for about 8 years now and I consider myself to be a pretty good developer. I have used Fusebox for every app I have built going all the way back to 1999. I follow pretty sound coding practices and read all the blogs and try to keep up with whats going on in the CF Community. But for some reason, I am just not getting a handle on this Model-Glue thing!

I have spent almost all day today setting up Model-Glue:Unity and trying to get a simple app up and running using a few CFC's and some views. I read the Model-Glue Quickstart in the documentation and managed to get the basic application template up and running but thats about the extent of it. I feel like someone has Model-Glued my head to the table and then flipped it upside down on me.

I know there is something that I am just missing or not grasping that is preventing me from moving forward with it but I cannot put my finger on it. No matter how many times I go through the code, or read a tutorial or refer to the documentation.

Maybe I have just been doing Fusebox for too long and have no experience with any other frameworks. Maybe my brain just thinks in fuses and circuits and then short-circuits when I try to alter the way that I think about an application.

Im not going to give up but, WOW, I certainly need a break so Im going back to doing some Fusebox development for the evening. Ahhh, the comforting feeling of something familiar!


Trac_Fu

After using Trac for sometime now in our production environment, I have come across quite a few things that I like about it and several things that I dislike about it. This being the case, I decided that I would take it upon myself to write my own issue tracker. I am not very good with Python so I could probably rewrite a system in ColdFusion twice as fast as I could modify Trac to do what I want. So the Trac_Fu project has been born. Trac as in "Trac" obviously and Fu as in "coldFUsion". So Im not the most creative namer in the world!

Sticking true to my roots, I am developing it in Fusebox. Im currently using the newly released Fusebox 5 and as of today, Im using Reactor for the back-end model. Progress is pretty good. The stylesheets are mostly done. I have several of the list pages done, most of the database is ready. Speaking of the database, its basically modeled after the Trac database so that I can entertain the idea of porting existing items from Trac to Trac_Fu.

Im using the JavaSVN libraries to hook into subversion as well. Im only going to concentrate on getting the changesets pulled into Trac_fu for the first release. Then the source browser features will follow.

I hope to have some screenshots for you by the first of the week.


CFEclipse Tweaks: Fusebox Specific

Im a recent CFEclipse convert. I have tried to make myself use it many times before but after a few days I didnt feel like I was being very productive so I would always go back to either Homesite+ or DreamWeaverMX and never look back. Over the last 2 weeks I installed CFEclipse and removed DreamweaverMX and Homesite from my box completely in an attempt to "make" myself get used to coding in it.

At first it was a little rough as usual, but once I started playing with all of the settings and tweaking things the way I want it, I really found myself enoying using it. I have found a few plugins that make it easier to do some development and discovered a few tweaks that really helped me to get over the "hump".

I will be doing a few entries of some of the things that I have found to make my life a little easier with Eclipse.

Today after talking with a few guys on the Fusebox 5 mailing list and playing with the code coloring options, I finally found a way to get my fusebox.xml.cfm and circuit.xml.cfm files to use syntax highlighting. By default Eclipse just uses the CFEclipse editor for them since there is a file type of *.cfm in the file associations preferences. So I thought that I could just add a new file association called *.xml.cfm and point it to my xmlbuddy plugin editor. Well that didnt work. So after maybe 30 minutes of digging through settings, I realized that you could put a whole filename into the file associations and assign an editor to it. So I added both of those file names and assigned xmlbuddy as the editor. Now my xml configs in fusebox are all syntax highlighted!

Stay tuned for more.