Lightning Introduction to CFML

Last night I did my lightning talk to Northeast UK tech group SuperMondays ( The overall topic for the night was programming languages you might not have heard of.

How could I pass up the chance to pimp my favourite web application language? So I offered to talk about CFML.


Getting values out of MySQL TinyInt(1)

One of my colleagues pestered me just now asking me why his Tinyint(1) on MySQL was being mangled by ColdFusion so that it only ever returned 1 or 0.

You read the documentation on numeric data type is MySQL and you see "BIT is a synonym for TINYINT(1)" or "BOOLEAN is a synonym for TINYINT(1)", so when ColdFusion returns only 1 or 0 for a TINYINT its kind of understandable.


Manually connecting Apache to a ColdFusion instance

I realised the other day when I was talking to a friend that my previous post on manually creating ColdFusion instances was kind of missing the last part of the process.

You've created a ColdFusion instance. You can start it up and you can access the admin. You've even made sure that proxy port is active, but now what? How do I manually hook up my shiny new instance to a web server? So I thought I'd write up this bit as well.

I haven't used IIS in a long time, so I'm not even going to contemplate how you would manually set that web server up with ColdFusion, but I can tell you how to connect Apache.


Manually creating MultiServer instances of Adobe ColdFusion Server

In the past I've blogged about manually deploying ColdFusion instances on Multiserver JRun and Apache. For a while now I've been meaning to write about the process of doing a complete manual creation of a JRun instance and deploying Adobe ColdFusion Server on that instance.

Why? Well. Its something I do all the time and its actually really easy. But why? Well I broke my JRun admin instance about 18 months ago. I couldn't fix it and no one seemed to be able to help me, so I resorted to manually creating and deploying ColdFusion instances on JRun.

Before Christmas, one of my colleagues had the exact same problem I has with JRun admin as I had. She asked me if I knew how to fix it. Having spent time on it and abandoned it I told her to manually create her instances. Inevitably she asked me if I'd written it down anywhere. Of course, I haven't, so now I'm going to.


Blog Round up 3 Feb 2009

Errrmmm... Happy New Year! :D  Sorry for not keeping up with my blog round-ups.

I've been looking at my HUGE back log of blog entries and thinking I should do a round-up and then being too daunted by the task.  So finally last week I decided to go back to the 26th of January and only read those blog entries and round-up from there and then mark everything as read!

Now that have a sensible number of blog entries in Google Reader I'm finally starting to read them again, so here goes nothing!!  ;)


New Blog in Google Reader
Not sure how Terry Ryan wasn't already in my blog list, but it came to my attention when I noticed various tweets about Terry being in his first staff meeting at Adobe as an Evangelist.  Congrats to Terry on his appointment.  I hope his passion to see ColdFusion in Higher Education reaches us here in the UK.

ColdFusion Conference Stuff
Close to home Andy and Kev have been busy promoting Scotch on the Road (if you missed the news, there won't be a Scotch on the Rocks this year!) and asking would you attend SotR in Manchester, announcing the Edinburgh venue and the ticket price!  Its been a busy few days for SotR. ;)

If you want to learn a bit more about a small percentage of what ColdFusion can help you develop from your desk, I noticed that a bit further back than the 26th Kristen Scofield announcing ColdFusion eSeminars. At this point you will have missed most of the live performances, but Kristen provides a link to view the recordings.

On other conference new Andy Allan, Peter Bell and Bob Silverberg announced that they would be speaking at cfObjective and Sean Corfield notes that cfObjective have posted the schedule for their May conference.

HTML, CSS and Design
All of the blogs I read tend to be from ColdFusion developers of all flavours, but every one of us has a variety of tasks that we undertake on a daily basis, so they also post articles on these aspects as well.
Dan Wilson posted an interesting article on compressing your CSS to speed up your website.

Semantic HTML seems to have come up in my work day conversations a few times over the last couple of months, so this article on Semantics in HTML5 on alistapart was of interest to me, as well as Beta New's post on the beta release of semantic search engine Sagoon.  Personally, the jury is out on Sagoon at the moment....  Perhaps I'm just too used to google...

Ray Camden has posting a couple of interesting articles on jQuery and ColdFusion.
Its alway interesting to read articles on how to do things better and alistapart always seems to deliver - Here's a nice article on advanced javascript debugging.

ColdFusion Techie Stuff
On to the ColdFusion posts I found interesting.
Andy Allan posted an article on bypassing the web server configuration tool.  Its something I seem to do all the time, other than to generate the appropriate mod file Apache, but its nice to have a good write up to remind yourself of what to do.

Its stuff I've seen previously in the past, but you never remember and can never seem to find again.  Mark Kruger has been writing up all his problems and resolutions whilst using cfhttp. Here are those posts.

Kevin Roche has written a couple of articles on using onMissingMethod() to generate generate getters/setters for an object based on the cfproperty tag. This is actually something that farcry has been doing for a long long time now, but its always interesting to see how new(ish) CF features are being used to implement fun tricks like this.

There's also been a flurry of blog post on how to install the various ColdFusion engines on a variety of environments.
Sean Corfield has posted an article for Railo/CF/BD on Jrun. Matt Woodward and Dave Shuck have posted articles on using Tomcat as the underlying java server.  These articles should help you to install any of these java application on to most java servers. (I wish I could find the blog post that reminded its readers that ColdFusion is a Java application!)

Application Updates
A few application updates for you :
Mark Mandel has released an update to ColdDoc
Nathan Mische notes briefly that ColdFire is now listed on the Firebug extensions page
Matt Woodward has posted that Open BlueDragon 1.0.1 has been released.

Not exactly a podcast but Brian Rinaldi and Peter Bell have been continuing their CFArguments.  The latest ones being Hibernate or HiberNOT (ColdFusion and ORM) and
Kev McCabe has posted the latest in the CFDoc podcasts from the UKCFUG. Andy Allan talks about conferences and Gert Franz talks about Railo.

A couple of other bits and pieces of worth noting: 
Kevin Roche posted that his colleague Roger Panton has started a London Adobe Business User Group.  Speakers at the first meeting on the 11th will be Claude Englebert from Adobe EMEA, David McLean of PJ Media and Roger himself.

Sargeway has highlighted the online Flash Media Server user group. Given some of the work I've been involved in recently I've just joined myself and now I need to have a read through the various discussions.

A blast from the past dropped into my email from Joost the other - the cartoon TrapDoor. There are 10 episodes on Joost for you to watch.  It really is as good as I remember it being!  

Blog Round up 5 Nov 2008 - The Software release edition

The marathon blog round-up! 390 blog entries to have a read through!
A lesson in never leave a job you should be doing today/tonight until tomorrow!

I'm never going to be able to go through all those posts in one sitting so I'm going to start with the batch of software releases that have been going on the last few weeks.

So lets dive in!

Matt Woodward notes that Open Office 3.0, which I mentioned previously in my round posts, has been released.

Nathan Mische has updated ColdFire on RIAForge fixing a few bugs and an extension for a problem with json. I'd love to know how he comes up with his version numbers. :)

Ray Camden released version 1.5 of SpoolMail with a couple of feature enhancements. If you don't know what SpoolMail is - its handy for when you're developing email feature in application and need to see what is going into the mail queue without them actually have to be sent to real people.

Ted Patrick announced the release of Flash Player 10 and gives a quick overview of the new features. Matt Woodward notes that the Linux edition of FP10 was actually released at the same time, which is a rare event!

Transfer 1.1 Final was release by Mark Mandel.  If you're stuck with a pre v1 copy of Transfer you really must get updated to the 1.1 version.  The performance enhancements are superb, along with the addition of new features such as cache monitoring and object proxies and the stack of bug fixes makes this release a must. If you're on the transfer list you may have noticed me making a bit of a tit of myself, but finally something has clicked and I've spent the last few days having the most fun doing development than I have in a while. Don't get me wrong.  I enjoy writing CFML, but its always nice to do something that is different to your usual routine and makes you feel all warm inside. ;oD   I should probably note here that Mark Mandel has done a CFConversation with Brian Meloche.

Are you an open source developer?  Do you work with databases?  Then you might be interested in Aqua Data Studio 7.  Todd Sharp notes that they offer free licences to open source developers.

The chaps at Broadchoice have been busy releasing and updating their very cool looking AIR application "Workspace".  I really should sign up for a beta account.  I wonder if it comes with free "more hours in the day". ;)

Ray Camden must be making use of those "more hours in the day", because in his relentless application development he's released an update to Lighthouse Pro along with everything else he working on.

Adobe have released a hotfix for ColdFusion 7 and 8 that adds multipart support to cfhttp to support changes with the Google and YouTube APIs.

Well I think thats about all the software releases I can find.  My blog entry count is down to 318 and my head is swimming.  Time to get some sleep.  Please let my son sleep the night through so I get more than 4 hours sleep!

Tomorrow night - "Blog Round up 5 Nov 2008 - In other news". ;)

