Skip to main content


Showing posts from 2005

Still Loving ColdSpring

As I've been working on MachBlog (which should be done in the next few weeks sometime), I'm extremely glad I decided to use this as my opportunity to learn ColdSpring. Now that most of my objects are built and I'm actually putting things into action, I ran into several cases this morning where I found myself needing objects within other objects, and these objects weren't already in there.Before ColdSpring this might have been a bit of an "oh crap" moment, and I would have had to traverse back through the object dependencies and figure out what all I needed to get Object B into Object A successfully. As you might imagine this can get a bit nasty when Object B also has its own dependencies, and maybe those dependent objects have their own dependecies ... you get the picture. With ColdSpring all I had to do was add a property or argument (depending on how it's being used) to the CFC in which I need this other object, add about three lines to th…

ColdFusion: #19 With a Bullet

As most of you already saw posted elsewhere, ColdFusion recently took a bit of a jump up to #19 on TIOBE's index of most popular programming languages. I hadn't looked at this index in a while but it's interesting to see what CF is both above and below, and it's also nice to see the nine green up arrows next to it on the chart.What's more interesting to me is what this really means. Yes, many have criticized the TIOBE methodology (usually when it doesn't work in their favor), so let's not focus on the specifics. Instead, let's take a look at the bigger picture, where things are going, what I think are some important convergences happening now and likely to happen in the future, and how CF fits into all of this.First, if you haven't seen them already you need to check out Sean Corfield's blog and the entry by Hal Helms to which Sean refers. Read these first and let them sink in ...Now that you're back, let's put this into perspe…

ColdSpring: Better Model Management

I've been working for a couple of days on MachBlog, which I hope will become a great real-world sample app for Mach-II and maybe even something people will actually use. ;-) I'm also using this as my opportunity to dive in and learn ColdSpring, which if you haven't looked into it yet is an Inversion of Control/Dependency Injection framework for ColdFusion that plays very nicely with Mach-II.Even in something as relatively simple as a Blog app when it's built with a domain model things can get semi-messy rather quickly. Just as a very simple example, numerous objects in the app of course use a datasource, and I'm encapsulating the datasource information in a simple datasource bean. The datasource bean in turn contains information such as the ColdFusion datasource name, the database type (SQL Server, MySQL, etc.), and the database user name and password in the event the app is used in an environment that requires this information.Even if the datasource bean …

BoardFusion on SourceForge

The BoardFusion project is now live on You'll notice you don't see anything on that page yet. That's a hint of sorts I suppose. I realize we're getting into the holiday season here in the U.S., but I want to start at least getting solid volunteers and putting the right people in place to make this project successful.First and foremost we need a great designer or two. We'll be hosting the development on SourceForge (for now at least), but the project will have its own web site as well, and we'll want that to look top-notch and of course we'll need a great logo. Also, since we're starting this from scratch as opposed to copying another application, I want to do this in a FLiP-like manner, meaning HTML prototyping will happen very early in the process. I know opinions on this differ a bit, but I can unequivocally say that from my own experience the projects I've worked on that have gone the most smoothly have all had the f…

BoardFusion It Is!

After I got quite a decent response both here as well as via e-mail to my question about resurrecting cfopenbb, I've decided to take things in a slightly different direction and give the project a new name: BoardFusion. I've submitted it as a project on SourceForge which is pending approval, so once that's up and running I'll get everyone more info.I think this is going to be a great project and given some of the folks that have expressed interest, we're going to have some very talented CFers involved.

I was on the CFopenBB project, too.
Count me in! Contact me via email if you need any help setting up guidelines or anything.
Posted by Michael van Leest @ 4/17/07 3:04 PM

Please tell me you're planning to write BoardFusion from scratch rather than attempt a line-by-line port of the original?
Posted by Sean Corfield @ 4/17/07 3:04 PM

Absolutely Sean--trying to port phpbb line by line is one of the big things I thought was wrong with the original concept.…

Should We Resurrect cfopenBB?

As many of you are probably aware, the cfopenbb project never really got off the ground. A few weeks ago it was officially abandoned. While I think it was a great idea, in my opinion the execution plan was flawed from the beginning because it was an attempt to do a file-by-file port of phpbb. As you can imagine this caused numerous issues and combined with the lack of clear decisions about how to handle the PHP -> CF mismatches, it's probably no surprise this didn't take off. I'm not saying any of this to criticize so much as to point out why in my estimation things never took off.As I said above, however, I think it was a great idea, and while I didn't have the time to take up the former leader of the project on the offer to take things over before it got abandoned, I think at some point it would be great to readdress the project, albeit in a different way. When I see how many deployments there are of phpbb and some of the really, really nice free .NET…

Mach-II 1.1.0 Available

The wait is finally over--you can now download Mach-II 1.1.0! This is a very solid release with some really nice improvements. We'll be releasing additional documentation and sample apps in the coming weeks as well as updating to point to some great resources for Mach-II.Thanks to everyone involved with this release for their hard work, late nights, and dedication. Look for a ramp-up in ancillary materials now that we have the code out the door. Enjoy!
Matt, thanks for all your hard work in coordinating the development and release of Mach-II 1.1.0. I think the new release's added features and continued dedication to quality, maintainable applications is going to make a lot of Mach-II'ers happy. Well done.Ben Edwards
Posted by Ben Edwards @ 4/17/07 3:04 PM

Thanks Ben--I was very happy and honored to be a part of the release!
Posted by Matt Woodward @ 4/17/07 3:04 PM

Matt thanks for your hard work on this release. The rest of the team including Peter …

Asynchronous ColdFusion Presentations

Last night was "asynchronous night" at the Dallas/Fort Worth CFUG. Here are my two presentations and related code from the meeting last night. The first presentation covered the asynchronous CFML event gateway in CF 7 Enterprise, the second dealt with CFAjax and AJAX issues in general. In addition to the very simple example for AJAX I'm including here we went through a few of the examples that are provided with CFAjax. Enjoy!
Nice! Thanks Matt!
Posted by Sami Hoda @ 4/17/07 3:04 PM

Man, very disappointed I had to miss it - The Wife had other plans for us... :(Thanks for posting the preso though!
Posted by Jake @ 4/17/07 3:04 PM

I finished writing today an alternative to cfajax; I called it ajaxCFC.
It's an improved version (still lack documentation). Please check it out at
Posted by Rob Gonda @ 4/17/07 3:04 PM

My Fusebox 2005 Presentation + Sample App

Rather than take the time to write up documentation on the sample app that accompanied my Head First Mach-II presentation, I thought I'd just make these materials available and deal with any aftermath in due course ;-) So here's the goods! Enjoy!

Blog First Mach-II Sample App (Zip, 13K)

Download this file

good presenttaion. you are good presenter and information is complete and useful.
Posted by Marishi Matawan @ 4/17/07 3:04 PM

Linux Torvalds on programming""The power and flexibility of a programming language is inversely proportional to the number of development frameworks that surround it. Note that in traditional [C/C++] programming, there are almost no extant frameworks, while many of the newer, more stylish languages spawn frameworks in a never-ending stream, hoping to someday overcome the inherent weakness and impotence of the language itself." (From the Helsinki LUG, 08/2004)'nuff said.
Posted by Irving Golds…

Fusebox and Frameworks 2005 Wrap-Up

The Fusebox and Frameworks 2005 Conference was this past week and as always, Michael and all the folks at TeraTech put on a first class event. It was fantastic to get the opportunity to talk to attendees about Mach-II and the exciting stuff we put in the 1.1.0 release (available very soon!) as well as what we have planned for future releases. There's a ton of very exciting stuff going on with CF frameworks in general so here's my roundup of what I found most interesting at the conference.

Mach-II:I gave my Head First Mach-II presentation twice (PowerPoint and sample app code available soon), led a Mach-II Birds of a Feather session, and Ben Edwards gave a Mach-II Under the Hood presentation, so Mach-II had a strong presence at the conference. I got comments from lots of attendees after my presentation that they were now no longer "afraid" of Mach-II, and current Mach-II users were very excited to see all the activity going on in the Mach-II community thes…

Mach-II 1.1.0 Code Freeze

I'm happy to announce that Mach-II 1.1.0 went into code freeze yesterday! We're still hard at work on sample applications and new-and-improved documentation, but getting the framework code itself to this state is a huge step towards the actual release. It won't be long now!
Awesome! What sort of sample applications will there be? has that been decided yet?
Posted by Ryan Guill @ 4/17/07 3:04 PM

Hi Ryan--we'll probably start out with updated versions of the existing Mach-II sample apps, meaning a Contact Manager, Shopping Cart, and Roulette application. We have several others in the works that I'll be able to announce before long, but we want to get things more nailed down before we share some additional information.
Posted by Matt Woodward @ 4/17/07 3:04 PM

What sort of sample apps would people like to see?
Posted by Hal Helms @ 4/17/07 3:04 PM

When??? Is there a date for the release?? We are very anxious about the new release.Would there be a sample appli…

... Now I Am the Master

Somehow a Darth Vader quote seemed appropriate at this juncture. Another one that came to mind was one we used to say in the music biz: "It's all over but the hangover."I just turned in my last assignments for the final class in my Master of Science in Computer Information Systems (MSCIS) degree through the University of Phoenix. It was a lot of work on and off over the last three years getting it done so it's a real sense of relief to have it done.I'm sure my "free time" will now be filled with lots of other stuff, but at least this is checked off the list!
Congrat's MattBTW was the title of your Master?
Posted by Igor Costa @ 4/17/07 3:04 PM

Good Job Matt.I've actually been looking at that program for the last few months. I would really like to go back and do my master's and it seems like the best way to do it without taking time off work. Any suggestions or things to look out for? You can email me or post comment would be gre…

Mach-II Update

Quick update on Mach-II--work on the 1.1.0 release is going very nicely and we think you'll be very pleased with what we have planned. If you want to stay up on the discussions be sure and check out the Mach-II discussion list on Topica (this list was down for a couple of days but seems to be back up now).One of the big goals for this release is to improve the documentation situation and make it a bit easier for folks new to Mach-II to get into the framework, so if you have specific ideas about documentation, sample apps, etc. you'd like to see, please let me know. We have some things in the works but we'd like to be as responsive as possible to what you'd like to see!

cfopenBB: Sign Up to Help Now!

I just read on Ben Forta's blog that there is an open-source initiative called cfopenBB that aims to recreate phpBB functionality in CFML. In my opinion this is FANTASTIC news. I started doing this myself in my spare time (partially as a way of learning Model-Glue) but having this turn into a community effort is great stuff. My spare time is getting sparer and sparer these days so who knows when I'd actually finish my effort.They're looking for help, so if you want to be part of making the CF community stronger by helping out with a very cool open source project, head on over to and sign up!

Mach-II: Calling for Thoughts and Ideas

Now that CFUnited is over and everyone's mostly recovered (at least I hope you have!), we're starting to ramp up work on the next release of Mach-II. If you have thoughts, ideas, rants, raves, features, bugs, gripes, or any general thoughts about where you'd like to see Mach-II go in the 1.1.0 release (or even future releases), please share them on the Mach-II discussion list at Topica. We'd like to see the traffic on that list start to increase again so we can get as many thoughts as possible and start building a list of things to work on for this release and releases further down the road. This can be everything from specific feature requests to general impressions about Mach-II. Let's get everything on the table at this point.Mach-II is very alive, so tell us where you'd like to see it go. We're all ears!
I sent some ideas awhile ago about some concepts i found useful in FLEX working(s) with regards to emulating "multi-state" …, BlueDragon, and CFML

For those of you who have been following the aftermath of New Atlanta's keynote at CFUNITED-05, you might want to add Vince Bonfanti's thoughts on matters to your list of materials to read and ponder. Particularly if you weren't at CFUNITED you'll want to get both sides of the story before forming an opinion, and Vince makes the presentation available in his blog entry as well.As most of you are probably aware from my previous blog posts and talking to me about New Atlanta, I'm a huge fan of what they're doing. I think having an extremely valid, proven alternative CFML engine is nothing but a good thing for the CF community. Making CF less proprietary and offering people alternatives is great, and New Atlanta's offerings might leave CF in the picture as a possible technology choice where otherwise it might have been completely eliminated for one reason or another. The fact that New Atlanta is having such success with BlueDragon is one more indica…

The Future of Mach-II

I'm honored to announce that I've been asked by Hal Helms and Ben Edwards to be the release coordinator for the next release of Mach-II. I of course am very involved in the Mach-II community as a user of the framework and follower of the recent discussions concerning the future of Mach-II, so I hope to have specific details about the immediate future of Mach-II coming very soon.Thanks much to Hal and Ben for the vote of confidence. It's a privilege to be able to have a more active hand in the future of Mach-II.
Great news and looking forward to hear about the next release soon. Its wonderful to see a choice of frameworks within the community.
Posted by Arindam Biswas @ 4/17/07 3:04 PM

CFUnited Roundup #2: Miscellaneous Wednesday Sessions

Rather than give blow-by-blow summaries of some of the excellent sessions I've attended thus far, I thought I'd give a brief roundup and I'll dig in deeper on some of these topics after the conference. (I'll say again, if you're a CF developer you NEED to make plans to be here next year!)

Verity for Fast Text Searching: Ray Camden Members of my CFUG will know from my recent presentation and my inability to shut up about it that I'm a huge (and relatively recently converted) fan of Verity, particularly with all the slick new features in CFMX 7, which was an upgrade from Verity 2.6.2 to Verity 5.5. Ray Camden gave a great talk on not only the new features of Verity, but why you would want to use it, even for database content. Verity can go a long, long way towards making your searching better and faster for your users, and can GREATLY simplify your development efforts in the search arena as well. If you deal with searching at all you owe it to yoursel…

CFUnited Roundup #1: Wednesday Keynote

Hello to all from CFUnited! As many other bloggers have done and will do, I'll provide some wrap-ups and summaries for those of you who aren't here (shame on you) as well as more details thoughts and discussions after I get back. That way I'll have time to process the information and provide more than simply a high-level overview, particularly with some of the more thought-provoking sessions that have yet to come.Wednesday Morning KeynoteBen Forta and Tim Buntel from Macromedia shared how well CF is doing (and to paraphrase Ben yet again, anyone who says CF isn't doing well doesn't know what they're talking about) as well as some limited information (limited as in Tim was reading from a script approved by legal :-)) about where CF is going. All CFers will be happy to know that CF 8 is already in the planning stages.The first big news is that there is a CFMX 7 updater called "Merrimack" due shortly (no details on exactly when other than &…

CFMX 7 IM Gateway Tutorial

IM gateway + administrator API = very cool stuff. Check out my IM gateway tutorial on and learn how you can create datasources on your CF server via IM! No foolin'! greetings from CFUnited, by the way. Had dinner at a great vegetarian restaurant that's literally right next to the hotel tonight, tomorrow is the CFUG manager meeting, and then Wednesday the real insanity starts. I'll probably blog lots after I get back.
Matt - Great tutorial! I have played with the IM Gateways in CFMX7, but th eonly idea I came up with was a 'Magic 8-Ball'-like application, and a basic phonebook that I use at home. I type in a name and I get a list of people that match the name.
Posted by Scott Stroz @ 4/17/07 3:04 PM

The Rumors of Mach-II's Death Have Been Greatly Exaggerated

... with apologies to Paul McCartney. Another relevant tidbit that comes to mind is the great scene from Monty Python and the Holy Grail (which also inspired a nice beer called "Holy Grale Porter" by the way) in which the Dead Collector is gathering up dead bodies, one of which has something to say about it. (Scroll down about half way or do a find for "the dead body that claims it isn't").Anyhow, to get back on track here, Doug Hughes has a nice checklist and discussion concerning whether or not Mach-II is actually dead. I'm totally with Doug on this one as you may have gathered from my previous post about this.Furthermore, even as those declaring Mach-II to be dead have pointed out, there's nothing prohibiting someone from picking up Mach-II and running with it; apparently the only prohbition in the Mach-II license is that you can't use the name. If there's a group of folks who see it as unresurrectably dead, then pick up the Mach-II code…

Frameworks: Let's All Take a Deep Breath ...

The recent discussions around ColdFusion frameworks, specifically the Mach-II vs. Model-Glue debate is, in my opinion, getting a bit overly frenetic and verging on just plain silly. Recent posts on CF blogs such as Mach-II is Dead! and Is Mach-II an Ex-Framework? (which is admittedly just a link over to the "Mach-II is Dead!" entry but certainly adds fuel to the fire) have the tone of a bad disaster movie from the 70s. The plane's not crashing into the ocean, the skyscraper isn't burning down, there's no earthquake that's going to make half of the United States fall into the ocean. Take a deep breath, relax, and let's discuss all of this rationally for a moment.Don't get me wrong, I'm a big framework proponent, I like Mach-II, I like Model-Glue, and I think there are great benefits to developing with frameworks. Joe Rinehart, Hal Helms, Ben Edwards, and everyone else who contributes in one way or another to this aspect of the CF community al…

ColdFusion and Java Integration: Use It!

One of the things that I personally have been looking more and more at lately is leveraging existing Java code in ColdFusion. This started with my interest in utilizing Hibernate with ColdFusion (more on that later this summer, I swear!), but then I started being reminded of the huge wealth of Java code that's out there, ripe for the taking, and oh-so-easy to use with ColdFusion.Based on the discussions I read and the projects I see Java integration is the single most underutilized capability of ColdFusion. Yes, as I've said before we have a serious need for more open source projects in ColdFusion (more from me on that later this summer too), but if you need some functionality in CF that isn't there natively and you don't have the time or desire to write it yourself, don't limit your searching to only CF code. There's a huge chance someone's tackled your problem in Java and don't be scared--you absolutely don't need to know Java to leve…