The Week in ColdFusion, 2-8 July: Object-oriented CFML for fun and profit
In the last few weeks, the number of code-related blog posts in the ‘ole CFBlogosphere has skyrocketed – which is just the way I like it. This week I found lots of good material on writing object oriented code.
This bumper roundup will be the last that I’ll be posting this month – I’m off to Europe for a three week holiday in Poland, Slovenia, Italy and Germany. It’s my first time away in nearly 7 years – but of course, I’ll be thinking of you all… and many thanks to Mike Henke for sending me something to read on the plane!
Code – objects ahoy
Ben Nadel continues his adventure into learning object oriented programming with More Thoughts On MVC, OOP, And Form Submissions In ColdFusion and then OOPhoto Prototype – Understanding The Interface Before Defining The Domain Model. If you’re interested in OO, you will probably want to look into an ORM or object relational mapper framework to take some of the tedium out of creating objects. Bob Silverberg has written a series of posts on how he uses Transfer ORM. There’s now six parts, and they make an excellent read (hat tip to Sean Corfield):
- How I Use Transfer – Part I – Introduction
- How I Use Transfer – Part II – Model Architecture
- How I Use Transfer – Part III – Abstract Objects
- How I Use Transfer – Part IV – My Abstract Service Object
- How I Use Transfer – Part V – A Concrete Service Object
- How I Use Transfer – Part V.1 – A Comment and Response
If you’re writing OO code already or are using a CFC-heavy framework, you may have been affected by the ColdFusion 8/Java 6 “classLoader” bug, which can affect startup times. Brian Ghidinelli did some experiments on a model-glue application and suggests that the bug is less prevalent on “cold” restarts (restart of CF completely) versus “warm” application reinitialization. Useful information for anyone having issues with this bug!
But wait, there’s more… a TON more:
- The cfSearching blog includes a handy code snippet for generating sample images of all the fonts available in your JVM – meaning fonts that are available for use in CFDOCUMENT, CFREPORT and in image generation functions. Good to know!
- Interested in Lucene, the open source Java search engine? Sami Hoda has written two posts on using the Seeker wrapper for Lucene – ColdFusion & Lucene: Installing Seeker, which slipped under the radar last week, and now ColdFusion & Lucene: Running the Demos. Lucene is an Apache project and makes a good alternative to Verity for powering CFML site search
- Doug Boude (rhymes with loud, ok?) explores basic security in Fusebox 5.5 – the flavor without XML controllers. As is often true of blogs posts, there are a couple of interesting comments on the post.
- Raymond Camden’s “Ask a Jedi” series this week includes answers to questions about sorting a multi-dimensional array, datefields and masks, and ColdFusion.Ajax.SubmitForm
- Nic Tunney and Mike Henke both posted lists last week of “under-utilized” features – this week Simon Horwith adds an extra two underutilised CFML functions: setVariable and structAppend
- Steve Bryant has posted an introduction to writing unit tests with CFUnit
- Kai Koenig often writes and presents about internationalization issues – this week he explains away the mystery behind some characters specific to the German language
- Michael Sharman reminds us Don’t forget the ColdFusion site-wide error handler
- Sami Hoda posts information on new tools for session scope lovers – I didn’t realize people were so passionate about scopes!
- Sean Corfield explains StructCopy
A heads-up from Kristin Schofield, Adobe ColdFusion product manager about the online eSeminars that Adobe run each week. As well as those run from the US office, Adobe also run eSeminars from the Asia Pacific office, which anyone can attend.
Raymond Camden has had a lot to say – and mostly not positive things – about the Adobe ColdFusion certification process in recent weeks. This week he has posted what he says is his last post on the topic: My last post on Adobe Certification. Andy Allan has also posted his views as an Adobe certified instructor.
CFConversations, the new podcast put together by Brian Meloche, has now hit episode 6, an interview with Michael Smith of Teratech.
And for something totally bad-ass: Critter Gewlas has gotten an old-school ColdFusion logo tattoo – now that’s commitment!
Alternative CFML engines
From Matt Woodward over at the Open BlueDragon camp comes a screencast on how to integrate BlazeDS into OpenBD to allow Flex remoting.
The licensing of open source projects is a huge topic, and one that has only recently become relevant to much of the CFML community. Sean Corfield points to two helpful summaries of open source licenses, one written by Pete Freitag some time ago and another more recent (and more in-depth) article by Grant Skinner. There’s been a bit of discussion about new licensing for the ExtJS libraries that are included in ColdFusion 8. Sami Hoda has posted about the issue – and there are some excellent explanations in the comments.
However, not everyone is jumping to open source alternatives: David Tucker has written an article for O’Reilly’s Inside RIA about why, after evaluating all the options available to him, he chose to purchase a license of Adobe ColdFusion (hat tip to Ben Forta). He makes some good points!
Finally, if news of my upcoming trip makes you envious, how about a ColdFusion cruise? RIA Adventure is billed as networking event – a cruise through the Bahamas with like-minded ColdFusion, Flex and RIA developers, but without speakers or sessions. Organised for February 2009 by Joshua Cyr, this cruise looks like a ton of geeky fun – and Jim Priest has even written a theme song.
That’s all for now, folks… keep coding and I’ll talk to you all in August.