Blog Roundup #4

Hmmm 250 blog entries in google reader!  Whoops!  Time I caught up with my reading and posted a round up!

So here goes!

ColdSpring 1.2 released along with a shiny new website

Web Inventor launches new World Web Foundation
Sir Tim Berners-Lee's initiative to bring the web to the 80% of the worlds populous who don't have access to it.

Peter Bell - Introducing "the CFArgument" with Brian Rinaldi
Their first cfargument is "The iterating Business Object".  Something I've been meaning to find out more about of late, but never had an opportunity.  This CFArgument helped me understand IBOs better.

Peter and Brian's second cfarguments is : DAOs are a waste of Time

CFEclipse Dictionary Generator released.
Daemonite, the developers of Farcry CMS, have released a dictionary generator that will parse a directory of components and tags and then create an XML file that you can use with CFEclipse projects. Looks to be very handy and shortly I'll be running it against some of the internal libraries here at work.

While on the topic of CFEclipse dictionaries - Andrew Mercer has been tinkering with the CF8 dictionary - fixing a few problems that have been around for a while.

ColdFire Update Released
If you're already running Firebug in Firefox - coldfire is a hand add on for debuggerising your ColdFusion applications.

ColdFusion Evangalism Kit
Ever find yourself need to sell ColdFusion to a client or even to your boss and colleagues?  Then you'll probably find the Evangalism Kit that Kristen Schofield has posted handy.  Containing C-Level Exec quote, Key stats, Recent awards, product roadmaps, measured results of CF Usage and much, it should give you more than enough measured ammo to support ColdFusion and counter the "its a dying language" and "can't scale" 'arguments' against it.

