An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Entries Tagged as coldfusion

FW/1 2.5 Release Candidate 1

January 31, 2014 · No Comments

You can download it from the FW/1 Releases page.

This has some minor functionality additions to clean up some RC (request context) access that was identified by a user. Given the compatibility changes being setup by Release 2.5, this was a good opportunity to deprecate direct access to variables.rc inside the framework (possibly inside buildURL(), setupView(), and setupResponse()).

Check the release notes for a link to the closed issues in this release.

The documentation wiki has been updated to match the latest functionality. The UserManager example has been updated to "best practice" for 2.5. The other examples will be updated before 2.5 goes "gold".

No CommentsTags: coldfusion · fw1

Into The Box - spread the love!

January 25, 2014 · No Comments

Want to support Into The Box? You can get your Into The Box badges to add to your blog or email!

It's not just about ColdBox...

No CommentsTags: bdd · cfobjective · coldbox · coldfusion

CFUI Tags - Just Say No!

January 25, 2014 · 3 Comments

Don't be a "bloody wanker", just don't use those CFUI tags!

[Read more →]

3 CommentsTags: cfunited07 · coldfusion · javascript · jquery

Into The Box

January 15, 2014 · No Comments

The Into The Box conference web site is up and running now: May 13th, 2014, the day before cf.Objective().

Into The Box brings together ten speakers, in two tracks, covering all aspects of the ColdBox-family of products for just $199. If you're using any of those frameworks - or you're just curious about them, this is going to be a great opportunity to really get to know them in depth!

Back in 2009, I gave a talk at cf.Objective() about Behavior-Driven Development - a way to describe the expected behavior of software as executable tests. It's an approach I've always believed in but we've lacked the tools in the CFML world until recently: TestBox provides traditional "xUnit" testing, MXUnit compatibility, and Behavior-Driven Development testing.

No CommentsTags: bdd · cfobjective · coldbox · coldfusion · tdd

FW/1 2.5 Release Candidate 0

January 11, 2014 · 2 Comments

You can download it from the FW/1 Releases page on Github.

I want to get this out there for folks to experiment with since it contains a fundamental change (regarding services).

FW/1 2.5 is a "release candidate" insofar as it is feature complete, but it is not yet documented, and the changes to the examples are not yet complete.

#151 Tracing changes:

[Read more →]

2 CommentsTags: coldbox · coldfusion · fw1

cf.Objective() 2014 - now you can spread the love!

January 07, 2014 · No Comments

Promotional badges:

If you're a ColdBox fan, don't forget Into The Box the day before cf.Objective()!

No CommentsTags: cfobjective · coldbox · coldfusion

TestBox - replacing MXUnit and providing BDD

December 23, 2013 · 4 Comments

If you've seen my tweets over the last couple of days, you'll know that I've been taking a look at TestBox, the new testing framework from the ColdBox team.

You might be thinking "Do we really need a new testing framework?" and it's a reasonable question. CFML has had a number of testing frameworks over the years but mostly we've seen each one come and go as maintainers have moved onto other things: cfUnit, then cfcUnit, then a brief resurrection of cfUnit, then MXUnit. Does anyone remember cfSpec? I liked that a lot - I like the Behavior-Driven Development style of writing tests. That's why, at World Singles, we use the Expectations library for almost all of our Clojure-based tests.

So why the interest in TestBox? My initial interest was spurred by the inclusion of the BDD style of tests which I find both more natural to read and a better fit for expressing requirements for software that is yet to be written. Then I read that TestBox has MXUnit compatibility which intrigued me - we have been using MXUnit for several years at World Singles and I don't relish having to rewrite all those tests. If TestBox could allow us to run our existing "xUnit" tests as-is while we write new tests in the BDD style, I'd be very happy.

Adam Cameron has been blogging about Test-Driven Development recently and has also picked up on TestBox. He just blogged about trying TestBox on his extensive MXUnit test suite and you can see he ran into a number of issues, all of which he has reported, and which I expect we'll see fixes for. My experience was more fruitful than his - as I mentioned in my comment on his blog post: just two small changes got the whole of our suite running flawlessly!

My next challenge was integrating TestBox into our automated build / test script, which uses Ant. TestBox provides a runner-template that shows how to do basic Ant integration. I followed that recipe but discovered there was no way for Ant to see that any tests failed and so I couldn't "fail the build" if TestBox found errors or failures. After studying the source code briefly, I realized I could extend the TestBox CFC and provide a way for the runner CFM template to access the details of the TestResult object, and write a property file that Ant could read and fail if a certain property was set. Time to fork the ColdBox Platform Github repo and send a Pull Request to add build failing functionality which Luis merged in within a few hours! Nice!

With that in place, I was able to delete MXUnit from the World Singles repo and rely entirely on TestBox for all our testing needs!

Whether you prefer the "xUnit" style of tests, with assertions, or the "BDD" style with expectations, TestBox can support you, and even if you have a lot invested in MXUnit, migration to TestBox should be straightforward (especially once they address the issues Adam has raised). I think we can be sure of ongoing support and maintenance - based on the well-established track record of the ColdBox Team. I think TestBox is a safe bet. Now you just need to start actually doing some automated testing :)

4 CommentsTags: bdd · coldbox · coldfusion · tdd · worldsingles

FW/1 2.2 Released!

December 18, 2013 · 2 Comments

Framework One version 2.2 is now available for production use! You can download it from the Framework One page on RIAForge. This includes one bug fix over RC2 (interaction between renderData() and trace output).

The main focus of the 2.2 release is improved support for REST APIs, through the addition of renderData() to simplify returning JSON, XML and plain text results to the caller, as well as more sophisticated route handling via "resource packs" which let you define a family of related routes for a given resource type, using a shorthand notation. For more information, see this blog post about the latest FW/1 release and the roadmap.

As noted previously, the master branch is the current stable release (2.2), and the develop branch has become the next release (2.5). 2.5 will be released next month and will be a stepping stone toward some substantial changes coming in 3.0. For more detail, read this blog post explaining the changes coming in 2.5 and 3.0.

2 CommentsTags: coldfusion · fw1

FW/1 2.2 Release Candidate 2

December 02, 2013 · No Comments

Framework One version 2.2 release candidate 2 is now available for testing (download from the Framework One page on RIAForge). This includes a couple of bug fixes, compared to release candidate 1. See the FW/1 2.2 RC2 release notes on Github for more details. Unless any showstopping bugs are found this week, the final 2.2 release will be made early next week, merged to master, and then develop will become the 2.5 branch.

See FW/1 Releases and Roadmap and FW/1 - The Year Ahead for more information about the upcoming 2.2, 2.5 and 3.0 releases, as well as plans for DI/1.

No CommentsTags: coldfusion · di1 · fw1

FW/1: The Year Ahead

November 02, 2013 · 15 Comments

With FW/1 Version 2.2 just around the corner - after a long time in incubation - and FW/1 itself being almost four and a half years old, it's a good time to look ahead at what's in store.

[Read more →]

15 CommentsTags: coldfusion · di1 · fw1