ColdFusion on Rails is almost here
Thursday, September 17th, 2009We released ColdFusion on Wheels 0.9.4 on Tuesday. This project has been a dream come true. Although we’re still in beta, there is quite a bit of momentum, and I imagine that people will take a closer look at it after we go 1.0.
As Per mentioned on his new blog, I announced that Wheels 1.0 will be released within a couple months. I’d argue that the actual framework itself is 98% done. We’ll find some bugs I’m sure, especially with the unit testing that Tony has been doing. But it’s mostly there. It’s truly amazing.
The future
That said, we have a long road ahead. The vision is to mimic the beauty of Ruby on Rails but also to work within the constraints of CFML. We aim to be pragmatic about what you can realistically do with CFML. Many people seem to ignore this, and I will always list that as an advantage of what Wheels does.
I won’t ignore the fact that we’re missing some key features (but are working on it): built-in unit testing, migrations, possibly even scaffolding. There’s opportunity to have a full-stack version bundled with Railo, a JEE application Server, and web server. But boy, the base that Per and company have built is rock solid and intuitive. It’s right where we’ve all wanted it to be, and the important stuff is there.
With all of that, we want to be a framework with a vision and ideals. I know that code will never be 100% beautiful, but it’s fun to never stop trying. And I personally want to be a part of the energy behind what’s going on in the CFML community.


September 18th, 2009 at 8:25 am
For unit testing, Mike Rankin built a generator for MXUnit. It’ll recurse a directory and generate test cases based on xslt. Checkout mxunit/generator/index.cfm.
September 18th, 2009 at 1:19 pm
That generator looks pretty sweet, Mike. As we talked about briefly in the Wheels Google Group, Tony has been going strong with RocketUnit.
I wonder if there is a generator available for RocketUnit or if one could be written based on RocketUnit’s.
September 22nd, 2009 at 4:26 pm
@mike, i actually looked at MXUnit, CFCUnit, RocketUnit or rolling our own when i initially looked at adding unit testing into wheels. in the end RocketUnit was dead simple and was extremely easy to customize (thanks robin!) to fit snuggly into the wheels framework. i wanted something that people could literally (like they do now) click a link and have their entire test suite run. i also didn’t want them to have to learn an entire other framework in order to write tests.
RocketUnit is made up of one component, an assert, a setup and a teardown method, that’s it. I later added the halt, raise, _setup and _teardown myself to the core component to help with some of the tests i needed to write for wheels. it’s worth mentioning that with the 0.9.4 additions of the global and loc scopes in tests the _setup, _teardown, setup, teardown methods are pretty much obsolete.
one of the biggest challenges with unit testing and probably the thing that has kept us from pushing it is that it was too confusing to write tests. i think the style that we have now is pretty easy to follow.
i would really appreciate anyone who can take a look at the testing framework portion of the wheels documentation and give me some criticism. tell me what i’m missing, what doesn’t make sense, give me your worst. As we move into 1.0 territory, this documentation will not only help the general wheels developer but also the core team in writing tests against the core portions of the framework.
September 22nd, 2009 at 8:49 pm
[...] 22, 2009 It’s been the buzz around our community lately that Wheels 1.0 will hopefully be hitting the streets in November 2009. [...]