Ben Forta notes that AIR 1.1 is now available for Linux

Mark Drew, having taken over the Reactor Project from Doug Hughs comments on the Future of Reactor.

Jeff Chastain (Alagad) - What is a DSL?
What is a Domain Specific Language!?!  Another one of those questions that I've been asking myself answered.

Adobe announced CS4 back on the 23rd of September with a release date some time at the end of October.

Terrance Ryan - Squidhead Still Swimming
Terry announced that Squidhead is getting some additional assistance in the shape of Nathan Mische and Dave Konopka.  If you don't know what Squidhead does, its basically a DAO and scaffold generator for MS SQL Server databases.  Not something that I have a great deal of use for as we use MySQL, but all the same a neat project and pleased to see it get some more resource.

On the 25th, Andy Allan and Kev McCabe hosted A Wee Dram down in London. Here are some of the write ups from this one day conference.



Well there are a stack more blog posts to go through from this week, but I'll save them for the end of the week...

Oh yeah... I bought Star Wars The Force Unleashed for the Wii at the weekend!  Its lots and lots of fun :D  

ColdFusion 8 - Nine month review.

I've been a bad boy.  I was supposed to write a review of ColdFusion 8 back in October of last year, but an imminent change of job and my 10 month old boy (now sixteen months) conspired to eat up all my time to play with CF8, let alone write a review.  When ever I did try to write a review I always ended up with writers block.  All the blog entries, by developers far more knowledgeable and respected than I, seemed to already talk about all the great new features in this latest, and greatest, version of ColdFusion.

So, what am I supposed to write about?  I started asking around. Asking people on my IM list, friends and colleagues, what I could write about.  It was this process that made me realise that I should write a kind of "nine months on" round up of what people's thought were now that they've had a chance to actually use the new server, rather than just "play" with it.

I've asked a few people who's names you might recognise to spend just a few minutes to write a paragraph of their thoughts and what their top three most used new tags or features are. 

Everyone I've spoken to says, that ColdFusion 8 is probably the most significant upgrade for ColdFusion yet.  If you don't upgrade for anything else, then you must upgrade for the performance increase you will get for your cfcs and your application in general.  One thing that has to be noted, ColdFusion 8 ships with Java 1.6 as its underlying JRE. Java 1.6 has a bug in the class loader that causes a fairly substantial performance hit when first loading your application.  Recommendations that I've seen from all quarters and experienced myself recently is, downgrading to Java 1.5 will increase load time performance without detrimental overall performance. 

The JavaScript and image enhancements are also top of a lot of people's lists.  Many of us are jack of all trades, writing applications in ColdFusion one moment, JavaScript the next and then onto Actionscript. Operators in CF have always been just fractionally different to these other languages or missing common syntax, like i++ for increment.  The enhancements to operators in CF8 make the transition between languages that little bit easier. AJAX is the technology de jour (sorry I'm a bit of a ludite and cynic when it comes to AJAX).  The addition of the AJAX functionality, using the very excellent ExtJS library (ok so I can still appreciate the work being done even if I am a cynic), is appreciated by many and makes an excellent addition to cfforms. 

Two other major additions to CF 8 that have had everyone buzzing are debugging and server monitoring.

Many of the long serving developers who remember the debug tools in cfstudio and the newer converts from other languages have been asking for IDE based debugging have now got their wish in the form of a plug-in for eclipse. It's not just this group of developers that are benefiting. Many others are wondering how they ever managed without it! 

Server monitoring is a great new addition to ColdFusion server and compliment to the likes of FusionReactor and SeeFusion. The CF8 server monitor isn't just the realm of the server admin any more. It gives the developer the abililty to see what is going on under the hood of your application.  As well as providing some pretty sophisticated reporting on requests, variable scopes, memory usage and errors, to name a few, there's also an email alert system, the ability to make snapshots of the server and an api to allow you to build custom responses to various system states.

Because I've procrastinated so long over writing even this review (sorry everyone - I'm not the most confident writer, so it takes me a while to be happy with what I've written) updater 1 for CF8 has been released.  Updater 1 provides up dates to the FCKEditor, ExtJS libraries, improved AJAX, CFPDF and CFImage functionality, oh yeah and full 64 bit support on all OSs.

Again, apologies to everyone involved for how shockingly long its taken me to write this.  And now I shall hand over to my friends and colleagues to give you their thoughts on CF8.

Oh - and if you want to find out more about CF8, CFML, Flex, AIR, AJAX do I really have to tell you to get yourselves to Scotch on the Rocks at the beginning of June??  ;)

The contributed comments:

Jeff Coughlin -

Overall I think its an important upgrade, but unless you need 64bit or new features in CF8, I personally haven't seen the "need" to upgrade.

I've been liking the new speed enhancements, image manipulation, and Ajax features.

The fact that my JavaScript skills are poor at best and I can now build feature-rich UI experience using CF's new built-in Ajax features is mind-blowing.

top 3 most used tags/new features?

  1. cfimage
  2. cfajax (feature, not the tag)
  3. cfeclipse debugger plugin

Niklas Richardson -

Basically, we're using CF8 as our server layer for Flex applications.

So we're using all the features that CF8 gives us for Flex integration.

We are also using CF8 to generate documents for our Flex applications (PDFs, etc...) and sending out e-mails with attachments, etc...

Probably all I can say is the most used features are CFCs ;-)

  1. Flash remoting
  2. LCDS in CF8
  3. And that it's faster

Neil Middleton - FeedSquirrel

Here's the headlines:

- Performance, particularly CFC instantiation and cfthread

- Eclipse add-ons, debugger, CFC generator etc

- JSON returntype - opens up CF to a whole load of AJAX (but interestingly I don't have much time for the built in AJAX - I'm a jQuery guy)

Andy Allan - Fuzzy Orange - Scotch on the Rocks

PDF Forms

This has been a huge feature as it allows us to easily automate the processing of order forms and purchase orders, and the creation of invoices. Throw in the server side printing and it's job done in one easy step.

Presentations on Demand

Initially this feature was a curious one to us. We never saw the potential. All that changed when a client needed the ability to have dynamic content displayed on their in house company plasma screens that keep staff up to date with what is going on. Using <cfpresentation> we simply took the client driven content, put it together as a Connect presentation and slam, they had their dynamic, up to date company news on display, and fully under their control.

Server Monitoring

Fuzzy Orange do a lot of server consultancy and troubleshooting, and the Server Monitor has proved to be another invaluable tool for our resources. ColdFusion administrators and developers have been screaming for something like this built into the product since the release of MX 6.0 and now they finally have it.

Ray Camden - ColdFusion Jedi

While I'm still very impressed by image and Ajax support, I find myself being very happy with the real small changes. For example, being able to

loop over an array using array= in a loop, or adding to a string using &=. It's the small language constructs I think that I'm really grooving too right now. Not to say I think those are the most important features - but I'm noticing that I'm real happy to have them in my toolbox so to speak.

Another one is onMissingMethod, which has made my beans much slimmer.

Also - I know I blogged quite a bit about my problems with CFFEED, but I do find myself using it quite a bit, and when it works

well, it sure is a nice feature to have.

Andy Jarrett - Andy Jarrett

ColdFusion 8 and what it means to me as a developer

ColdFusion 8 has changed quite a few of my apps since its been released and for several reasons. New tags and functions always change your next project but with CF8 came some great performance enhancement which made delivering applications even faster. Below 3 of the most used new functions in CF8 that I find hard to live without when going back to CF7.  It's not say these are the best new features, but they are the ones that have helped me out in my day-to-day developing the most:

1. Argument collections

CF8 makes working with tags that have multiple attributes with different variations like CFFile so easy to work with. It allows you to specify the tags attributes in a single structure and pass them them to the tag.


This really made working with PDF's so simple. This tag allows you to interact dynamically with PDF's, PDF forms, merge, generate files on the fly.

3. Array and structure creation improvements

Probably one of the least exciting changes (along with JavaScript operators in expression) to be added but I find it makes code neater and easier to go back over.

Noteworthy mention goes out to all Ajax and Layout tags/functions that were introduced.

Peter Bell - Application Generation

By far my favorite feature in CF8 is OnMissingMethod(). It allows me to make my APIs much more readable while still being able to synthesize most of my code.

I think the AJAX feature (including cfajaxproxy) are a great way to improve the usability and responsiveness of your applications without having to learn too much about AJAX and I love the cfimage features for manipulating images easily.

I use a lot of CFC's and have also noticed a nice performance boost working with CF8 and overall have found it to be a painless and valuable upgrade.

Scott Stroz - Boyzoid Alagad Inc.

When ColdFusion 8 was released and Adobe started its world tour touting all the new features, it was sometimes difficult to keep track of all the new functionality and how we, as developers, could leverage that functionality.  In my mind, I thought there were a few new features I would use often (step debugging, AJAX integration and CFImage), and others that I thought were cool, but really had no current need for (CFPresentation, CFExchange).  About 6 months later, I use step debugging just about every day and to be honest, I am not sure how I survived so long without it. Just about every new application I create, I am using some of the AJAX integration and I find myself using cfimage even more than I imagined I would have.  I think these 3 things are, by far, the most useful additions to ColdFusion we have had in quite sometime.

Toby Tremayne -

Interfaces is right up there.

I haven't done as much as I'd like but very useful for really big projects with distributed development

I also make major use of the fact that enterprise features are now all in standard - often I only want to use something like that reasonably lightly anyway so the threading limitation isn't a problem

I was excited about the app specific mappings till I realized that they're no good for me :) They happen at run time, but cfc mappings and extends for example are compile time. (Ed's note: application specific mappings also don't work with cfimport because of the runtime/compile time issues with

Happy to see the debugger in there, although haven't had much chance to use it - I think the thing I probably use most is the improved operators in cfscript that and cfthread.  I write a lot of actionscript these days so it's nice to have a bit more similarity with the operators :) ooh ooh and JSON! yay for JSON!

Adobe Developer Week: The recordings

Adobe Developer Week 2008 was a few weeks ago now and I realised the other day that I hadn't written a quick post to point you to the recordings from the Connect sessions.

I was talking to Barry Beatie down in Australia at the time.  He kindly pointed me to this Adobe Australia and New Zealand site :

Its a really nice site where you can find all the recordings, but I thought I should find the UK/USA equivalent.  Thank to Ed Sullivan for pointing me to this page. Not nearly so attractive, but is the main Adobe Online Event page and also provides some additional online events recordings. You'll need to scroll down to the "Flex Architecture" presentation for the Developer Week Presentations. The Developer Week presentations all have the following description:

Adobe provides end-to-end web development tool suites and solutions. Join us to see what the buzz is all about in this one week long event with 20 sessions covering AIR, Flex, Flash, Mobile, ColdFusion and Dreamweaver technologies. Click here to listen.


Adobe Developer Week 2008

Between 24th and 28th of March Adobe are running a series of online seminars via the power of Adobe Connect. 

You need to register for the seminars, but if they are full already there will be recordings available later.

For more information take a look at the information below.

Adobe provides end-to-end web development tool suites and solutions.
Join us to see what the buzz is all about in this one week long event
with 20 sessions covering AIR, Flex, Flash, Mobile, ColdFusion and
Dreamweaver technologies.

More Entries